• Namhyung Kim's avatar
    net: remove address space warnings in net/socket.c · fb8621bb
    Namhyung Kim authored
    Casts __kernel to __user pointer require __force markup, so add it. Also
    sock_get/setsockopt() takes @optval and/or @optlen arguments as user pointers
    but were taking kernel pointers, use new variables 'uoptval' and/or 'uoptlen'
    to fix it. These remove following warnings from sparse:
    
     net/socket.c:1922:46: warning: cast adds address space to expression (<asn:1>)
     net/socket.c:3061:61: warning: incorrect type in argument 4 (different address spaces)
     net/socket.c:3061:61:    expected char [noderef] <asn:1>*optval
     net/socket.c:3061:61:    got char *optval
     net/socket.c:3061:69: warning: incorrect type in argument 5 (different address spaces)
     net/socket.c:3061:69:    expected int [noderef] <asn:1>*optlen
     net/socket.c:3061:69:    got int *optlen
     net/socket.c:3063:67: warning: incorrect type in argument 4 (different address spaces)
     net/socket.c:3063:67:    expected char [noderef] <asn:1>*optval
     net/socket.c:3063:67:    got char *optval
     net/socket.c:3064:45: warning: incorrect type in argument 5 (different address spaces)
     net/socket.c:3064:45:    expected int [noderef] <asn:1>*optlen
     net/socket.c:3064:45:    got int *optlen
     net/socket.c:3078:61: warning: incorrect type in argument 4 (different address spaces)
     net/socket.c:3078:61:    expected char [noderef] <asn:1>*optval
     net/socket.c:3078:61:    got char *optval
     net/socket.c:3080:67: warning: incorrect type in argument 4 (different address spaces)
     net/socket.c:3080:67:    expected char [noderef] <asn:1>*optval
     net/socket.c:3080:67:    got char *optval
    Signed-off-by: default avatarNamhyung Kim <namhyung@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    fb8621bb
socket.c 74.5 KB