All of lore.kernel.org
 help / color / mirror / Atom feed
* kernel oops - do_ip_vs_get_ctl
@ 2012-04-20  5:03 Ryan O'Hara
  2012-04-20  9:03 ` Julian Anastasov
  0 siblings, 1 reply; 5+ messages in thread
From: Ryan O'Hara @ 2012-04-20  5:03 UTC (permalink / raw)
  To: lvs-devel

[-- Attachment #1: Type: text/plain, Size: 246 bytes --]


I frequently get a kernel oops in do_ip_vs_get_ctl when starting 
keepalived on a 3.3.0 kernel. I'm attaching the trace from 
/var/log/messages. Has anyone encountered this problem and if so is 
there a patch available? Much appreciated.

Ryan


[-- Attachment #2: oops.txt --]
[-- Type: text/plain, Size: 5490 bytes --]

Mar 25 22:04:32 rocket-01 kernel: [  232.003309] nf_conntrack version 0.5.0 (7969 buckets, 31876 max)
Mar 25 22:04:32 rocket-01 kernel: [  232.015724] IPVS: Registered protocols (TCP, UDP, SCTP, AH, ESP)
Mar 25 22:04:32 rocket-01 kernel: [  232.019222] BUG: unable to handle kernel NULL pointer dereference at 00000000000005f8
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] IP: [<ffffffffa00bf6b9>] do_ip_vs_get_ctl+0x5d9/0x960 [ip_vs]
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] PGD 3b98e067 PUD 3b999067 PMD 0 
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] Oops: 0000 [#1] SMP 
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] CPU 0 
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] Modules linked in: ip_vs(+) nf_conntrack libcrc32c lockd i2c_piix4 joydev i2c_core virtio_net virtio_balloon microcode sunrpc virtio_blk [last unloaded: scsi_wait_scan]
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] 
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] Pid: 868, comm: keepalived Not tainted 3.3.0-4.fc16.x86_64 #1 Red Hat KVM
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] RIP: 0010:[<ffffffffa00bf6b9>]  [<ffffffffa00bf6b9>] do_ip_vs_get_ctl+0x5d9/0x960 [ip_vs]
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] RSP: 0018:ffff88003b9f3ca8  EFLAGS: 00010293
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] RAX: 0000000000001000 RBX: 0000000000000481 RCX: 0000000000000001
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] RDX: ffff88003b9f3fd8 RSI: 000000000062ba20 RDI: ffffffffa00d10c0
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] RBP: ffff88003b9f3e48 R08: 0000000000000000 R09: 0000000000000000
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] R10: 0000000000000074 R11: 0000000000001000 R12: 0000000000000000
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] R13: ffffffff81f72240 R14: 00000000fffffe00 R15: 000000000062ba14
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] FS:  00007f53e38277c0(0000) GS:ffff88003fc00000(0000) knlGS:0000000000000000
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] CR2: 00000000000005f8 CR3: 000000003b99c000 CR4: 00000000000006f0
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] Process keepalived (pid: 868, threadinfo ffff88003b9f2000, task ffff88003b924590)
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] Stack:
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  ffff88000000000c ffffffff00000001 ffff88003b9f3ed4 ffffffff814d3173
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  0000100000010201 ffff88003c826700 0000000000000481 00007fff5552827c
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  ffff88003b9f3ea8 ffffffff81522b8d ffff88003b9f3b78 000000003b9f3f18
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] Call Trace:
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff814d3173>] ? release_sock+0xe3/0x110
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff81522b8d>] ? do_ip_getsockopt.part.1+0x7d/0x650
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff8114671d>] ? handle_pte_fault+0x2ad/0xad0
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff814ced7b>] ? move_addr_to_user+0xbb/0xd0
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff8116c22f>] ? kmem_cache_free+0x2f/0x130
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff811bf5a1>] ? fsnotify_clear_marks_by_inode+0x31/0xf0
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff8116c22f>] ? kmem_cache_free+0x2f/0x130
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff8126be84>] ? avc_has_perm_flags+0x74/0x90
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff81512ce6>] ? nf_sockopt_find.part.0+0xa6/0x120
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff81512f38>] nf_sockopt+0x98/0xc0
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff81512f78>] nf_getsockopt+0x18/0x20
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff81523335>] ip_getsockopt+0xa5/0x110
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff81543716>] raw_getsockopt+0x16/0x30
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff814d2924>] sock_common_getsockopt+0x14/0x20
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff814d1db3>] sys_getsockopt+0x73/0xe0
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  [<ffffffff815fc029>] system_call_fastpath+0x16/0x1b
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] Code: 49 81 f8 00 01 00 00 0f 85 18 ff ff ff 45 31 f6 e9 45 fb ff ff 8b 05 17 28 01 00 c7 85 80 fe ff ff 01 02 01 00 89 85 84 fe ff ff <41> 8b 84 24 f8 05 00 00 89 85 88 fe ff ff e9 91 fc ff ff 48 8d 
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] RIP  [<ffffffffa00bf6b9>] do_ip_vs_get_ctl+0x5d9/0x960 [ip_vs]
Mar 25 22:04:32 rocket-01 kernel: [  232.020016]  RSP <ffff88003b9f3ca8>
Mar 25 22:04:32 rocket-01 kernel: [  232.020016] CR2: 00000000000005f8
Mar 25 22:04:32 rocket-01 kernel: [  232.086854] ---[ end trace 3203677ddb800294 ]---
Mar 25 22:04:32 rocket-01 kernel: [  232.088977] IPVS: Connection hash table configured (size=4096, memory=64Kbytes)
Mar 25 22:04:32 rocket-01 kernel: [  232.090732] IPVS: Creating netns size=2088 id=0
Mar 25 22:04:32 rocket-01 kernel: [  232.092253] IPVS: ipvs loaded.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: kernel oops - do_ip_vs_get_ctl
  2012-04-20  5:03 kernel oops - do_ip_vs_get_ctl Ryan O'Hara
@ 2012-04-20  9:03 ` Julian Anastasov
  0 siblings, 0 replies; 5+ messages in thread
