Skip to contentSkip to conversation

kernel BUG: ipset 4.4

DISCUSSION Mr Dash Four 2 participants 3 messages Dec 2, 2010 – Dec 3, 2010

lore
Share & tools
lore
#0 lore raw

When executing ipset -L <ipset_name> to list the contents of a (medium-size) ipset I am getting the following kernel error (from /var/log/messages):

Dec  2 16:47:57 voip7 kernel: BUG: sleeping function called from invalid context at mm/slub.c:1705
Dec  2 16:47:57 voip7 kernel: in_atomic(): 1, irqs_disabled(): 0, pid: 29531, name: ipset
Dec  2 16:47:57 voip7 kernel: Pid: 29531, comm: ipset Not tainted 2.6.34.7-56.fc13.i686 #1
Dec  2 16:47:57 voip7 kernel: Call Trace:
Dec  2 16:47:57 voip7 kernel: [<c042a707>] __might_sleep+0xca/0xd1
Dec  2 16:47:57 voip7 kernel: [<c04c9424>] kmem_cache_alloc+0x35/0xd9
Dec  2 16:47:57 voip7 kernel: [<d38b6bd7>] iptreemap_del+0xb2/0x4c2 [ip_set_iptreemap]
Dec  2 16:47:57 voip7 kernel: [<c04bc77c>] ? map_vm_area+0x26/0x39
Dec  2 16:47:57 voip7 kernel: [<d38b7031>] iptreemap_udel+0x22/0x27 [ip_set_iptreemap]
Dec  2 16:47:57 voip7 kernel: [<d36e64e5>] ip_set_delip+0x2e/0x40 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e77ea>] ip_set_sockfn_set+0x4f5/0x567 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e64b7>] ? ip_set_delip+0x0/0x40 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e645e>] ? ip_set_addip+0x0/0x59 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e64b7>] ? ip_set_delip+0x0/0x40 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e63af>] ? ip_set_testip+0x0/0x4a [ip_set]
Dec  2 16:47:57 voip7 kernel: [<c071eaa7>] nf_sockopt+0x103/0x118
Dec  2 16:47:57 voip7 kernel: [<c071eaf0>] nf_setsockopt+0x1a/0x1f
Dec  2 16:47:57 voip7 kernel: [<c0730e43>] ip_setsockopt+0x60/0x85
Dec  2 16:47:57 voip7 kernel: [<c07469fc>] raw_setsockopt+0x1f/0x62
Dec  2 16:47:57 voip7 kernel: [<c06f9100>] sock_common_setsockopt+0x18/0x1d
Dec  2 16:47:57 voip7 kernel: [<c06f72bc>] sys_setsockopt+0x6d/0x88
Dec  2 16:47:57 voip7 kernel: [<c06f89da>] sys_socketcall+0x145/0x1aa
Dec  2 16:47:57 voip7 kernel: [<c0790a64>] syscall_call+0x7/0xb
Dec  2 16:47:57 voip7 kernel: BUG: scheduling while atomic: ipset/29531/0x10000100
Dec  2 16:47:57 voip7 kernel: Modules linked in: tcp_diag inet_diag tun snd_cs4236 snd_wss_lib snd_opl3_lib snd_hwdep snd_mpu401_uart xt_CONNSECMARK xt_SECMARK act_mirred ip6table_filter ip6_tables ip_set_ipmap ip_set_iptree ip_set_portmap ip_set_iptreemap ifb act_police cls_flow cls_fw cls_u32 sch_htb sch_hfsc sch_ingress sch_sfq xt_LOGMARK xt_time xt_connlimit xt_realm ipt_set ip_set_iphash ip_set iptable_raw xt_IPMARK xt_comment xt_ipp2p compat_xtables xt_recent xt_policy ipt_ULOG ipt_REDIRECT ipt_NETMAP ipt_MASQUERADE ipt_ECN ipt_ecn ipt_CLUSTERIP ipt_ah ipt_addrtype nf_nat_tftp nf_nat_snmp_basic nf_nat_sip nf_nat_pptp nf_nat_proto_gre nf_nat_irc nf_nat_h323 nf_nat_ftp nf_nat_amanda ts_kmp nf_conntrack_amanda nf_conntrack_sane nf_conntrack_tftp nf_conntrack_sip nf_conntrack_proto_sctp nf_conntrack_pptp nf_conntrack_proto_gre nf_conntrack_netlink nf_conntrack_netbios_ns nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp xt_TPROXY nf_tproxy_core xt_tcpmss xt_pkttype xt_physdev xt_owner xt_NFQUEUE xt_NFLOG nf
Dec  2 16:47:57 voip7 kernel: netlink_log xt_multiport xt_MARK xt_mark xt_mac xt_limit xt_length xt_iprange xt_helper xt_hashlimit xt_DSCP xt_dscp xt_dccp xt_CONNMARK xt_connmark xt_CLASSIFY ipt_LOG iptable_nat nf_nat iptable_mangle nfnetlink ipv6 snd_cs46xx gameport snd_rawmidi snd_ac97_codec ac97_bus snd_seq snd_seq_device snd_pcm 8139too snd_timer mii snd i2c_piix4 soundcore yenta_socket i2c_core snd_page_alloc rsrc_nonstatic squashfs ext2 [last unloaded: scsi_wait_scan]
Dec  2 16:47:57 voip7 kernel: Pid: 29531, comm: ipset Not tainted 2.6.34.7-56.fc13.i686 #1
Dec  2 16:47:57 voip7 kernel: Call Trace:
Dec  2 16:47:57 voip7 kernel: [<c0432c28>] __schedule_bug+0x51/0x56
Dec  2 16:47:57 voip7 kernel: [<c078ecab>] schedule+0x88/0x5dc
Dec  2 16:47:57 voip7 kernel: [<c0405af8>] ? show_trace+0x15/0x19
Dec  2 16:47:57 voip7 kernel: [<d38b6bd7>] ? iptreemap_del+0xb2/0x4c2 [ip_set_iptreemap]
Dec  2 16:47:57 voip7 kernel: [<c078f325>] _cond_resched+0x2e/0x47
Dec  2 16:47:57 voip7 kernel: [<c04c9429>] kmem_cache_alloc+0x3a/0xd9
Dec  2 16:47:57 voip7 kernel: [<d38b6bd7>] iptreemap_del+0xb2/0x4c2 [ip_set_iptreemap]
Dec  2 16:47:57 voip7 kernel: [<c04bc77c>] ? map_vm_area+0x26/0x39
Dec  2 16:47:57 voip7 kernel: [<d38b7031>] iptreemap_udel+0x22/0x27 [ip_set_iptreemap]
Dec  2 16:47:57 voip7 kernel: [<d36e64e5>] ip_set_delip+0x2e/0x40 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e77ea>] ip_set_sockfn_set+0x4f5/0x567 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e64b7>] ? ip_set_delip+0x0/0x40 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e645e>] ? ip_set_addip+0x0/0x59 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e64b7>] ? ip_set_delip+0x0/0x40 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e63af>] ? ip_set_testip+0x0/0x4a [ip_set]
Dec  2 16:47:57 voip7 kernel: [<c071eaa7>] nf_sockopt+0x103/0x118
Dec  2 16:47:57 voip7 kernel: [<c071eaf0>] nf_setsockopt+0x1a/0x1f
Dec  2 16:47:57 voip7 kernel: [<c0730e43>] ip_setsockopt+0x60/0x85
Dec  2 16:47:57 voip7 kernel: [<c07469fc>] raw_setsockopt+0x1f/0x62
Dec  2 16:47:57 voip7 kernel: [<c06f9100>] sock_common_setsockopt+0x18/0x1d
Dec  2 16:47:57 voip7 kernel: [<c06f72bc>] sys_setsockopt+0x6d/0x88
Dec  2 16:47:57 voip7 kernel: [<c06f89da>] sys_socketcall+0x145/0x1aa
Dec  2 16:47:57 voip7 kernel: [<c0790a64>] syscall_call+0x7/0xb

