]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
CVE-2012-2313: dl2k: Clean up rio_ioctl
authorChuck Anderson <chuck.anderson@oracle.com>
Wed, 26 Sep 2012 21:47:28 +0000 (14:47 -0700)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Fri, 19 Oct 2012 17:56:45 +0000 (10:56 -0700)
    The dl2k driver's rio_ioctl call has a few issues:
    - No permissions checking
    - Implements SIOCGMIIREG and SIOCGMIIREG using the SIOCDEVPRIVATE numbers
    - Has a few ioctls that may have been used for debugging at one point
      but have no place in the kernel proper.

    This patch removes all but the MII ioctls, renumbers them to use the
    standard ones, and adds the proper permission check for SIOCSMIIREG.

    We can also get rid of the dl2k-specific struct mii_data in favor of
    the generic struct mii_ioctl_data.

    Since we have the phyid on hand, we can add the SIOCGMIIPHY ioctl too.

    Most of the MII code for the driver could probably be converted to use
    the generic MII library but I don't have a device to test the results.

Reported-by: Stephan Mueller <stephan.mueller@atsec.com>
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
    Orabug: 14680245
Signed-off-by: Chuck Anderson <chuck.anderson@oracle.com>
drivers/net/dl2k.c

index 46ae6e3c06f3e81b8b5867c8832e251bb2396cd1..f9ac5d3e90fb27f573b52b53e24cb8f523d8e8db 100644 (file)
@@ -15,6 +15,7 @@
 #define DRV_RELDATE    "2007/08/12"
 #include "dl2k.h"
 #include <linux/dma-mapping.h>
+#include <linux/mii.h>
 
 static char version[] __devinitdata =
       KERN_INFO DRV_NAME " " DRV_VERSION " " DRV_RELDATE "\n";