linux-stable/net/qrtr
Chris Lew cafccde429 net: qrtr: ns: Fix module refcnt
[ Upstream commit fd76e5ccc4 ]

The qrtr protocol core logic and the qrtr nameservice are combined into
a single module. Neither the core logic or nameservice provide much
functionality by themselves; combining the two into a single module also
prevents any possible issues that may stem from client modules loading
inbetween qrtr and the ns.

Creating a socket takes two references to the module that owns the
socket protocol. Since the ns needs to create the control socket, this
creates a scenario where there are always two references to the qrtr
module. This prevents the execution of 'rmmod' for qrtr.

To resolve this, forcefully put the module refcount for the socket
opened by the nameservice.

Fixes: a365023a76 ("net: qrtr: combine nameservice into main module")
Reported-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Tested-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-16 13:32:15 +02:00
..
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile net: qrtr: combine nameservice into main module 2023-04-20 12:10:21 +02:00
af_qrtr.c net: qrtr: fix null-ptr-deref in qrtr_ns_remove 2024-06-16 13:32:15 +02:00
mhi.c net: qrtr: Avoid potential use after free in MHI send 2021-05-07 11:04:31 +02:00
ns.c net: qrtr: ns: Fix module refcnt 2024-06-16 13:32:15 +02:00
qrtr.h net: qrtr: fix null-ptr-deref in qrtr_ns_remove 2024-06-16 13:32:15 +02:00
smd.c
tun.c net: qrtr: Fix memory leak in qrtr_tun_open 2021-03-04 11:38:47 +01:00