• C
    net: optimize the sockptr_t for unified kernel/user address spaces · 6d04fe15
    Christoph Hellwig 提交于
    For architectures like x86 and arm64 we don't need the separate bit to
    indicate that a pointer is a kernel pointer as the address spaces are
    unified.  That way the sockptr_t can be reduced to a union of two
    pointers, which leads to nicer calling conventions.
    
    The only caveat is that we need to check that users don't pass in kernel
    address and thus gain access to kernel memory.  Thus the USER_SOCKPTR
    helper is replaced with a init_user_sockptr function that does this check
    and returns an error if it fails.
    Signed-off-by: NChristoph Hellwig <hch@lst.de>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    6d04fe15
socket.c 91.8 KB