[PATCH] watch_queue: Fix wrong return value of watch_queue_set_size()

From: Zhang Xiaoxu
Date: Thu Nov 12 2020 - 09:01:22 EST


If memory allocate failed, we should return -ENOMEM rather than 0.

Fixes: c73be61cede5 ("pipe: Add general notification queue support")
Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5@xxxxxxxxxx>
---
kernel/watch_queue.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/kernel/watch_queue.c b/kernel/watch_queue.c
index 0ef8f65bd2d7..3084060a52d2 100644
--- a/kernel/watch_queue.c
+++ b/kernel/watch_queue.c
@@ -247,6 +247,7 @@ long watch_queue_set_size(struct pipe_inode_info *pipe, unsigned int nr_notes)
if (ret < 0)
goto error;

+ ret = -ENOMEM;
pages = kcalloc(sizeof(struct page *), nr_pages, GFP_KERNEL);
if (!pages)
goto error;
--
2.25.4