]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
kfifo: fix kfifo_to_user() return type
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 24 Jun 2022 05:30:04 +0000 (08:30 +0300)
committerStefan Bader <stefan.bader@canonical.com>
Mon, 17 Oct 2022 09:56:55 +0000 (11:56 +0200)
BugLink: https://bugs.launchpad.net/bugs/1990162
[ Upstream commit 045ed31e23aea840648c290dbde04797064960db ]

The kfifo_to_user() macro is supposed to return zero for success or
negative error codes.  Unfortunately, there is a signedness bug so it
returns unsigned int.  This only affects callers which try to save the
result in ssize_t and as far as I can see the only place which does that
is line6_hwdep_read().

TL;DR: s/_uint/_int/.

Link: https://lkml.kernel.org/r/YrVL3OJVLlNhIMFs@kili
Fixes: 144ecf310eb5 ("kfifo: fix kfifo_alloc() to return a signed int value")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Stefani Seibold <stefani@seibold.net>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
include/linux/kfifo.h

index 86249476b57f43fff677ec05dfd5dd5b9463faa0..0b35a41440ff13751277c3356b743eadb341d007 100644 (file)
@@ -688,7 +688,7 @@ __kfifo_uint_must_check_helper( \
  * writer, you don't need extra locking to use these macro.
  */
 #define        kfifo_to_user(fifo, to, len, copied) \
-__kfifo_uint_must_check_helper( \
+__kfifo_int_must_check_helper( \
 ({ \
        typeof((fifo) + 1) __tmp = (fifo); \
        void __user *__to = (to); \