Any idea what may be the cause? The system is Pentium2-based with 288MB RAM and kernel 2.6.34.7-56 with xtables 1.30 and ipset 4.4 installed.

#1 lore raw

Hi,

Quoted 2 lines · Mr Dash Four

When executing ipset -L <ipset_name> to list the contents of a (medium-size) ipset I am getting the following kernel error (from /var/log/messages):

According to the logs below, it's a bug in deleting an entry from an iptreemap type. I'll look into it at the weekend, thanks for reporting!

Best regards,
Jozsef

Quoted 84 lines
Dec  2 16:47:57 voip7 kernel: BUG: sleeping function called from invalid
context at mm/slub.c:1705
Dec  2 16:47:57 voip7 kernel: in_atomic(): 1, irqs_disabled(): 0, pid: 29531,
name: ipset
Dec  2 16:47:57 voip7 kernel: Pid: 29531, comm: ipset Not tainted
2.6.34.7-56.fc13.i686 #1
Dec  2 16:47:57 voip7 kernel: Call Trace:
Dec  2 16:47:57 voip7 kernel: [<c042a707>] __might_sleep+0xca/0xd1
Dec  2 16:47:57 voip7 kernel: [<c04c9424>] kmem_cache_alloc+0x35/0xd9
Dec  2 16:47:57 voip7 kernel: [<d38b6bd7>] iptreemap_del+0xb2/0x4c2
[ip_set_iptreemap]
Dec  2 16:47:57 voip7 kernel: [<c04bc77c>] ? map_vm_area+0x26/0x39
Dec  2 16:47:57 voip7 kernel: [<d38b7031>] iptreemap_udel+0x22/0x27
[ip_set_iptreemap]
Dec  2 16:47:57 voip7 kernel: [<d36e64e5>] ip_set_delip+0x2e/0x40 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e77ea>] ip_set_sockfn_set+0x4f5/0x567
[ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e64b7>] ? ip_set_delip+0x0/0x40 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e645e>] ? ip_set_addip+0x0/0x59 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e64b7>] ? ip_set_delip+0x0/0x40 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e63af>] ? ip_set_testip+0x0/0x4a [ip_set]
Dec  2 16:47:57 voip7 kernel: [<c071eaa7>] nf_sockopt+0x103/0x118
Dec  2 16:47:57 voip7 kernel: [<c071eaf0>] nf_setsockopt+0x1a/0x1f
Dec  2 16:47:57 voip7 kernel: [<c0730e43>] ip_setsockopt+0x60/0x85
Dec  2 16:47:57 voip7 kernel: [<c07469fc>] raw_setsockopt+0x1f/0x62
Dec  2 16:47:57 voip7 kernel: [<c06f9100>] sock_common_setsockopt+0x18/0x1d
Dec  2 16:47:57 voip7 kernel: [<c06f72bc>] sys_setsockopt+0x6d/0x88
Dec  2 16:47:57 voip7 kernel: [<c06f89da>] sys_socketcall+0x145/0x1aa
Dec  2 16:47:57 voip7 kernel: [<c0790a64>] syscall_call+0x7/0xb
Dec  2 16:47:57 voip7 kernel: BUG: scheduling while atomic:
ipset/29531/0x10000100
Dec  2 16:47:57 voip7 kernel: Modules linked in: tcp_diag inet_diag tun

