From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Galbraith Subject: 3.6-rt: inet_sk_rx_dst_set() network splat Date: Wed, 24 Apr 2013 08:50:04 +0200 Message-ID: <1366786204.5977.10.camel@marge.simpson.net> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: netdev To: RT Return-path: Received: from moutng.kundenserver.de ([212.227.126.171]:52185 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754702Ab3DXGuH (ORCPT ); Wed, 24 Apr 2013 02:50:07 -0400 Sender: linux-rt-users-owner@vger.kernel.org List-ID: Giving 3.6-rt some routine usage runtime, while updating kernel git repositories, the below fell out, but didn't repeat while updating other repositories. [ 381.481464] ------------[ cut here ]------------ [ 381.486090] WARNING: at include/linux/skbuff.h:536 inet_sk_rx_dst_set+0x8c/0xe0() [ 381.493566] Hardware name: MS-7502 [ 381.493612] Modules linked in: ip6table_filter ip6_tables iptable_filter ip_tables ebtable_nat ebtables x_tables nfsd snd_pcm_oss snd_mixer_oss snd_seq nfs_acl snd_seq_device auth_rpcgss edd nfs fscache lockd sunrpc bridge ipv6 stp cpufreq_conservative cpufreq_ondemand cpufreq_userspace cpufreq_powersave acpi_cpufreq mperf nls_iso8859_1 nls_cp437 vfat fat fuse ext3 jbd arc4 rt2800usb rt2800lib crc_ccitt rt2x00usb rt2x00lib mac80211 iTCO_wdt iTCO_vendor_support cfg80211 hid_generic rfkill usb_storage snd_hda_codec_realtek sr_mod cdrom sg snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_timer e1000e snd firewire_ohci firewire_core coretemp microcode soundcore lpc_ich mfd_core crc_itu_t snd_page_alloc i2c_i801 button ext4 mbcache jbd2 crc16 usbhid hid sd_mod crc_t10dif uhci_hcd ehci_hcd r tc_cmos ahci libahci libata thermal fan scsi_mod usbcore usb_common processor [ 381.493620] Pid: 6170, comm: git Not tainted 3.6.11.1-rt32-smp #52 [ 381.493621] Call Trace: [ 381.493626] [] warn_slowpath_common+0x7f/0xc0 [ 381.493629] [] warn_slowpath_null+0x1a/0x20 [ 381.493631] [] inet_sk_rx_dst_set+0x8c/0xe0 [ 381.493633] [] tcp_rcv_established+0x797/0x7d0 [ 381.493636] [] tcp_v4_do_rcv+0x134/0x220 [ 381.493638] [] tcp_prequeue_process+0x67/0xb0 [ 381.493641] [] tcp_recvmsg+0xaca/0xd70 [ 381.493645] [] ? __lock_release+0x6b/0xe0 [ 381.493648] [] inet_recvmsg+0x121/0x240 [ 381.493651] [] ? inet_sock_destruct+0x230/0x230 [ 381.493655] [] sock_aio_read.part.19+0xf9/0x120 [ 381.493657] [] ? sock_aio_write+0x90/0xb0 [ 381.493660] [] sock_aio_read+0x26/0x30 [ 381.493662] [] do_sync_read+0xa3/0xe0 [ 381.493665] [] vfs_read+0x14d/0x160 [ 381.493667] [] sys_read+0x4d/0x90 [ 381.493670] [] system_call_fastpath+0x16/0x1b [ 381.493671] ---[ end trace 0000000000000002 ]--- 529 static inline struct dst_entry *skb_dst(const struct sk_buff *skb) 530 { 531 /* If refdst was not refcounted, check we still are in a 532 * rcu_read_lock section 533 */ 534 WARN_ON((skb->_skb_refdst & SKB_DST_NOREF) && 535 !rcu_read_lock_held() && 536 !rcu_read_lock_bh_held()); 537 return (struct dst_entry *)(skb->_skb_refdst & SKB_DST_PTRMASK); 538 }