AppArmor causes hard lock when free vmalloced memory in interrupt context
Bug #562044 reported by
John Johansen
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
In Progress
|
Undecided
|
John Johansen |
Bug Description
AppArmor will cause a hard lockup due to calling vfree in interrupt context, backtrace attached below
To post a comment you must log in.
[ 80.250147] ------------[ cut here ]------------ ubuntu/ lucid/ubuntu- lucid/mm/ vmalloc. c:1406! pci0000: 00/0000: 00:04.0/ class ffffffff8111f65 c>] [<ffffffff8111f 65c>] vfree+0x2c/0x30 c03d50 EFLAGS: 00010206 0(0000) GS:ffff880001c0 0000(0000) knlGS:000000000 0000000 d15>] free_table+ 0x45/0x50 f0a>] aa_dfa_ free+0x2a/ 0x50 f30>] ? aa_dfa_ free_kref+ 0x0/0x10 f3e>] aa_dfa_ free_kref+ 0xe/0x10 5d7>] kref_put+0x37/0x70 e80>] ? aa_free_ profile_ kref+0x0/ 0x20 dfa>] aa_free_ profile+ 0xaa/0x130 e92>] aa_free_ profile_ kref+0x12/ 0x20 5d7>] kref_put+0x37/0x70 4ce>] aa_free_ task_context+ 0x2e/0x70 9ea>] apparmor_ cred_free+ 0x1a/0x30 d86>] security_ cred_free+ 0x16/0x20 6e6>] put_cred_ rcu+0x26/ 0xb0 f9d>] __rcu_process_ callbacks+ 0x10d/0x340 a61>] ? kvm_clock_ read+0x21/ 0x30 1fb>] rcu_process_ callbacks+ 0x2b/0x50 3a7>] __do_softirq+ 0xb7/0x1e0 45a>] ? tick_program_ event+0x2a/ 0x30 2ec>] call_softirq+ 0x1c/0x30 cb5>] do_softirq+ 0x65/0xa0. ..
[ 80.251233] kernel BUG at /home/jj/
[ 80.252769] invalid opcode: 0000 [#1] SMP
[ 80.253702] last sysfs file: /sys/devices/
[ 80.255107] CPU 0
[ 80.255559] Modules linked in: binfmt_misc ppdev lp parport fbcon tileblit font bitblit softcursor psmouse serio_raw vga16fb vgastate i2c_piix4 virtio_blk virtio_net floppy virtio_pci virtio_ring virtio
[ 80.259814] Pid: 671, comm: Xorg Not tainted 2.6.32-20-generic #30 Bochs
[ 80.260019] RIP: 0010:[<
[ 80.260019] RSP: 0018:ffff880001
[ 80.260019] RAX: 0000000000000100 RBX: 0000000000000000 RCX: ffffffff817af230
[ 80.260019] RDX: 000000000020e000 RSI: ffffffff8127df30 RDI: ffffc9000020e000
[ 80.260019] RBP: ffff880001c03d50 R08: 0000000000000000 R09: 0000000000000000
[ 80.260019] R10: 0000000000000000 R11: 0000000000000001 R12: ffff88001cc2b540
[ 80.260019] R13: ffff88001f8c5840 R14: ffff88001f8c5840 R15: ffff880001c10610
[ 80.260019] FS: 00007f919246c70
[ 80.260019] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 80.260019] CR2: 00007f0a62c70000 CR3: 000000001085a000 CR4: 00000000000006f0
[ 80.260019] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 80.260019] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 80.260019] Process Xorg (pid: 671, threadinfo ffff880011db0000, task ffff8800127a44d0)
[ 80.260019] Stack:
[ 80.260019] ffff880001c03d60 ffffffff8127dd15 ffff880001c03d80 ffffffff8127df0a
[ 80.260019] <0> ffff88001cc2b540 ffffffff8127df30 ffff880001c03d90 ffffffff8127df3e
[ 80.260019] <0> ffff880001c03db0 ffffffff812b45d7 ffff880012425800 ffffffff81280e80
[ 80.260019] Call Trace:
[ 80.260019] <IRQ>
[ 80.260019] [<ffffffff8127d
[ 80.260019] [<ffffffff8127d
[ 80.260019] [<ffffffff8127d
[ 80.260019] [<ffffffff8127d
[ 80.260019] [<ffffffff812b4
[ 80.260019] [<ffffffff81280
[ 80.260019] [<ffffffff81280
[ 80.260019] [<ffffffff81280
[ 80.260019] [<ffffffff812b4
[ 80.260019] [<ffffffff8127d
[ 80.260019] [<ffffffff81282
[ 80.260019] [<ffffffff81250
[ 80.260019] [<ffffffff8108b
[ 80.260019] [<ffffffff810c9
[ 80.260019] [<ffffffff81038
[ 80.260019] [<ffffffff810ca
[ 80.260019] [<ffffffff8106e
[ 80.260019] [<ffffffff81094
[ 80.260019] [<ffffffff81014
[ 80.260019] [<ffffffff81015