[email protected]
7f5c3e3a80
af_packet: remove BUG statement in tpacket_destruct_skb
...
Here's a quote of the comment about the BUG macro from asm-generic/bug.h:
Don't use BUG() or BUG_ON() unless there's really no way out; one
example might be detecting data structure corruption in the middle
of an operation that can't be backed out of. If the (sub)system
can somehow continue operating, perhaps with reduced functionality,
it's probably not BUG-worthy.
If you're tempted to BUG(), think again: is completely giving up
really the *only* solution? There are usually better options, where
users don't need to reboot ASAP and can mostly shut down cleanly.
In our case, the status flag of a ring buffer slot is managed from both sides,
the kernel space and the user space. This means that even though the kernel
side might work as expected, the user space screws up and changes this flag
right between the send(2) is triggered when the flag is changed to
TP_STATUS_SENDING and a given skb is destructed after some time. Then, this
will hit the BUG macro. As David suggested, the best solution is to simply
remove this statement since it cannot be used for kernel side internal
consistency checks. I've tested it and the system still behaves /stable/ in
this case, so in accordance with the above comment, we should rather remove it.
Signed-off-by: Daniel Borkmann <[email protected] >
Signed-off-by: David S. Miller <[email protected] >
2012-08-12 13:42:17 -07:00
..
9p
net: Fix (nearly-)kernel-doc comments for various functions
2012-07-10 23:13:45 -07:00
802
8021q
netpoll: move np->dev and np->dev_name init into __netpoll_setup()
2012-07-17 09:02:36 -07:00
appletalk
net: Fix (nearly-)kernel-doc comments for various functions
2012-07-10 23:13:45 -07:00
atm
net: Remove casts to same type
2012-06-04 11:45:11 -04:00
ax25
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2012-07-19 11:17:30 -07:00
batman-adv
batman-adv: Fix mem leak in the batadv_tt_local_event() function
2012-08-08 16:04:04 -07:00
bluetooth
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
2012-07-20 12:30:48 -04:00
bridge
bridge: make port attributes const
2012-07-30 14:53:22 -07:00
caif
netvm: prevent a stream-specific deadlock
2012-07-31 18:42:47 -07:00
can
can: gw: Remove pointless casts
2012-07-10 22:36:17 +02:00
ceph
libceph: fix crypto key null deref, memory leak
2012-08-02 09:19:20 -07:00
core
net/core: Fix potential memory leak in dev_set_alias()
2012-08-08 16:06:23 -07:00
dcb
net: Fix non-kernel-doc comments with kernel-doc start marker
2012-07-10 23:13:45 -07:00
dccp
ipv4: Prepare for change of rt->rt_iif encoding.
2012-07-23 16:36:26 -07:00
decnet
ipv4: Restore old dst_free() behavior.
2012-07-31 14:41:38 -07:00
dns_resolver
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
2012-05-21 20:27:36 -07:00
dsa
ethernet
ipx: move peII functions
2012-07-19 10:48:00 -07:00
ieee802154
6lowpan: Change byte order when storing/accessing to len field
2012-07-16 22:52:02 -07:00
ipv4
ipv4: fix ip_send_skb()
2012-08-10 14:08:57 -07:00
ipv6
net: tcp: ipv6_mapped needs sk_rx_dst_set method
2012-08-09 20:56:09 -07:00
ipx
ipx: move peII functions
2012-07-19 10:48:00 -07:00
irda
irda: Fix typo in irda
2012-07-16 23:23:52 -07:00
iucv
net: remove skb_orphan_try()
2012-06-15 15:30:15 -07:00
key
l2tp
net: l2tp_eth: provide tx_dropped counter
2012-06-29 00:52:32 -07:00
lapb
llc
llc: free the right skb
2012-08-06 13:30:01 -07:00
mac80211
Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
2012-08-02 13:49:38 -04:00
mac802154
mac802154: sparse warnings: make symbols static
2012-07-12 07:54:45 -07:00
netfilter
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2012-07-19 11:17:30 -07:00
netlabel
netlink
genetlink: define lockdep_genl_is_held() when CONFIG_LOCKDEP
2012-07-24 00:01:30 -07:00
netrom
nfc
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
2012-07-20 12:30:48 -04:00
openvswitch
Revert "openvswitch: potential NULL deref in sample()"
2012-07-27 13:45:51 -07:00
packet
af_packet: remove BUG statement in tpacket_destruct_skb
2012-08-12 13:42:17 -07:00
phonet
net: remove my future former mail address
2012-06-17 16:29:38 -07:00
rds
rds: set correct msg_namelen
2012-07-23 01:01:44 -07:00
rfkill
rfkill: Add the capability to switch all devices of all type in __rfkill_switch_all().
2012-06-06 15:18:17 -04:00
rose
rxrpc
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2012-07-10 23:56:33 -07:00
sched
sched: add missing group change to qfq_change_class
2012-08-08 16:02:05 -07:00
sctp
netvm: prevent a stream-specific deadlock
2012-07-31 18:42:47 -07:00
sunrpc
Merge branch 'akpm' (Andrew's patch-bomb)
2012-07-31 19:25:39 -07:00
tipc
tipc: remove print_buf and deprecated log buffer code
2012-07-13 19:34:43 -04:00
unix
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2012-08-01 10:26:23 -07:00
wanrouter
wanmain: comparing array with NULL
2012-07-24 13:55:21 -07:00
wimax
wireless
cfg80211: process pending events when unregistering net device
2012-08-06 14:29:58 -04:00
x25
net: Fix (nearly-)kernel-doc comments for various functions
2012-07-10 23:13:45 -07:00
xfrm
Fix unexpected SA hard expiration after changing date
2012-08-02 00:19:17 -07:00
compat.c
net: Fix references to out-of-scope variables in put_cmsg_compat()
2012-07-22 17:50:49 -07:00
Kconfig
net: drop NET dependency from HAVE_BPF_JIT
2012-05-21 12:50:12 -07:00
Makefile
nonet.c
socket.c
net: netprio_cgroup: rework update socket logic
2012-07-22 12:44:01 -07:00
sysctl_net.c