snd_cs4236 snd_wss_lib snd_opl3_lib snd_hwdep snd_mpu401_uart xt_CONNSECMARK xt_SECMARK act_mirred ip6table_filter ip6_tables ip_set_ipmap ip_set_iptree ip_set_portmap ip_set_iptreemap ifb act_police cls_flow cls_fw cls_u32 sch_htb sch_hfsc sch_ingress sch_sfq xt_LOGMARK xt_time xt_connlimit xt_realm ipt_set ip_set_iphash ip_set iptable_raw xt_IPMARK xt_comment xt_ipp2p compat_xtables xt_recent xt_policy ipt_ULOG ipt_REDIRECT ipt_NETMAP ipt_MASQUERADE ipt_ECN ipt_ecn ipt_CLUSTERIP ipt_ah ipt_addrtype nf_nat_tftp nf_nat_snmp_basic nf_nat_sip nf_nat_pptp nf_nat_proto_gre nf_nat_irc nf_nat_h323 nf_nat_ftp nf_nat_amanda ts_kmp nf_conntrack_amanda nf_conntrack_sane nf_conntrack_tftp nf_conntrack_sip nf_conntrack_proto_sctp nf_conntrack_pptp nf_conntrack_proto_gre nf_conntrack_netlink nf_conntrack_netbios_ns nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp xt_TPROXY nf_tproxy_core xt_tcpmss xt_pkttype xt_physdev xt_owner xt_NFQUEUE xt_NFLOG nf

Dec  2 16:47:57 voip7 kernel: netlink_log xt_multiport xt_MARK xt_mark xt_mac

xt_limit xt_length xt_iprange xt_helper xt_hashlimit xt_DSCP xt_dscp xt_dccp xt_CONNMARK xt_connmark xt_CLASSIFY ipt_LOG iptable_nat nf_nat iptable_mangle nfnetlink ipv6 snd_cs46xx gameport snd_rawmidi snd_ac97_codec ac97_bus snd_seq snd_seq_device snd_pcm 8139too snd_timer mii snd i2c_piix4 soundcore yenta_socket i2c_core snd_page_alloc rsrc_nonstatic squashfs ext2 [last
unloaded: scsi_wait_scan]

