linux/net/qrtr
Necip Fazil Yildiran 8a794b35f6 net: qrtr: fix usage of idr in port assignment to socket
[ Upstream commit 8dfddfb796 ]

Passing large uint32 sockaddr_qrtr.port numbers for port allocation
triggers a warning within idr_alloc() since the port number is cast
to int, and thus interpreted as a negative number. This leads to
the rejection of such valid port numbers in qrtr_port_assign() as
idr_alloc() fails.

To avoid the problem, switch to idr_alloc_u32() instead.

Fixes: bdabad3e36 ("net: Add Qualcomm IPC router")
Reported-by: syzbot+f31428628ef672716ea8@syzkaller.appspotmail.com
Signed-off-by: Necip Fazil Yildiran <necip@google.com>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-09-03 11:24:17 +02:00
..
Kconfig net: qrtr: Expose tunneling endpoint to user space 2018-04-27 15:06:10 -04:00
Makefile net: qrtr: Expose tunneling endpoint to user space 2018-04-27 15:06:10 -04:00
qrtr.c net: qrtr: fix usage of idr in port assignment to socket 2020-09-03 11:24:17 +02:00
qrtr.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
smd.c qrtr: add MODULE_ALIAS macro to smd 2018-02-26 15:07:04 -05:00
tun.c net: qrtr: fix memort leak in qrtr_tun_write_iter 2019-12-13 08:52:58 +01:00