Eric Dumazet
abb57ea48f
net: add skb_dst_force() in sock_queue_err_skb()
Commit 7fee226ad2 (add a noref bit on skb dst) forgot to use
skb_dst_force() on packets queued in sk_error_queue
This triggers following warning, for applications using IP_CMSG_PKTINFO
receiving one error status
------------[ cut here ]------------
WARNING: at include/linux/skbuff.h:457 ip_cmsg_recv_pktinfo+0xa6/0xb0()
Hardware name: 2669UYD
Modules linked in: isofs vboxnetadp vboxnetflt nfsd ebtable_nat ebtables
lib80211_crypt_ccmp uinput xcbc hdaps tp_smapi thinkpad_ec radeonfb fb_ddc
radeon ttm drm_kms_helper drm ipw2200 intel_agp intel_gtt libipw i2c_algo_bit
i2c_i801 agpgart rng_core cfbfillrect cfbcopyarea cfbimgblt video raid10 raid1
raid0 linear md_mod vboxdrv
Pid: 4697, comm: miredo Not tainted 2.6.39-rc6-00569-g5895198-dirty #22
Call Trace:
[<c17746b6>] ? printk+0x1d/0x1f
[<c1058302>] warn_slowpath_common+0x72/0xa0
[<c15bbca6>] ? ip_cmsg_recv_pktinfo+0xa6/0xb0
[<c15bbca6>] ? ip_cmsg_recv_pktinfo+0xa6/0xb0
[<c1058350>] warn_slowpath_null+0x20/0x30
[<c15bbca6>] ip_cmsg_recv_pktinfo+0xa6/0xb0
[<c15bbdd7>] ip_cmsg_recv+0x127/0x260
[<c154f82d>] ? skb_dequeue+0x4d/0x70
[<c1555523>] ? skb_copy_datagram_iovec+0x53/0x300
[<c178e834>] ? sub_preempt_count+0x24/0x50
[<c15bdd2d>] ip_recv_error+0x23d/0x270
[<c15de554>] udp_recvmsg+0x264/0x2b0
[<c15ea659>] inet_recvmsg+0xd9/0x130
[<c1547752>] sock_recvmsg+0xf2/0x120
[<c11179cb>] ? might_fault+0x4b/0xa0
[<c15546bc>] ? verify_iovec+0x4c/0xc0
[<c1547660>] ? sock_recvmsg_nosec+0x100/0x100
[<c1548294>] __sys_recvmsg+0x114/0x1e0
[<c1093895>] ? __lock_acquire+0x365/0x780
[<c1148b66>] ? fget_light+0xa6/0x3e0
[<c1148b7f>] ? fget_light+0xbf/0x3e0
[<c1148aee>] ? fget_light+0x2e/0x3e0
[<c1549f29>] sys_recvmsg+0x39/0x60
Close bug https://bugzilla.kernel.org/show_bug.cgi?id=34622
Reported-by: Witold Baryluk <baryluk@smp.if.uj.edu.pl>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-05-18 02:21:31 -04:00
..
2011-03-31 11:26:23 -03:00
2010-10-25 13:09:44 -07:00
2011-05-10 15:03:32 -07:00
2011-03-31 18:59:10 -07:00
2011-04-07 11:14:49 -07:00
2011-01-12 00:34:49 -08:00
2011-03-31 11:26:23 -03:00
2011-04-22 13:21:38 -07:00
2011-05-15 17:16:14 +02:00
2011-04-11 13:15:58 -07:00
2011-04-20 12:37:59 -07:00
2011-04-07 11:14:49 -07:00
2011-05-18 02:21:31 -04:00
2011-03-14 17:02:42 -07:00
2011-05-06 13:05:50 -07:00
2011-03-12 15:08:55 -08:00
2011-03-04 09:56:19 +11:00
2011-04-28 13:35:44 -07:00
2011-03-18 15:12:15 -07:00
2011-01-12 19:00:40 -08:00
2011-04-12 15:33:23 -07:00
2011-05-10 15:03:34 -07:00
2011-05-10 15:04:35 -07:00
2011-03-21 18:16:39 -07:00
2011-04-12 15:29:54 -07:00
2011-03-31 11:26:23 -03:00
2011-03-01 22:51:52 -08:00
2011-03-21 18:10:25 -07:00
2010-11-22 08:16:14 -08:00
2011-04-11 18:59:05 -07:00
2011-05-11 19:13:08 -04:00
2011-05-17 14:18:25 -04:00
2011-03-31 11:26:23 -03:00
2011-03-03 21:27:42 -08:00
2011-03-07 15:51:13 -08:00
2011-03-15 14:55:49 -07:00
2011-03-31 11:26:23 -03:00
2011-01-20 17:02:05 -08:00
2011-03-31 11:26:23 -03:00
2011-03-16 16:29:25 -07:00
2011-03-31 11:26:23 -03:00
2011-04-12 19:33:51 -07:00
2011-04-08 11:47:35 -07:00
2011-03-31 11:26:23 -03:00
2011-05-01 23:16:28 -07:00
2011-03-31 11:26:23 -03:00
2011-04-07 11:14:49 -07:00
2011-03-31 11:26:23 -03:00
2011-05-10 15:03:34 -07:00
2010-10-28 11:47:52 -07:00
2011-01-24 14:53:01 -08:00
2011-03-07 12:50:52 -08:00
2010-10-15 15:53:27 +02:00
2011-05-17 15:38:57 -04:00