staging: r8188eu: limit rf register writes to path a
authorMartin Kaiser <martin@kaiser.cx>
Sat, 5 Feb 2022 11:37:41 +0000 (12:37 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 Feb 2022 09:17:57 +0000 (10:17 +0100)
The r8188eu driver uses only RF_PATH_A.

At the moment, the only exception are private ioctls. It does not make
sense if these ioctls set registers that are not used anywhere else in
the driver.

This patch limits the private ioctl 0x0C, i.e. the rtw_wx_write_rf
function, to RF_PATH_A. For any other setting, we return an error
saying the parameter is invalid.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20220205113741.379070-9-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/os_dep/ioctl_linux.c

index c54ec5602ddf08d8ea1b803153d714015f3f499c..c41d756665689b19475f0c168492c1734916cc85 100644 (file)
@@ -2083,6 +2083,9 @@ static int rtw_wx_write_rf(struct net_device *dev,
        u32 path, addr, data32;
 
        path = *(u32 *)extra;
+       if (path != RF_PATH_A)
+               return -EINVAL;
+
        addr = *((u32 *)extra + 1);
        data32 = *((u32 *)extra + 2);
        rtl8188e_PHY_SetRFReg(padapter, path, addr, 0xFFFFF, data32);