oops when propagating mounts into containers - RIP: 0010:[<ffffffff8123cb3e>] [<ffffffff8123cb3e>] propagate_one+0xbe/0x1c0
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
High
|
Seth Forshee | ||
Trusty |
Fix Released
|
High
|
Seth Forshee | ||
Vivid |
Fix Released
|
High
|
Seth Forshee | ||
Wily |
Fix Released
|
High
|
Seth Forshee | ||
Xenial |
Fix Released
|
High
|
Seth Forshee | ||
Yakkety |
Fix Released
|
High
|
Seth Forshee | ||
linux-lts-utopic (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Trusty |
Fix Released
|
High
|
Seth Forshee | ||
Vivid |
Invalid
|
Undecided
|
Unassigned | ||
Wily |
Invalid
|
Undecided
|
Unassigned | ||
Xenial |
Invalid
|
Undecided
|
Unassigned | ||
Yakkety |
Invalid
|
Undecided
|
Unassigned |
Bug Description
SRU Justification:
Impact: Propagation to some mount tree configurations can cause the kernel to oops. This is trivially reproducible using lxd.
Fix: Upstream cherry pick.
Regression Potential: Both Eric and I have tested the fix and believe that the post-fix code will handle all cases the same as before except for the ones which weren't being handled correctly. I believe the regression potential is small.
---
If I use LXD on xenial with a configuration that does something like: (/nfs in my case is an nfs mount, but based on the kernel code in question anything is probably okay):
devices:
bind:
type: disk
source: /nfs
path: /nfs
recursive: "true"
and then start the container and on the host, do a new mount:
sudo mount $ipaddr:
You get the following kernel oops:
Apr 11 21:59:36 stock2 kernel: [ 1648.993034] Oops: 0000 [#1] SMP
Apr 11 21:59:36 stock2 kernel: [ 1648.993415] Modules linked in: binfmt_misc veth rpcsec_gss_krb5 auth_rpcgss nfsv4 nfs lockd grace fscache xt_CHECKSUM iptable_mangle xt_tcpudp ipt_MASQUERADE nf_nat_
Apr 11 21:59:36 stock2 kernel: [ 1649.002015] CPU: 2 PID: 9449 Comm: mount.nfs Tainted: P O 4.4.0-18-generic #34+tych0201604
Apr 11 21:59:36 stock2 kernel: [ 1649.003037] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-
Apr 11 21:59:36 stock2 kernel: [ 1649.004042] task: ffff880074c1a580 ti: ffff880067d30000 task.ti: ffff880067d30000
Apr 11 21:59:36 stock2 kernel: [ 1649.004810] RIP: 0010:[<
Apr 11 21:59:36 stock2 kernel: [ 1649.005654] RSP: 0018:ffff880067
Apr 11 21:59:36 stock2 kernel: [ 1649.006211] RAX: ffff88003bb4ca80 RBX: ffff880074ad8300 RCX: ffff880074503500
Apr 11 21:59:36 stock2 kernel: [ 1649.006934] RDX: 0000000000000000 RSI: 000000000000019c RDI: 0000000000000000
Apr 11 21:59:36 stock2 kernel: [ 1649.007656] RBP: ffff880067d33d78 R08: ffff8800363bad80 R09: ffffffff813eac5c
Apr 11 21:59:36 stock2 kernel: [ 1649.008390] R10: ffffea00002b5800 R11: 0000000000018711 R12: ffff8800363ba600
Apr 11 21:59:36 stock2 kernel: [ 1649.009111] R13: ffff880067d33dc0 R14: ffff880074ad8300 R15: 0000000000000000
Apr 11 21:59:36 stock2 kernel: [ 1649.009835] FS: 00007f653eac488
Apr 11 21:59:36 stock2 kernel: [ 1649.010642] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
Apr 11 21:59:36 stock2 kernel: [ 1649.011237] CR2: 0000000000000010 CR3: 0000000077a4e000 CR4: 00000000000006e0
Apr 11 21:59:36 stock2 kernel: [ 1649.011984] Stack:
Apr 11 21:59:36 stock2 kernel: [ 1649.012255] ffff880074ad8300 ffff8800363ba600 ffff880067d33db0 ffffffff8123d060
Apr 11 21:59:36 stock2 kernel: [ 1649.013070] ffff88003bb4ca80 ffff8800363ba600 ffff88000c211980 0000000000000000
Apr 11 21:59:36 stock2 kernel: [ 1649.013892] ffff880067d33e98 ffff880067d33df8 ffffffff8122dd97 ffff88003bb4c900
Apr 11 21:59:36 stock2 kernel: [ 1649.014751] Call Trace:
Apr 11 21:59:36 stock2 kernel: [ 1649.015053] [<ffffffff8123d
Apr 11 21:59:36 stock2 kernel: [ 1649.015643] [<ffffffff8122d
Apr 11 21:59:36 stock2 kernel: [ 1649.016286] [<ffffffff8122d
Apr 11 21:59:36 stock2 kernel: [ 1649.016809] [<ffffffff8122d
Apr 11 21:59:36 stock2 kernel: [ 1649.017342] [<ffffffff8122e
Apr 11 21:59:36 stock2 kernel: [ 1649.017863] [<ffffffff8122e
Apr 11 21:59:36 stock2 kernel: [ 1649.018466] [<ffffffff8122f
Apr 11 21:59:36 stock2 kernel: [ 1649.018996] [<ffffffff81824
Apr 11 21:59:36 stock2 kernel: [ 1649.019631] Code: 39 90 d8 00 00 00 75 ec 8b b0 10 01 00 00 48 89 3d 80 e1 f8 00 48 89 05 81 e1 f8 00 39 b1 10 01 00 00 74 19 48 8b bf d8 00 00 00 <48> 8b 47 10 48 89 3d 5f e1 f8 00 48 89 05 60 e1 f8 00 8b 43 30
Apr 11 21:59:36 stock2 kernel: [ 1649.022395] RIP [<ffffffff8123c
Apr 11 21:59:36 stock2 kernel: [ 1649.022990] RSP <ffff880067d33d68>
Apr 11 21:59:36 stock2 kernel: [ 1649.023362] CR2: 0000000000000010
Apr 11 21:59:36 stock2 kernel: [ 1649.027053] ---[ end trace 46ce79a38cba28a5 ]---
Changed in linux (Ubuntu): | |
assignee: | nobody → Seth Forshee (sforshee) |
importance: | Undecided → High |
status: | New → Confirmed |
summary: |
- oops when propagating mounts into containers + oops when propagating mounts into containers - RIP: + 0010:[<ffffffff8123cb3e>] [<ffffffff8123cb3e>] propagate_one+0xbe/0x1c0 |
description: | updated |
Changed in linux (Ubuntu Wily): | |
assignee: | nobody → Seth Forshee (sforshee) |
importance: | Undecided → High |
status: | New → In Progress |
Changed in linux (Ubuntu Vivid): | |
assignee: | nobody → Seth Forshee (sforshee) |
importance: | Undecided → High |
status: | New → In Progress |
Changed in linux (Ubuntu Trusty): | |
assignee: | nobody → Seth Forshee (sforshee) |
importance: | Undecided → High |
status: | New → In Progress |
Changed in linux (Ubuntu Xenial): | |
status: | Confirmed → In Progress |
Changed in linux (Ubuntu Yakkety): | |
status: | Confirmed → In Progress |
Changed in linux-lts-utopic (Ubuntu Vivid): | |
status: | New → Invalid |
Changed in linux-lts-utopic (Ubuntu Wily): | |
status: | New → Invalid |
Changed in linux-lts-utopic (Ubuntu Xenial): | |
status: | New → Invalid |
Changed in linux-lts-utopic (Ubuntu Yakkety): | |
status: | New → Invalid |
Changed in linux-lts-utopic (Ubuntu Trusty): | |
assignee: | nobody → Seth Forshee (sforshee) |
importance: | Undecided → High |
status: | New → In Progress |
description: | updated |
Changed in linux (Ubuntu Yakkety): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Trusty): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Vivid): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Wily): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Xenial): | |
status: | In Progress → Fix Committed |
Changed in linux-lts-utopic (Ubuntu Trusty): | |
status: | In Progress → Fix Committed |
This doesn't have to be an nfs mount, I've been able to reproduce it using an ext4 loopback mount.