Dec  2 16:47:57 voip7 kernel: Pid: 29531, comm: ipset Not tainted
2.6.34.7-56.fc13.i686 #1
Dec  2 16:47:57 voip7 kernel: Call Trace:
Dec  2 16:47:57 voip7 kernel: [<c0432c28>] __schedule_bug+0x51/0x56
Dec  2 16:47:57 voip7 kernel: [<c078ecab>] schedule+0x88/0x5dc
Dec  2 16:47:57 voip7 kernel: [<c0405af8>] ? show_trace+0x15/0x19
Dec  2 16:47:57 voip7 kernel: [<d38b6bd7>] ? iptreemap_del+0xb2/0x4c2
[ip_set_iptreemap]
Dec  2 16:47:57 voip7 kernel: [<c078f325>] _cond_resched+0x2e/0x47
Dec  2 16:47:57 voip7 kernel: [<c04c9429>] kmem_cache_alloc+0x3a/0xd9
Dec  2 16:47:57 voip7 kernel: [<d38b6bd7>] iptreemap_del+0xb2/0x4c2
[ip_set_iptreemap]
Dec  2 16:47:57 voip7 kernel: [<c04bc77c>] ? map_vm_area+0x26/0x39
Dec  2 16:47:57 voip7 kernel: [<d38b7031>] iptreemap_udel+0x22/0x27
[ip_set_iptreemap]
Dec  2 16:47:57 voip7 kernel: [<d36e64e5>] ip_set_delip+0x2e/0x40 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e77ea>] ip_set_sockfn_set+0x4f5/0x567
[ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e64b7>] ? ip_set_delip+0x0/0x40 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e645e>] ? ip_set_addip+0x0/0x59 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e64b7>] ? ip_set_delip+0x0/0x40 [ip_set]
Dec  2 16:47:57 voip7 kernel: [<d36e63af>] ? ip_set_testip+0x0/0x4a [ip_set]
Dec  2 16:47:57 voip7 kernel: [<c071eaa7>] nf_sockopt+0x103/0x118
Dec  2 16:47:57 voip7 kernel: [<c071eaf0>] nf_setsockopt+0x1a/0x1f
Dec  2 16:47:57 voip7 kernel: [<c0730e43>] ip_setsockopt+0x60/0x85
Dec  2 16:47:57 voip7 kernel: [<c07469fc>] raw_setsockopt+0x1f/0x62
Dec  2 16:47:57 voip7 kernel: [<c06f9100>] sock_common_setsockopt+0x18/0x1d
Dec  2 16:47:57 voip7 kernel: [<c06f72bc>] sys_setsockopt+0x6d/0x88
Dec  2 16:47:57 voip7 kernel: [<c06f89da>] sys_socketcall+0x145/0x1aa
Dec  2 16:47:57 voip7 kernel: [<c0790a64>] syscall_call+0x7/0xb
Quoted 2 lines

Any idea what may be the cause? The system is Pentium2-based with 288MB RAM and kernel 2.6.34.7-56 with xtables 1.30 and ipset 4.4 installed.

-
E-mail : [email protected], [email protected] PGP key : http://www.kfki.hu/~kadlec/pgp_public_key.txt
Address : KFKI Research Institute for Particle and Nuclear Physics

          H-1525 Budapest 114, POB. 49, Hungary
#2 lore raw
Quoted 3 lines

According to the logs below, it's a bug in deleting an entry from an iptreemap type. I'll look into it at the weekend, thanks for reporting!

It might be related to something I did (and was very impressed with as far as ipset goes): I had defined a /16 range of addresses in that ipset, but later on had to delete a single address from that range with the ipset -D command.

When I executed ipset -L (and got the kernel error) I found out that ipset had readjusted, 'automatically', the IP range, which I found quite good.

For example, let say the original IP range was 10.10.0.0-10.10.255.255. Then I deleted 10.10.100.100 and issued ipset -L. The previous range of 10.10.0.0-10.10.255.255 is now split in two, 'automatically' by ipset, to 10.10.0.0-10.10.100.99 and 10.10.100.101-10.10.255.255 - quite impressive, though unfortunate that I get the kernel error, which I suspect was caused by the deletion I did previously.