From: Julian Anastasov @ 2012-04-20  9:03 UTC (permalink / raw)
  To: Ryan O'Hara; +Cc: lvs-devel


	Hello,

On Fri, 20 Apr 2012, Ryan O'Hara wrote:

> 
> I frequently get a kernel oops in do_ip_vs_get_ctl when starting keepalived on
> a 3.3.0 kernel. I'm attaching the trace from /var/log/messages. Has anyone
> encountered this problem and if so is there a patch available? Much
> appreciated.

	Is it happening while ip_vs module is loading?
nf_register_sockopt is one of the first thing that is
initialized, may be the GET operation accesses something
from net->ipvs that is not initialized yet. As I can not
see properly the exact place from the oops, I'll try to
analyze do_ip_vs_get_ctl for such problem. May be other
folks will be faster in tracking the right command and
position in the source code.

	May be we have to split ip_vs_control_init to
two parts so that sockopts are the last thing to register
on init.

Regards

--
Julian Anastasov <ja@ssi.bg>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: kernel oops - do_ip_vs_get_ctl
  2012-04-21 10:11 Re[3]: " Hans Schillstrom
@ 2012-04-23 13:32 ` Simon Horman
  2012-04-23 19:55   ` Julian Anastasov
  0 siblings, 1 reply; 5+ messages in thread
From: Simon Horman @ 2012-04-23 13:32 UTC (permalink / raw)
  To: Hans Schillstrom
  Cc: Julian Anastasov, Ryan O'Hara, lvs-devel, Sasha Levin

