linux/net
Christoph Hellwig 6d04fe15f7 net: optimize the sockptr_t for unified kernel/user address spaces
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: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-07-24 15:41:54 -07:00
..
6lowpan treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
9p net: 9p: kerneldoc fixes 2020-07-13 17:20:39 -07:00
802
8021q net: get rid of lockdep_set_class_and_subclass() 2020-06-28 21:37:23 -07:00
appletalk net: make ->{get,set}sockopt in proto_ops optional 2020-07-19 18:16:41 -07:00
atm net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
ax25 net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
batman-adv batman-adv: Introduce a configurable per interface hop penalty 2020-06-26 10:37:11 +02:00
bluetooth net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
bpf bpf: Add tests for PTR_TO_BTF_ID vs. null comparison 2020-06-30 22:21:29 +02:00
bpfilter bpfilter: switch bpfilter_ip_set_sockopt to sockptr_t 2020-07-24 15:41:54 -07:00
bridge netfilter: switch nf_setsockopt to sockptr_t 2020-07-24 15:41:54 -07:00
caif net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
can net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
ceph libceph: don't omit used_replica in target_copy() 2020-06-16 16:02:08 +02:00
core net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
dcb dcb_doit: remove redundant skb check 2020-06-23 20:27:09 -07:00
dccp net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
decnet net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
dns_resolver docs: networking: convert dns_resolver.txt to ReST 2020-04-28 14:39:46 -07:00
dsa net: dsa: stop overriding master's ndo_get_phys_port_name 2020-07-23 15:14:58 -07:00
ethernet net: move devres helpers into a separate source file 2020-05-23 16:56:17 -07:00
ethtool Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-07-11 00:46:00 -07:00
hsr net: hsr: remove redundant null check 2020-07-20 18:33:32 -07:00
ieee802154 net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
ife
ipv4 net: optimize the sockptr_t for unified kernel/user address spaces 2020-07-24 15:41:54 -07:00
ipv6 net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
iucv net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
kcm net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
key net: make ->{get,set}sockopt in proto_ops optional 2020-07-19 18:16:41 -07:00
l2tp net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
l3mdev l3mdev: add infrastructure for table to VRF mapping 2020-06-20 17:22:22 -07:00
lapb treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
llc net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
mac80211 net: mac80211: kerneldoc fixes 2020-07-13 17:20:39 -07:00
mac802154 treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
mpls treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
mptcp net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
ncsi net/ncsi: use eth_zero_addr() to clear mac address 2020-07-23 11:49:41 -07:00
netfilter netfilter: switch nf_setsockopt to sockptr_t 2020-07-24 15:41:54 -07:00
netlabel net: netlabel: kerneldoc fixes 2020-07-13 17:20:40 -07:00
netlink net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
netrom net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
nfc net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
nsh treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
openvswitch net: openvswitch: reorder masks array based on usage 2020-07-17 10:36:50 -07:00
packet net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
phonet net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
psample net: psample: fix build error when CONFIG_INET is not enabled 2020-05-23 16:36:05 -07:00
qrtr net: make ->{get,set}sockopt in proto_ops optional 2020-07-19 18:16:41 -07:00
rds net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
rfkill
rose net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
rxrpc net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
sched net/sched: cls_flower: Add hash info to flow classification 2020-07-24 15:23:31 -07:00
sctp net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
smc net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
strparser
sunrpc Fixes for a umask bug on exported filesystems lacking ACL support, a 2020-07-02 20:35:33 -07:00
switchdev net: switchdev: kerneldoc fixes 2020-07-13 17:20:40 -07:00
tipc net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
tls net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
unix net: make ->{get,set}sockopt in proto_ops optional 2020-07-19 18:16:41 -07:00
vmw_vsock net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
wimax
wireless net: wireless: kerneldoc fixes 2020-07-13 17:20:40 -07:00
x25 net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
xdp net: pass a sockptr_t into ->setsockopt 2020-07-24 15:41:54 -07:00
xfrm net/xfrm: switch xfrm_user_policy to sockptr_t 2020-07-24 15:41:53 -07:00
compat.c net: remove compat_sys_{get,set}sockopt 2020-07-19 18:16:40 -07:00
devres.c net: devres: rename the release callback of devm_register_netdev() 2020-06-30 15:57:34 -07:00
Kconfig net: ethtool: Remove PHYLIB direct dependency 2020-07-07 15:41:05 -07:00
Makefile net: move devres helpers into a separate source file 2020-05-23 16:56:17 -07:00
socket.c net: optimize the sockptr_t for unified kernel/user address spaces 2020-07-24 15:41:54 -07:00
sysctl_net.c