]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
s390/qeth: Check CAP_NET_ADMIN for private ioctls
authorAswin Karuvally <aswin@linux.ibm.com>
Thu, 23 Jul 2026 14:00:50 +0000 (16:00 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 28 Jul 2026 01:05:19 +0000 (18:05 -0700)
Gate the SIOCDEVPRIVATE ioctl commands SIOC_QETH_ADP_SET_SNMP_CONTROL,
SIOC_QETH_GET_CARD_TYPE and SIOC_QETH_QUERY_OAT with CAP_NET_ADMIN
capable check to ensure unprivileged users cannot invoke them.

Fixes: 18787eeebd71 ("qeth: use ndo_siocdevprivate")
Cc: stable@vger.kernel.org
Suggested-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Reviewed-by: Alexandra Winter <wintera@linux.ibm.com>
Signed-off-by: Aswin Karuvally <aswin@linux.ibm.com>
Link: https://patch.msgid.link/20260723140050.762991-1-aswin@linux.ibm.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/s390/net/qeth_core_main.c

index 20fb0d2e02a9a86b85fa64c61eed5f60a02515a5..f18eed9df3c7a85f692fb6708c83c1cbf23e6acf 100644 (file)
@@ -6525,6 +6525,9 @@ int qeth_siocdevprivate(struct net_device *dev, struct ifreq *rq, void __user *d
        struct qeth_card *card = dev->ml_priv;
        int rc = 0;
 
+       if (!capable(CAP_NET_ADMIN))
+               return -EPERM;
+
        switch (cmd) {
        case SIOC_QETH_ADP_SET_SNMP_CONTROL:
                rc = qeth_snmp_command(card, data);