On Sat, Apr 21, 2012 at 12:11:49PM +0200, Hans Schillstrom wrote:
> Hello 
> >Subject: Re[2]: kernel oops - do_ip_vs_get_ctl
> >
> >Hello,
> >
> >On Fri, 20 Apr 2012, Hans Schillstrom wrote:
> >
> >> >On Fri, 20 Apr 2012, Ryan O'Hara wrote:
> >> >
> >> >> 
> >> >> I frequently get a kernel oops in do_ip_vs_get_ctl when starting keepalived on
> >> >> a 3.3.0 kernel. I'm attaching the trace from /var/log/messages. Has anyone
> >> >> encountered this problem and if so is there a patch available? Much
> >> >> appreciated.
> >> >
> [snip]
> 
> >> Do you prepare a patch or should I do it  ?
> >
> >	I'm stopping doing more patches until Simon takes
> >the previous changes, so that we can use some fresh tree.
> >You can try fixing this problem if you think you have
> >recent changes.
> >
> OK I'll take care of this and double check with Simon that we have the
> same view of patches

Hi,

sorry for not being a little more attentive to patches.

I have now picked up all the patches that seem to have consensus.
Those that seem critical I have pushed into ipvs with a CC: stable@
and sent a pull request to Pablo to consider them for 3.4.

There are two such patches and the head of the ipvs tree now looks like
this:

0cc4789 ipvs: fix crash in ip_vs_control_net_cleanup on unload
bd7dc1c netfilter: ipvs: Verify that IP_VS protocol has been registered

Those that seemed less critical where the GFP_ATOMIC changes, one
from Sasha and 6 from Julian. The head of the ipvs-next tree now looks like
this:

663f4b2 netfilter: ipvs: use GFP_KERNEL allocation where possible
b5cfd04 ipvs: SH scheduler does not need GFP_ATOMIC allocation
5b3b290 ipvs: LBLCR scheduler does not need GFP_ATOMIC allocation on init
c087c6f ipvs: WRR scheduler does not need GFP_ATOMIC allocation
8cfaf8d ipvs: DH scheduler does not need GFP_ATOMIC allocation
e7c6390 ipvs: LBLC scheduler does not need GFP_ATOMIC allocation on init
8f78609 ipvs: timeout tables do not need GFP_ATOMIC allocation

Please let me know if there are any other patches you would like
merged at this time.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: kernel oops - do_ip_vs_get_ctl
  2012-04-23 13:32 ` Simon Horman
@ 2012-04-23 19:55   ` Julian Anastasov
  2012-04-26  6:31     ` Simon Horman
  0 siblings, 1 reply; 5+ messages in thread
From: Julian Anastasov @ 2012-04-23 19:55 UTC (permalink / raw)
  To: Simon Horman; +Cc: Hans Schillstrom, Ryan O'Hara, lvs-devel, Sasha Levin


	Hello,

On Mon, 23 Apr 2012, Simon Horman wrote:

> Hi,
> 
> sorry for not being a little more attentive to patches.
> 
> I have now picked up all the patches that seem to have consensus.
> Those that seem critical I have pushed into ipvs with a CC: stable@
> and sent a pull request to Pablo to consider them for 3.4.
> 
> There are two such patches and the head of the ipvs tree now looks like
> this:
> 
> 0cc4789 ipvs: fix crash in ip_vs_control_net_cleanup on unload
> bd7dc1c netfilter: ipvs: Verify that IP_VS protocol has been registered
> 
> Those that seemed less critical where the GFP_ATOMIC changes, one
> from Sasha and 6 from Julian. The head of the ipvs-next tree now looks like
> this:
> 
> 663f4b2 netfilter: ipvs: use GFP_KERNEL allocation where possible
> b5cfd04 ipvs: SH scheduler does not need GFP_ATOMIC allocation
> 5b3b290 ipvs: LBLCR scheduler does not need GFP_ATOMIC allocation on init
> c087c6f ipvs: WRR scheduler does not need GFP_ATOMIC allocation
> 8cfaf8d ipvs: DH scheduler does not need GFP_ATOMIC allocation
> e7c6390 ipvs: LBLC scheduler does not need GFP_ATOMIC allocation on init
> 8f78609 ipvs: timeout tables do not need GFP_ATOMIC allocation
> 
> Please let me know if there are any other patches you would like
> merged at this time.

	These two patches are also fixes but may be the 2nd
patch is too long for fix:

ipvs: reset ipvs pointer in netns
ipvs: fix app registration in netns

	If it looks too long for fix we can push some
simple check for net->ipvs in __ip_vs_ftp_init, so that
we do not oops when IPVS core is compiled in kernel.
Even if smaller version is sent to stable kernels,
I prefer "ipvs: fix app registration in netns" to be
applied at least for net-next. May be I should split
this 2nd patch as two-line fix + additional change
for net-next?

	Hans should provide similar two-line fixes for
LBLC and LBLCR. And one for latest crash report.

Regards

--
Julian Anastasov <ja@ssi.bg>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: kernel oops - do_ip_vs_get_ctl
  2012-04-23 19:55   ` Julian Anastasov
