From d5a27889edfa4f572eba8722d04885dce1706c47 Mon Sep 17 00:00:00 2001
From: Alessandro Rubini <rubini@gnudd.com>
Date: Fri, 18 Jan 2013 23:26:39 +0100
Subject: [PATCH] buf-vmalloc: refuse zero-sized channels

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
Acked-by: Federico Vaga <federico.vaga@gmail.com>
---
 buffers/zio-buf-vmalloc.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/buffers/zio-buf-vmalloc.c b/buffers/zio-buf-vmalloc.c
index 2ef27ed..b55c566 100644
--- a/buffers/zio-buf-vmalloc.c
+++ b/buffers/zio-buf-vmalloc.c
@@ -283,6 +283,10 @@ static struct zio_bi *zbk_create(struct zio_buffer_type *zbuf,
 
 	pr_debug("%s:%d\n", __func__, __LINE__);
 
+	/* zero-sized blocks can't use this buffer type */
+	if (chan->cset->ssize == 0)
+		return ERR_PTR(-EINVAL);
+
 	size = 1024 * zbuf->zattr_set.std_zattr[ZIO_ATTR_ZBUF_MAXKB].value;
 
 	zbki = kzalloc(sizeof(*zbki), GFP_KERNEL);
-- 
GitLab