kfifo: fix kfifo_to_user() return type
[ Upstream commit045ed31e23] 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:144ecf310e("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>
This commit is contained in:
parent
9715809b9e
commit
483ad8a16f
1 changed files with 1 additions and 1 deletions
|
|
@ -688,7 +688,7 @@ __kfifo_uint_must_check_helper( \
|
||||||
* writer, you don't need extra locking to use these macro.
|
* writer, you don't need extra locking to use these macro.
|
||||||
*/
|
*/
|
||||||
#define kfifo_to_user(fifo, to, len, copied) \
|
#define kfifo_to_user(fifo, to, len, copied) \
|
||||||
__kfifo_uint_must_check_helper( \
|
__kfifo_int_must_check_helper( \
|
||||||
({ \
|
({ \
|
||||||
typeof((fifo) + 1) __tmp = (fifo); \
|
typeof((fifo) + 1) __tmp = (fifo); \
|
||||||
void __user *__to = (to); \
|
void __user *__to = (to); \
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue