[PATCH] net: qrtr: Reintroduce ARCH_QCOM as a dependency for QRTR

From: Anant Thazhemadam
Date: Tue Sep 08 2020 - 19:33:56 EST

Removing ARCH_QCOM, as a dependency for QRTR begins to give rise to
issues with respect to maintaining reference count integrity and
suspicious rcu usage.

The bugs resolved by making QRTR dependent on ARCH_QCOM include:

* WARNING: refcount bug in qrtr_node_lookup
Reported-by: syzbot+c613e88b3093ebf3686e@xxxxxxxxxxxxxxxxxxxxxxxxx
* WARNING: refcount bug in qrtr_recvmsg
Reported-by: syzbot+d0f27d9af17914bf253b@xxxxxxxxxxxxxxxxxxxxxxxxx
* WARNING: suspicious RCU usage in ctrl_cmd_new_lookup
Reported-by: syzbot+3025b9294f8cb0ede850@xxxxxxxxxxxxxxxxxxxxxxxxx
* WARNING: suspicious RCU usage in qrtr_ns_worker
Reported-by: syzbot+0f84f6eed90503da72fc@xxxxxxxxxxxxxxxxxxxxxxxxx

Signed-off-by: Anant Thazhemadam <anant.thazhemadam@xxxxxxxxx>
As I understand it, QRTR was initially dependent upon ARCH_QCOM, but was
removed since not all modems using IPC Router protocol required the
support provided for Qualcomm platforms.
However, wouldn't ARCH_QCOM be required by the modems that require the
support provided for Qualcomm platforms?
The configuration ARCH_QCOM isn't exactly the easiest to find, especially,
for those who don't know what they're looking for (syzbot included, I
I don't feel like the tradeoff of not depending on ARCH_QCOM over giving
rise to potential bugs is worth it.
Is NOT having QRTR depend on ARCH_QCOM so critical that it supersedes the
priority of not giving rise to potential bugs?

net/qrtr/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/net/qrtr/Kconfig b/net/qrtr/Kconfig
index b4020b84760f..8156d0f3656b 100644
--- a/net/qrtr/Kconfig
+++ b/net/qrtr/Kconfig
@@ -4,6 +4,7 @@

config QRTR
tristate "Qualcomm IPC Router support"
+ depends on ARCH_QCOM
Say Y if you intend to use Qualcomm IPC router protocol. The
protocol is used to communicate with services provided by other