Jon Paul Maloy
cda3696d3d
tipc: clean up socket layer message reception
...
When a message is received in a socket, one of the call chains
tipc_sk_rcv()->tipc_sk_enqueue()->filter_rcv()(->tipc_sk_proto_rcv())
or
tipc_sk_backlog_rcv()->filter_rcv()(->tipc_sk_proto_rcv())
are followed. At each of these levels we may encounter situations
where the message may need to be rejected, or a new message
produced for transfer back to the sender. Despite recent
improvements, the current code for doing this is perceived
as awkward and hard to follow.
Leveraging the two previous commits in this series, we now
introduce a more uniform handling of such situations. We
let each of the functions in the chain itself produce/reverse
the message to be returned to the sender, but also perform the
actual forwarding. This simplifies the necessary logics within
each function.
Reviewed-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-07-26 16:31:50 -07:00
..
6lowpan
6lowpan: nhc: add other known rfc6282 compressions
2015-02-14 23:08:44 +01:00
9p
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-07-04 19:36:06 -07:00
802
net: Kill dev_rebuild_header
2015-03-02 16:43:41 -05:00
8021q
vlan: Add GRO support for non hardware accelerated vlan
2015-06-01 16:50:52 -07:00
appletalk
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
atm
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
ax25
NET: AX.25: Stop heartbeat timer on disconnect.
2015-07-15 15:59:58 -07:00
batman-adv
batman-adv: change the MAC of each VLAN upon ndo_set_mac_address
2015-06-07 17:07:20 +02:00
bluetooth
bluetooth: fix list handling
2015-07-04 19:11:33 -07:00
bridge
bridge: Fix setting a flag in br_fill_ifvlaninfo_range().
2015-07-24 22:56:22 -07:00
caif
caif: fix leaks and race in caif_queue_rcv_skb()
2015-07-21 00:02:44 -07:00
can
can: replace timestamp as unique skb attribute
2015-07-12 21:13:22 +02:00
ceph
libceph: treat sockaddr_storage with uninitialized family as blank
2015-07-09 20:30:34 +03:00
core
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-07-23 00:41:16 -07:00
dcb
net/dcb: Add IEEE QCN attribute
2015-03-06 21:50:02 -05:00
dccp
sock_diag: specify info_size per inet protocol
2015-06-15 19:49:22 -07:00
decnet
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
dns_resolver
dsa
net: dsa: Fix off-by-one in switch address parsing
2015-07-11 23:25:16 -07:00
ethernet
net: Add full IPv6 addresses to flow_keys
2015-06-04 15:44:30 -07:00
hsr
net/hsr: Fix NULL pointer dereference and refcnt bugs when deleting a HSR interface.
2015-03-01 13:40:23 -05:00
ieee802154
nl802154: export supported commands
2015-06-04 12:27:15 +02:00
ipv4
ip_tunnel: Call ip_tunnel_core_init() from inet_init()
2015-07-23 01:28:21 -07:00
ipv6
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-07-23 00:41:16 -07:00
ipx
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
irda
irda: use msecs_to_jiffies for conversion to jiffies
2015-05-25 17:46:21 -04:00
iucv
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
key
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2015-06-24 16:49:49 -07:00
l2tp
net: Modify sk_alloc to not reference count the netns of kernel sockets.
2015-05-11 10:50:18 -04:00
lapb
llc
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
mac80211
cfg80211: use RTNL locked reg_can_beacon for IR-relaxation
2015-07-17 15:02:02 +02:00
mac802154
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2015-06-24 16:49:49 -07:00
mpls
mpls_iptunnel: fix sparse warn: remove incorrect rcu_dereference
2015-07-22 10:50:23 -07:00
netfilter
net: #ifdefify sk_classid member of struct sock
2015-07-21 16:04:30 -07:00
netlabel
netlink: implement nla_put_in_addr and nla_put_in6_addr
2015-03-31 13:58:35 -04:00
netlink
netlink: don't hold mutex in rcu callback when releasing mmapd ring
2015-07-21 22:22:56 -07:00
netrom
netfilter: Remove spurios included of netfilter.h
2015-06-18 21:14:32 +02:00
nfc
NFC: nci: fix mistake in uart generic driver
2015-06-15 18:10:37 +02:00
openvswitch
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-07-23 00:41:16 -07:00
packet
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-06-24 02:58:51 -07:00
phonet
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
rds
Changes for 4.2-rc
2015-07-15 17:03:03 -07:00
rfkill
net: rfkill: gpio: make better use of gpiod API
2015-05-29 13:13:45 +02:00
rose
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-06-24 02:58:51 -07:00
rxrpc
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
sched
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-07-23 00:41:16 -07:00
sctp
sctp: fix cut and paste issue in comment
2015-07-21 00:21:32 -07:00
sunrpc
NFS client updates for Linux 4.2
2015-07-02 11:32:23 -07:00
switchdev
switchdev: add offload_fwd_mark generator helper
2015-07-20 18:32:44 -07:00
tipc
tipc: clean up socket layer message reception
2015-07-26 16:31:50 -07:00
unix
net/unix: support SCM_SECURITY for stream sockets
2015-06-10 22:49:20 -07:00
vmw_vsock
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
wimax
wireless
cfg80211: use RTNL locked reg_can_beacon for IR-relaxation
2015-07-17 15:02:02 +02:00
x25
net: Pass kern from net_proto_family.create to sk_alloc
2015-05-11 10:50:17 -04:00
xfrm
xfrm: Fix a typo
2015-07-21 00:28:36 -07:00
compat.c
net: switch importing msghdr from userland to {compat_,}import_iovec()
2015-04-09 00:02:26 -04:00
Kconfig
lwtunnel: infrastructure for handling light weight tunnels like mpls
2015-07-21 10:39:03 -07:00
Makefile
mpls: Refactor how the mpls module is built
2015-03-04 00:26:06 -05:00
socket.c
net: Add a struct net parameter to sock_create_kern
2015-05-11 10:50:17 -04:00
sysctl_net.c