@ 2012-04-26  6:31     ` Simon Horman
  0 siblings, 0 replies; 5+ messages in thread
From: Simon Horman @ 2012-04-26  6:31 UTC (permalink / raw)
  To: Julian Anastasov
  Cc: Hans Schillstrom, Ryan O'Hara, lvs-devel, Sasha Levin

On Mon, Apr 23, 2012 at 10:55:30PM +0300, Julian Anastasov wrote:
> 
> 	Hello,
> 
> On Mon, 23 Apr 2012, Simon Horman wrote:
> 
> > Hi,
> > 
> > sorry for not being a little more attentive to patches.
> > 
> > I have now picked up all the patches that seem to have consensus.
> > Those that seem critical I have pushed into ipvs with a CC: stable@
> > and sent a pull request to Pablo to consider them for 3.4.
> > 
> > There are two such patches and the head of the ipvs tree now looks like
> > this:
> > 
> > 0cc4789 ipvs: fix crash in ip_vs_control_net_cleanup on unload
> > bd7dc1c netfilter: ipvs: Verify that IP_VS protocol has been registered
> > 
> > Those that seemed less critical where the GFP_ATOMIC changes, one
> > from Sasha and 6 from Julian. The head of the ipvs-next tree now looks like
> > this:
> > 
> > 663f4b2 netfilter: ipvs: use GFP_KERNEL allocation where possible
> > b5cfd04 ipvs: SH scheduler does not need GFP_ATOMIC allocation
> > 5b3b290 ipvs: LBLCR scheduler does not need GFP_ATOMIC allocation on init
> > c087c6f ipvs: WRR scheduler does not need GFP_ATOMIC allocation
> > 8cfaf8d ipvs: DH scheduler does not need GFP_ATOMIC allocation
> > e7c6390 ipvs: LBLC scheduler does not need GFP_ATOMIC allocation on init
> > 8f78609 ipvs: timeout tables do not need GFP_ATOMIC allocation
> > 
> > Please let me know if there are any other patches you would like
> > merged at this time.
> 
> 	These two patches are also fixes but may be the 2nd
> patch is too long for fix:
> 
> ipvs: reset ipvs pointer in netns
> ipvs: fix app registration in netns

Thanks, I have these now.

> 	If it looks too long for fix we can push some
> simple check for net->ipvs in __ip_vs_ftp_init, so that
> we do not oops when IPVS core is compiled in kernel.
> Even if smaller version is sent to stable kernels,
> I prefer "ipvs: fix app registration in netns" to be
> applied at least for net-next. May be I should split
> this 2nd patch as two-line fix + additional change
> for net-next?
> 
> 	Hans should provide similar two-line fixes for
> LBLC and LBLCR. And one for latest crash report.

And I am awaiting consensus on the following fixes from Hans.

ipvs: null check of net->ipvs in lblc(r) shedulers
ipvs: take care of return value from protocol init_netns
ipvs: kernel oops - do_ip_vs_get_ctl

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-04-26  6:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-20  5:03 kernel oops - do_ip_vs_get_ctl Ryan O'Hara
2012-04-20  9:03 ` Julian Anastasov
  -- strict thread matches above, loose matches on Subject: below --
2012-04-21 10:11 Re[3]: " Hans Schillstrom
2012-04-23 13:32 ` Simon Horman
2012-04-23 19:55   ` Julian Anastasov
2012-04-26  6:31     ` Simon Horman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.