net: add sock_init_data_uid()
authorPietro Borrello <borrello@diag.uniroma1.it>
Sat, 4 Feb 2023 17:39:20 +0000 (17:39 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 6 Feb 2023 10:16:55 +0000 (10:16 +0000)
commit584f3742890e966d2f0a1f3c418c9ead70b2d99e
treeda80e16652afbdd1695b2c69e594205e7eaa0689
parentb601135e8d704f3218efaf07cdb2ebf310aedc2a
net: add sock_init_data_uid()

Add sock_init_data_uid() to explicitly initialize the socket uid.
To initialise the socket uid, sock_init_data() assumes a the struct
socket* sock is always embedded in a struct socket_alloc, used to
access the corresponding inode uid. This may not be true.
Examples are sockets created in tun_chr_open() and tap_open().

Fixes: 86741ec25462 ("net: core: Add a UID field to struct sock.")
Signed-off-by: Pietro Borrello <borrello@diag.uniroma1.it>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sock.h
net/core/sock.c