• Arnd Bergmann's avatar
    net/compat: fix dev_ifsioc emulation corner cases · a2116ed2
    Arnd Bergmann authored
    Handling for SIOCSHWTSTAMP is broken on architectures
    with a split user/kernel address space like s390,
    because it passes a real user pointer while using
    set_fs(KERNEL_DS).
    A similar problem might arise the next time somebody
    adds code to dev_ifsioc.
    
    Split up dev_ifsioc into three separate functions for
    SIOCSHWTSTAMP, SIOC*IFMAP and all other numbers so
    we can get rid of set_fs in all potentially affected
    cases.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Cc: Patrick Ohly <patrick.ohly@intel.com>
    Cc: David S. Miller <davem@davemloft.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a2116ed2
socket.c 81.3 KB