Skip to contentSkip to conversation

kernel BUG at fs/buffer.c:1234!

DISCUSSION Dustin Lundquist 3 participants 7 messages Jun 19, 2013 – Jul 10, 2013

lore
Share & tools
lore
#0 lore raw

I've run into the following oops several times with the 3.10-rc3 through -rc6, and they have not occurred under 3.9. Originally they only occurred when running Google Chrome, but this is the first time it has happened in another application.

After this occurs I can not access any local files, but still able to use remote systems and executables which are already cached.

[36386.297932] ------------[ cut here ]------------
[36386.297961] kernel BUG at fs/buffer.c:1234!
[36386.297982] invalid opcode: 0000 [#1] SMP
[36386.298004] Modules linked in: hidp ecb ip6table_filter ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_CHECKSUM iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc parport_pc ppdev lp parport cpufreq_conservative cpufreq_powersave cpufreq_stats cpufreq_userspace rfcomm bnep binfmt_misc uinput loop ecryptfs hid_generic usbhid hid snd_hda_codec_hdmi snd_hda_codec_realtek uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev btusb bluetooth joydev coretemp kvm_intel kvm crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd iTCO_wdt iTCO_vendor_support arc4 snd_hda_intel snd_hda_codec thinkpad_acpi iwldvm snd_hwdep snd_pcm snd_page_alloc mac80211 nvram snd_seq snd_timer snd_seq_device psmouse serio_raw i915 snd evdev iwlwifi drm_kms_helper microcode battery i2c_i801 drm ac lpc_ich mfd_core pcspkr i2c_algo_bit cfg80211 i2c_core video wmi ehci_pci rfkill soundcore ehci_hcd acpi_cpufreq mperf button processor ext4 crc16 jbd2 mbcache dm_mod sg sd_mod crc_t10dif ahci libahci thermal thermal_sys xhci_hcd libata usbcore usb_common e1000e ptp sdhci_pci pps_core sdhci scsi_mod mmc_core
[36386.298747] CPU: 1 PID: 28664 Comm: debconf-communi Not tainted 3.10.0-rc6 #1
[36386.298836] Hardware name: LENOVO 2306CTO/2306CTO, BIOS G2ET94WW (2.54 ) 04/30/2013
[36386.298930] task: ffff88039f3d8040 ti: ffff8803653bc000 task.ti: ffff8803653bc000
[36386.299021] RIP: 0010:[<ffffffff8112396e>]  [<ffffffff8112396e>] check_irqs_on+0x7/0xa
[36386.299130] RSP: 0018:ffff8803653bd540  EFLAGS: 00010046
[36386.299196] RAX: 0000000000000096 RBX: 0000000000001000 RCX: 0000000000000000
[36386.299283] RDX: 0000000000001000 RSI: 0000000000a8207b RDI: ffff88041d788a80
[36386.299370] RBP: ffff88041d788a80 R08: 0000000001400000 R09: 0000000000000010
[36386.299457] R10: 0000000000000000 R11: 000000000000000e R12: 0000000000a8207b
[36386.299543] R13: 0000000000000001 R14: 0000000000a8207b R15: 0000000000000000
[36386.299638] FS:  00007f09ccc6d700(0000) GS:ffff88041e240000(0000) knlGS:0000000000000000
[36386.299756] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[36386.299845] CR2: 0000000001852c38 CR3: 0000000352268000 CR4: 00000000001407e0
[36386.299952] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[36386.300061] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[36386.300166] Stack:
[36386.300200]  ffffffff81123bb5 0000000000000001 ffff8803fae99fb0 ffff8803653bd5b0
[36386.300329]  ffffffffa015010d ffff8803653bd6b4 ffff8803653bd630 ffff8803653bd630
[36386.300458]  ffff8803fae9a870 0000000000000000 ffff8803653bd6b4 0000000000001000
[36386.300591] Call Trace:
[36386.300641]  [<ffffffff81123bb5>] ? __find_get_block+0x17/0x162
[36386.300770]  [<ffffffffa015010d>] ? __check_block_validity.constprop.53+0x27/0x65 [ext4]
[36386.300898]  [<ffffffff811248f1>] ? __getblk+0x1b/0x275
[36386.301004]  [<ffffffffa0151c55>] ? ext4_getblk+0x9b/0x15d [ext4]
[36386.301118]  [<ffffffffa0151d24>] ? ext4_bread+0xd/0x61 [ext4]
[36386.301234]  [<ffffffffa0157f2f>] ? __ext4_read_dirblock+0x35/0x251 [ext4]
[36386.301361]  [<ffffffffa015836c>] ? dx_probe+0x38/0x308 [ext4]
[36386.301469]  [<ffffffffa0157fae>] ? __ext4_read_dirblock+0xb4/0x251 [ext4]
[36386.301593]  [<ffffffffa01590cc>] ? ext4_dx_find_entry+0x3d/0x152 [ext4]
[36386.301698]  [<ffffffff810eef43>] ? ____cache_alloc+0x41/0x251
[36386.301792]  [<ffffffff810eef43>] ? ____cache_alloc+0x41/0x251
[36386.301890]  [<ffffffff81194244>] ? blkcipher_walk_done+0xb2/0x16f
[36386.302008]  [<ffffffffa01592ee>] ? ext4_find_entry+0x10d/0x3be [ext4]
[36386.302111]  [<ffffffff810efd03>] ? __kmalloc+0x13a/0x14c
[36386.302196]  [<ffffffff81110e8c>] ? __d_alloc+0x3f/0x141
[36386.302300]  [<ffffffffa01595d5>] ? ext4_lookup+0x36/0x10b [ext4]
[36386.302398]  [<ffffffff8110f347>] ? spin_unlock+0x5/0x6
[36386.306492]  [<ffffffff81107d05>] ? lookup_real+0x24/0x3f
[36386.310214]  [<ffffffff8110814c>] ? __lookup_hash+0x2a/0x31
[36386.313899]  [<ffffffff8110bda6>] ? lookup_one_len+0xd3/0xe5
[36386.317355]  [<ffffffffa05e61e1>] ? ecryptfs_lookup+0xff/0x2d3 [ecryptfs]
[36386.320621]  [<ffffffff81107d05>] ? lookup_real+0x24/0x3f
[36386.323711]  [<ffffffff8110b491>] ? do_last+0x509/0xa16
[36386.326638]  [<ffffffff8110923a>] ? __inode_permission+0x2f/0x95
[36386.329532]  [<ffffffff8110ba62>] ? path_openat+0xc4/0x335
[36386.332207]  [<ffffffff8110bf7e>] ? do_filp_open+0x2a/0x6e
[36386.334746]  [<ffffffff8105b816>] ? load_balance+0xc7/0x5e0
[36386.337225]  [<ffffffff811419e2>] ? cn_printf+0xda/0xea
[36386.339602]  [<ffffffff810ffa1b>] ? file_open_name+0x27/0x2d
[36386.341943]  [<ffffffff810ffa43>] ? filp_open+0x22/0x27
[36386.344216]  [<ffffffff81142250>] ? do_coredump+0x85e/0xbe6
[36386.346503]  [<ffffffff81053e11>] ? finish_task_switch+0x78/0x9a
[36386.348717]  [<ffffffff8103f87a>] ? get_signal_to_deliver+0x46a/0x4a5
[36386.351041]  [<ffffffff8100214a>] ? do_signal+0x3c/0x504
[36386.352025]  [<ffffffff811007aa>] ? vfs_write+0xdc/0x103
[36386.353904]  [<ffffffff81100864>] ? vfs_read+0x93/0xf5
[36386.356074]  [<ffffffff81002637>] ? do_notify_resume+0x25/0x68
[36386.358250]  [<ffffffff81370862>] ? int_signal+0x12/0x17
[36386.360377] Code: db b6 6d 48 c1 fe 03 48 0f af f0 48 b8 00 00 00 00 00 88 ff ff 48 c1 e6 0c 48 01 c6 48 01 f2 48 89 57 28 c3 9c 58 f6 c4 02 75 02 <0f> 0b c3 55 48 c7 c5 60 f3 00 00 83 c8 ff 53 31 db 41 52 65 c7
[36386.365120] RIP  [<ffffffff8112396e>] check_irqs_on+0x7/0xa
[36386.367479]  RSP <ffff8803653bd540>
[36386.381228] ---[ end trace 3ddcbffc09c97c49 ]---

Full dmesg output and .config are here: https://gist.github.com/dlundquist/1d94dd938f03c5d06a2b

#1 lore raw
Quoted 4 lines · Dustin Lundquist

I've run into the following oops several times with the 3.10-rc3 through -rc6, and they have not occurred under 3.9. Originally they only occurred when running Google Chrome, but this is the first time it has happened in another application.

So this is very strange. fs/buffer.c:1234 for 3.10-rc6 is this BUG_ON:

static inline void check_irqs_on(void)
{

#ifdef irqs_disabled
	BUG_ON(irqs_disabled());

#endif
}

The only place where ext4 turns off irq's is very briefly in fs/ext4/page-io.c, and it's pretty easy to visually inspect all of the calls to spin_lock_irqsave() and spin_lock_irqrestore() and lock_irq_save() and local_irq_restore() are properly bracketed --- and the stack trace does not have any of the functions that are defined in fs/ext4/page_io.c.

I notice from the dmesg file that one of the ext4 file systems is mounted on a device mapper volume. What kind of dm device is it?

- Ted

Quoted 118 lines

After this occurs I can not access any local files, but still able to use remote systems and executables which are already cached.

[36386.297932] ------------[ cut here ]------------
[36386.297961] kernel BUG at fs/buffer.c:1234!
[36386.297982] invalid opcode: 0000 [#1] SMP
[36386.298004] Modules linked in: hidp ecb ip6table_filter

ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_CHECKSUM iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc parport_pc ppdev lp parport cpufreq_conservative cpufreq_powersave cpufreq_stats cpufreq_userspace rfcomm bnep binfmt_misc uinput loop ecryptfs hid_generic usbhid hid snd_hda_codec_hdmi snd_hda_codec_realtek uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev btusb bluetooth joydev coretemp kvm_intel kvm crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd iTCO_wdt iTCO_vendor_support arc4 snd_hda_intel snd_hda_codec thinkpad_acpi iwldvm snd_hwdep snd_pcm snd_page_alloc mac80211 nvram snd_seq snd_timer snd_seq_device psmouse serio_raw i915 snd evdev iwlwifi drm_kms_helper microcode battery i2c_i801 drm ac lpc_ich mfd_core pcspkr i2c_algo_bit cfg80211 i2c_core video wmi ehci_pci rfkill soundcore ehci_hcd acpi_cpufreq mperf button processor ext4 crc16 jbd2 mbcache dm_mod sg sd_mod crc_t10dif ahci libahci thermal thermal_sys xhci_hcd libata usbcore usb_common e1000e ptp sdhci_pci pps_core sdhci scsi_mod mmc_core

[36386.298747] CPU: 1 PID: 28664 Comm: debconf-communi Not tainted
3.10.0-rc6 #1
[36386.298836] Hardware name: LENOVO 2306CTO/2306CTO, BIOS G2ET94WW
(2.54 ) 04/30/2013
[36386.298930] task: ffff88039f3d8040 ti: ffff8803653bc000 task.ti:
ffff8803653bc000
[36386.299021] RIP: 0010:[<ffffffff8112396e>]  [<ffffffff8112396e>]
check_irqs_on+0x7/0xa
[36386.299130] RSP: 0018:ffff8803653bd540  EFLAGS: 00010046
[36386.299196] RAX: 0000000000000096 RBX: 0000000000001000 RCX:
0000000000000000
[36386.299283] RDX: 0000000000001000 RSI: 0000000000a8207b RDI:
ffff88041d788a80
[36386.299370] RBP: ffff88041d788a80 R08: 0000000001400000 R09:
0000000000000010
[36386.299457] R10: 0000000000000000 R11: 000000000000000e R12:
0000000000a8207b
[36386.299543] R13: 0000000000000001 R14: 0000000000a8207b R15:
0000000000000000
[36386.299638] FS:  00007f09ccc6d700(0000) GS:ffff88041e240000(0000)
knlGS:0000000000000000
[36386.299756] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[36386.299845] CR2: 0000000001852c38 CR3: 0000000352268000 CR4:
00000000001407e0
[36386.299952] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
0000000000000000
[36386.300061] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:
0000000000000400
[36386.300166] Stack:
[36386.300200]  ffffffff81123bb5 0000000000000001 ffff8803fae99fb0
ffff8803653bd5b0
[36386.300329]  ffffffffa015010d ffff8803653bd6b4 ffff8803653bd630
ffff8803653bd630
[36386.300458]  ffff8803fae9a870 0000000000000000 ffff8803653bd6b4
0000000000001000
[36386.300591] Call Trace:
[36386.300641]  [<ffffffff81123bb5>] ? __find_get_block+0x17/0x162
[36386.300770]  [<ffffffffa015010d>] ?
__check_block_validity.constprop.53+0x27/0x65 [ext4]
[36386.300898]  [<ffffffff811248f1>] ? __getblk+0x1b/0x275
[36386.301004]  [<ffffffffa0151c55>] ? ext4_getblk+0x9b/0x15d [ext4]
[36386.301118]  [<ffffffffa0151d24>] ? ext4_bread+0xd/0x61 [ext4]
[36386.301234]  [<ffffffffa0157f2f>] ?
__ext4_read_dirblock+0x35/0x251 [ext4]
[36386.301361]  [<ffffffffa015836c>] ? dx_probe+0x38/0x308 [ext4]
[36386.301469]  [<ffffffffa0157fae>] ?
__ext4_read_dirblock+0xb4/0x251 [ext4]
[36386.301593]  [<ffffffffa01590cc>] ? ext4_dx_find_entry+0x3d/0x152 [ext4]
[36386.301698]  [<ffffffff810eef43>] ? ____cache_alloc+0x41/0x251
[36386.301792]  [<ffffffff810eef43>] ? ____cache_alloc+0x41/0x251
[36386.301890]  [<ffffffff81194244>] ? blkcipher_walk_done+0xb2/0x16f
[36386.302008]  [<ffffffffa01592ee>] ? ext4_find_entry+0x10d/0x3be [ext4]
[36386.302111]  [<ffffffff810efd03>] ? __kmalloc+0x13a/0x14c
[36386.302196]  [<ffffffff81110e8c>] ? __d_alloc+0x3f/0x141
[36386.302300]  [<ffffffffa01595d5>] ? ext4_lookup+0x36/0x10b [ext4]
[36386.302398]  [<ffffffff8110f347>] ? spin_unlock+0x5/0x6
[36386.306492]  [<ffffffff81107d05>] ? lookup_real+0x24/0x3f
[36386.310214]  [<ffffffff8110814c>] ? __lookup_hash+0x2a/0x31
[36386.313899]  [<ffffffff8110bda6>] ? lookup_one_len+0xd3/0xe5
[36386.317355]  [<ffffffffa05e61e1>] ? ecryptfs_lookup+0xff/0x2d3 [ecryptfs]
[36386.320621]  [<ffffffff81107d05>] ? lookup_real+0x24/0x3f
[36386.323711]  [<ffffffff8110b491>] ? do_last+0x509/0xa16
[36386.326638]  [<ffffffff8110923a>] ? __inode_permission+0x2f/0x95
[36386.329532]  [<ffffffff8110ba62>] ? path_openat+0xc4/0x335
[36386.332207]  [<ffffffff8110bf7e>] ? do_filp_open+0x2a/0x6e
[36386.334746]  [<ffffffff8105b816>] ? load_balance+0xc7/0x5e0
[36386.337225]  [<ffffffff811419e2>] ? cn_printf+0xda/0xea
[36386.339602]  [<ffffffff810ffa1b>] ? file_open_name+0x27/0x2d
[36386.341943]  [<ffffffff810ffa43>] ? filp_open+0x22/0x27
[36386.344216]  [<ffffffff81142250>] ? do_coredump+0x85e/0xbe6
[36386.346503]  [<ffffffff81053e11>] ? finish_task_switch+0x78/0x9a
[36386.348717]  [<ffffffff8103f87a>] ? get_signal_to_deliver+0x46a/0x4a5
[36386.351041]  [<ffffffff8100214a>] ? do_signal+0x3c/0x504
[36386.352025]  [<ffffffff811007aa>] ? vfs_write+0xdc/0x103
[36386.353904]  [<ffffffff81100864>] ? vfs_read+0x93/0xf5
[36386.356074]  [<ffffffff81002637>] ? do_notify_resume+0x25/0x68
[36386.358250]  [<ffffffff81370862>] ? int_signal+0x12/0x17
[36386.360377] Code: db b6 6d 48 c1 fe 03 48 0f af f0 48 b8 00 00 00
00 00 88 ff ff 48 c1 e6 0c 48 01 c6 48 01 f2 48 89 57 28 c3 9c 58 f6
c4 02 75 02 <0f> 0b c3 55 48 c7 c5 60 f3 00 00 83 c8 ff 53 31 db 41
52 65 c7
[36386.365120] RIP  [<ffffffff8112396e>] check_irqs_on+0x7/0xa
[36386.367479]  RSP <ffff8803653bd540>
[36386.381228] ---[ end trace 3ddcbffc09c97c49 ]---

Full dmesg output and .config are here:
https://gist.github.com/dlundquist/1d94dd938f03c5d06a2b
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#2 lore raw
Quoted 23 lines · Theodore Ts'o
Quoted 4 lines · Dustin Lundquist

I've run into the following oops several times with the 3.10-rc3 through -rc6, and they have not occurred under 3.9. Originally they only occurred when running Google Chrome, but this is the first time it has happened in another application.

So this is very strange. fs/buffer.c:1234 for 3.10-rc6 is this BUG_ON:

static inline void check_irqs_on(void)
{

#ifdef irqs_disabled
	BUG_ON(irqs_disabled());

#endif
}

The only place where ext4 turns off irq's is very briefly in fs/ext4/page-io.c, and it's pretty easy to visually inspect all of the calls to spin_lock_irqsave() and spin_lock_irqrestore() and lock_irq_save() and local_irq_restore() are properly bracketed --- and the stack trace does not have any of the functions that are defined in fs/ext4/page_io.c.

Quoted 2 lines

I notice from the dmesg file that one of the ext4 file systems is mounted on a device mapper volume. What kind of dm device is it?

This is an LVM volume on a single SSD. I've include fdisk, mount and lvm output at https://gist.github.com/dlundquist/1d94dd938f03c5d06a2b. Another clue might be that I'm using ecryptfs to encrypt my home directory.

Since the system is still half way responsive after this occurs, is there any other information I can gather after if occurs to aid in diagnosing this?

Thanks,

Dustin Lundquist

#3 lore raw
Quoted 4 lines · Dustin Lundquist

Since the system is still half way responsive after this occurs, is there any other information I can gather after if occurs to aid in diagnosing this?

Hmm.... the only thing I can think of is to sprinkle in some

        WARN_ON(irqs_disabled());

calls in various top-half routines in ext4 code, especially in ext4_lookup() and ext4_find_entry(), and perhaps in the vfs layer to see if we can figure out where the interrupts are getting disabled. The fact that blkcipher_walk_done() was showing up in the stack trace is certainly suspicious.

- Ted

#4 lore raw

I've narrowed this down a bit more: this seems to only occur when a program attempts to core dump when run within ecryptfs mount. I've been able to reliably reproduce it with: int main() { assert(0); };

Additionally my earlier report that I'm not able to access any local files was incorrect: it seems to be limited to the directory which the program attempted to core dump in.

I've update my kernel with WARN_ON(irqs_disabled()); in ext4_lookup(), ext4_find_entry() and ecryptfs_lookup() and then only received the following:

Quoted 3 lines
[   71.368060] ------------[ cut here ]------------
[   71.368107] WARNING: at fs/ext4/namei.c:1420 ext4_lookup+0x2a/0x126 [ext4]()
[   71.368110] Modules linked in: hidp hid fuse ecb ip6table_filter ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_CHECKSUM iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc parport_pc ppdev lp parport cpufreq_conservative cpufreq_powersave cpufreq_stats cpufreq_userspace rfcomm bnep binfmt_misc uinput loop ecryptfs uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev btusb bluetooth snd_hda_codec_hdmi snd_hda_codec_realtek joydev coretemp kvm_intel kvm crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd iTCO_wdt iTCO_vendor_support arc4 iwldvm snd_hda_intel snd_hda_codec mac80211 snd_hwdep thinkpad_acpi

snd_pcm pcspkr snd_page_alloc nvram snd_seq snd_timer snd_seq_device iwlwifi microcode i915 ehci_pci psmouse snd serio_raw evdev i2c_i801 drm_kms_helper ehci_hcd cfg80211 lpc_ich mfd_core s
oundcore drm rfkill battery i2c_algo_bit ac i2c_core wmi video acpi_cpufreq mperf processor button ext4 crc16 jbd2 mbcache dm_mod sg sd_mod crc_t10dif sdhci_pci ahci sdhci libahci mmc_core libata e1000e ptp pps_core scsi_mod xhci_hcd usbcore usb_common thermal thermal_sys

Quoted 28 lines
[   71.368216] CPU: 3 PID: 4560 Comm: test_assert Not tainted 3.10.0 #3
[   71.368219] Hardware name: LENOVO 2306CTO/2306CTO, BIOS G2ET94WW (2.54 ) 04/30/2013
[   71.368222]  ffffffff8136cf25 0000000000000000 ffffffff8102fbad 0000000000000000
[   71.368228]  0000000000000000 ffff8803d4cbf988 ffff8803f48fbc70 ffff8803d9903900
[   71.368232]  ffff8803d4decac0 ffff8803f30468c0 ffffffffa01575ee ffff8803f30468c0
[   71.368237] Call Trace:
[   71.368247]  [<ffffffff8136cf25>] ? dump_stack+0xd/0x17
[   71.368255]  [<ffffffff8102fbad>] ? warn_slowpath_common+0x5f/0x77
[   71.368271]  [<ffffffffa01575ee>] ? ext4_lookup+0x2a/0x126 [ext4]
[   71.368277]  [<ffffffff8110f59f>] ? spin_unlock+0x5/0x6
[   71.368282]  [<ffffffff8111141e>] ? d_alloc+0x61/0x69
[   71.368288]  [<ffffffff81107f5d>] ? lookup_real+0x24/0x3f
[   71.368293]  [<ffffffff811083a4>] ? __lookup_hash+0x2a/0x31
[   71.368298]  [<ffffffff8110bffe>] ? lookup_one_len+0xd3/0xe5
[   71.368306]  [<ffffffffa05c81f9>] ? ecryptfs_lookup+0x117/0x2eb [ecryptfs]
[   71.368311]  [<ffffffff81107f5d>] ? lookup_real+0x24/0x3f
[   71.368316]  [<ffffffff8110b6e9>] ? do_last+0x509/0xa16
[   71.368321]  [<ffffffff81109492>] ? __inode_permission+0x2f/0x95
[   71.368327]  [<ffffffff8110bcba>] ? path_openat+0xc4/0x335
[   71.368333]  [<ffffffff810cb77c>] ? __inc_zone_state+0x3f/0x47
[   71.368338]  [<ffffffff8110c1d6>] ? do_filp_open+0x2a/0x6e
[   71.368345]  [<ffffffff81141c6e>] ? cn_printf+0xda/0xea
[   71.368350]  [<ffffffff810ffc2b>] ? file_open_name+0x27/0x2d
[   71.368354]  [<ffffffff810ffc53>] ? filp_open+0x22/0x27
[   71.368359]  [<ffffffff811424dc>] ? do_coredump+0x85e/0xbe6
[   71.368366]  [<ffffffff810b61cc>] ? find_get_page+0x3e/0x5f
[   71.368373]  [<ffffffff8136f4c9>] ? _cond_resched+0x6/0x1a
[   71.368380]  [<ffffffff8103f892>] ? get_signal_to_deliver+0x46a/0x4a5
Quoted 8 lines
[   71.368385]  [<ffffffff8103db63>] ? signal_wake_up_state+0x1e/0x31
[   71.368390]  [<ffffffff8100214a>] ? do_signal+0x3c/0x504
[   71.368395]  [<ffffffff81002637>] ? do_notify_resume+0x25/0x68
[   71.368400]  [<ffffffff81370ca2>] ? int_signal+0x12/0x17
[   71.368403] ---[ end trace c3af132f2e9b580b ]---
[   71.368405] ------------[ cut here ]------------
[   71.368417] WARNING: at fs/ext4/namei.c:1235 ext4_find_entry+0x3d/0x3e3 [ext4]()
[   71.368419] Modules linked in: hidp hid fuse ecb ip6table_filter ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_CHECKSUM iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc parport_pc ppdev lp parport cpufreq_conservative cpufreq_powersave cpufreq_stats cpufreq_userspace rfcomm bnep binfmt_misc uinput loop ecryptfs uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev btusb bluetooth snd_hda_codec_hdmi snd_hda_codec_realtek joydev coretemp kvm_intel kvm crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd iTCO_wdt iTCO_vendor_support arc4 iwldvm snd_hda_intel snd_hda_codec mac80211 snd_hwdep thinkpad_acpi

snd_pcm pcspkr snd_page_alloc nvram snd_seq snd_timer snd_seq_device iwlwifi microcode i915 ehci_pci psmouse snd serio_raw evdev i2c_i801 drm_kms_helper ehci_hcd cfg80211 lpc_ich mfd_core s
oundcore drm rfkill battery i2c_algo_bit ac i2c_core wmi video acpi_cpufreq mperf processor button ext4 crc16 jbd2 mbcache dm_mod sg sd_mod crc_t10dif sdhci_pci ahci sdhci libahci mmc_core libata e1000e ptp pps_core scsi_mod xhci_hcd usbcore usb_common thermal thermal_sys

Quoted 33 lines
[   71.368517] CPU: 3 PID: 4560 Comm: test_assert Tainted: G        W    3.10.0 #3
[   71.368519] Hardware name: LENOVO 2306CTO/2306CTO, BIOS G2ET94WW (2.54 ) 04/30/2013
[   71.368521]  ffffffff8136cf25 0000000000000000 ffffffff8102fbad ffffffff818b8682
[   71.368526]  0000000000000000 00000000d4cbf828 ffff8803f48fbc70 ffff8803d4decb40
[   71.368530]  ffff8803d4decac0 0000000000000000 ffffffffa015721e ffff8803d4cbf8f0
[   71.368535] Call Trace:
[   71.368539]  [<ffffffff8136cf25>] ? dump_stack+0xd/0x17
[   71.368544]  [<ffffffff8102fbad>] ? warn_slowpath_common+0x5f/0x77
[   71.368560]  [<ffffffffa015721e>] ? ext4_find_entry+0x3d/0x3e3 [ext4]
[   71.368577]  [<ffffffffa01575ee>] ? ext4_lookup+0x2a/0x126 [ext4]
[   71.368592]  [<ffffffffa01575ee>] ? ext4_lookup+0x2a/0x126 [ext4]
[   71.368597]  [<ffffffff8102fbb2>] ? warn_slowpath_common+0x64/0x77
[   71.368612]  [<ffffffffa0157615>] ? ext4_lookup+0x51/0x126 [ext4]
[   71.368616]  [<ffffffff8110f59f>] ? spin_unlock+0x5/0x6
[   71.368620]  [<ffffffff8111141e>] ? d_alloc+0x61/0x69
[   71.368625]  [<ffffffff81107f5d>] ? lookup_real+0x24/0x3f
[   71.368629]  [<ffffffff811083a4>] ? __lookup_hash+0x2a/0x31
[   71.368635]  [<ffffffff8110bffe>] ? lookup_one_len+0xd3/0xe5
[   71.368642]  [<ffffffffa05c81f9>] ? ecryptfs_lookup+0x117/0x2eb [ecryptfs]
[   71.368647]  [<ffffffff81107f5d>] ? lookup_real+0x24/0x3f
[   71.368652]  [<ffffffff8110b6e9>] ? do_last+0x509/0xa16
[   71.368657]  [<ffffffff81109492>] ? __inode_permission+0x2f/0x95
[   71.368662]  [<ffffffff8110bcba>] ? path_openat+0xc4/0x335
[   71.368667]  [<ffffffff810cb77c>] ? __inc_zone_state+0x3f/0x47
[   71.368672]  [<ffffffff8110c1d6>] ? do_filp_open+0x2a/0x6e
[   71.368678]  [<ffffffff81141c6e>] ? cn_printf+0xda/0xea
[   71.368682]  [<ffffffff810ffc2b>] ? file_open_name+0x27/0x2d
[   71.368686]  [<ffffffff810ffc53>] ? filp_open+0x22/0x27
[   71.368691]  [<ffffffff811424dc>] ? do_coredump+0x85e/0xbe6
[   71.368696]  [<ffffffff810b61cc>] ? find_get_page+0x3e/0x5f
[   71.368701]  [<ffffffff8136f4c9>] ? _cond_resched+0x6/0x1a
[   71.368707]  [<ffffffff8103f892>] ? get_signal_to_deliver+0x46a/0x4a5
[   71.368711]  [<ffffffff8103db63>] ? signal_wake_up_state+0x1e/0x31
Quoted 8 lines
[   71.368716]  [<ffffffff8100214a>] ? do_signal+0x3c/0x504
[   71.368721]  [<ffffffff81002637>] ? do_notify_resume+0x25/0x68
[   71.368724]  [<ffffffff81370ca2>] ? int_signal+0x12/0x17
[   71.368727] ---[ end trace c3af132f2e9b580c ]---
[   71.368741] ------------[ cut here ]------------
[   71.368806] kernel BUG at fs/buffer.c:1234!
[   71.368859] invalid opcode: 0000 [#1] SMP
[   71.368916] Modules linked in: hidp hid fuse ecb ip6table_filter ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_CHECKSUM iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc parport_pc ppdev lp parport cpufreq_conservative cpufreq_powersave cpufreq_stats cpufreq_userspace rfcomm bnep binfmt_misc uinput loop ecryptfs uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev btusb bluetooth snd_hda_codec_hdmi snd_hda_codec_realtek joydev coretemp kvm_intel kvm crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd iTCO_wdt iTCO_vendor_support arc4 iwldvm snd_hda_intel snd_hda_codec mac80211 snd_hwdep thinkpad_acpi

snd_pcm pcspkr snd_page_alloc nvram snd_seq snd_timer snd_seq_device iwlwifi microcode i915 ehci_pci psmouse snd serio_raw evdev i2c_i801 drm_kms_helper ehci_hcd cfg80211 lpc_ich mfd_core s
oundcore drm rfkill battery i2c_algo_bit ac i2c_core wmi video acpi_cpufreq mperf processor button ext4 crc16 jbd2 mbcache dm_mod sg sd_mod crc_t10dif sdhci_pci ahci sdhci libahci mmc_core libata e1000e ptp pps_core scsi_mod xhci_hcd usbcore usb_common thermal thermal_sys

Quoted 65 lines
[   71.370597] CPU: 3 PID: 4560 Comm: test_assert Tainted: G        W    3.10.0 #3
[   71.370685] Hardware name: LENOVO 2306CTO/2306CTO, BIOS G2ET94WW (2.54 ) 04/30/2013
[   71.370777] task: ffff8804097055e0 ti: ffff8803d4cbe000 task.ti: ffff8803d4cbe000
[   71.370868] RIP: 0010:[<ffffffff81123bfa>]  [<ffffffff81123bfa>] check_irqs_on+0x7/0xa
[   71.370971] RSP: 0018:ffff8803d4cbf540  EFLAGS: 00010046
[   71.371037] RAX: 0000000000000096 RBX: 0000000000001000 RCX: 0000000000000000
[   71.371122] RDX: 0000000000001000 RSI: 0000000000a8207b RDI: ffff88041d7c7740
[   71.371208] RBP: ffff88041d7c7740 R08: 0000000001400000 R09: 0000000000000000
[   71.371294] R10: 0000000000000000 R11: ffffffff814dae00 R12: 0000000000a8207b
[   71.371380] R13: 0000000000000001 R14: 0000000000a8207b R15: 0000000000000000
[   71.371467] FS:  00007f3a5c944700(0000) GS:ffff88041e2c0000(0000) knlGS:0000000000000000
[   71.371565] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   71.371634] CR2: 00007f3a5c425070 CR3: 00000003f346f000 CR4: 00000000001407e0
[   71.371720] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   71.371806] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[   71.371891] Stack:
[   71.371917]  ffffffff81123e41 0000000000000001 ffff8803f3fe8358 ffff8803d4cbf5b0
[   71.372017]  ffffffffa014e10d ffff8803d4cbf6b4 ffff8803d4cbf630 ffff8803d4cbf630
[   71.372117]  ffff8803f48fbc70 0000000000000000 ffff8803d4cbf6b4 0000000000001000
[   71.372217] Call Trace:
[   71.372253]  [<ffffffff81123e41>] ? __find_get_block+0x17/0x162
[   71.372341]  [<ffffffffa014e10d>] ? __check_block_validity.constprop.53+0x27/0x65 [ext4]
[   71.372441]  [<ffffffff81124b7d>] ? __getblk+0x1b/0x275
[   71.372519]  [<ffffffffa014fc55>] ? ext4_getblk+0x9b/0x15d [ext4]
[   71.372596]  [<ffffffff8136ff4d>] ? _raw_spin_trylock+0x5/0x13
[   71.372681]  [<ffffffffa014fd24>] ? ext4_bread+0xd/0x61 [ext4]
[   71.372755]  [<ffffffff81031549>] ? console_unlock+0x2c6/0x303
[   71.372839]  [<ffffffffa0155f2f>] ? __ext4_read_dirblock+0x35/0x251 [ext4]
[   71.372935]  [<ffffffffa015636c>] ? dx_probe+0x38/0x308 [ext4]
[   71.373008]  [<ffffffff81005039>] ? show_trace_log_lvl+0x2c/0x56
[   71.373094]  [<ffffffffa01570cc>] ? ext4_dx_find_entry+0x3d/0x152 [ext4]
[   71.373179]  [<ffffffff8136a902>] ? printk+0x4f/0x54
[   71.373252]  [<ffffffffa015721e>] ? ext4_find_entry+0x3d/0x3e3 [ext4]
[   71.373333]  [<ffffffff8102fbb2>] ? warn_slowpath_common+0x64/0x77
[   71.373421]  [<ffffffffa0157313>] ? ext4_find_entry+0x132/0x3e3 [ext4]
[   71.373515]  [<ffffffffa01575ee>] ? ext4_lookup+0x2a/0x126 [ext4]
[   71.373601]  [<ffffffffa01575ee>] ? ext4_lookup+0x2a/0x126 [ext4]
[   71.376994]  [<ffffffff8102fbb2>] ? warn_slowpath_common+0x64/0x77
[   71.380410]  [<ffffffffa0157615>] ? ext4_lookup+0x51/0x126 [ext4]
[   71.383809]  [<ffffffff8110f59f>] ? spin_unlock+0x5/0x6
[   71.387089]  [<ffffffff81107f5d>] ? lookup_real+0x24/0x3f
[   71.390236]  [<ffffffff811083a4>] ? __lookup_hash+0x2a/0x31
[   71.393253]  [<ffffffff8110bffe>] ? lookup_one_len+0xd3/0xe5
[   71.396152]  [<ffffffffa05c81f9>] ? ecryptfs_lookup+0x117/0x2eb [ecryptfs]
[   71.398948]  [<ffffffff81107f5d>] ? lookup_real+0x24/0x3f
[   71.401614]  [<ffffffff8110b6e9>] ? do_last+0x509/0xa16
[   71.404152]  [<ffffffff81109492>] ? __inode_permission+0x2f/0x95
[   71.406579]  [<ffffffff8110bcba>] ? path_openat+0xc4/0x335
[   71.408960]  [<ffffffff810cb77c>] ? __inc_zone_state+0x3f/0x47
[   71.411307]  [<ffffffff8110c1d6>] ? do_filp_open+0x2a/0x6e
[   71.413623]  [<ffffffff81141c6e>] ? cn_printf+0xda/0xea
[   71.415889]  [<ffffffff810ffc2b>] ? file_open_name+0x27/0x2d
[   71.418123]  [<ffffffff810ffc53>] ? filp_open+0x22/0x27
[   71.420317]  [<ffffffff811424dc>] ? do_coredump+0x85e/0xbe6
[   71.422516]  [<ffffffff810b61cc>] ? find_get_page+0x3e/0x5f
[   71.424701]  [<ffffffff8136f4c9>] ? _cond_resched+0x6/0x1a
[   71.426876]  [<ffffffff8103f892>] ? get_signal_to_deliver+0x46a/0x4a5
[   71.429073]  [<ffffffff8103db63>] ? signal_wake_up_state+0x1e/0x31
[   71.431238]  [<ffffffff8100214a>] ? do_signal+0x3c/0x504
[   71.433364]  [<ffffffff81002637>] ? do_notify_resume+0x25/0x68
[   71.435483]  [<ffffffff81370ca2>] ? int_signal+0x12/0x17
[   71.437588] Code: db b6 6d 48 c1 fe 03 48 0f af f0 48 b8 00 00 00 00 00 88 ff ff 48 c1 e6 0c 48 01 c6 48 01 f2 48 89 57 28 c3 9c 58 f6 c4 02 75 02 <0f> 0b c3 55 48 c7 c5 60 f3 00 00 83 c8 ff 53 31 db 41 52 65 c7
[   71.442432] RIP  [<ffffffff81123bfa>] check_irqs_on+0x7/0xa
[   71.444766]  RSP <ffff8803d4cbf540>
[   71.463545] ---[ end trace c3af132f2e9b580d ]---
#5 lore raw
Quoted 11 lines · Dustin Lundquist

I've narrowed this down a bit more: this seems to only occur when a program attempts to core dump when run within ecryptfs mount. I've been able to reliably reproduce it with: int main() { assert(0); };

Additionally my earlier report that I'm not able to access any local files was incorrect: it seems to be limited to the directory which the program attempted to core dump in.

I've update my kernel with WARN_ON(irqs_disabled()); in ext4_lookup(), ext4_find_entry() and ecryptfs_lookup() and then only received the following:

Hum, so it's interesting that ecryptfs_lookup() WARN_ON() didn't trigger
but ext4 one did. Strangely enough I don't see a place in the call chain where irqs could get disabled. Can you maybe trace using irq tracing at which point exactly do we disable interrupts?

Honza

Quoted 4 lines
Quoted 4 lines
[   71.368060] ------------[ cut here ]------------
[   71.368107] WARNING: at fs/ext4/namei.c:1420 ext4_lookup+0x2a/0x126 [ext4]()
[   71.368110] Modules linked in: hidp hid fuse ecb ip6table_filter ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_CHECKSUM iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc parport_pc ppdev lp parport cpufreq_conservative cpufreq_powersave cpufreq_stats cpufreq_userspace rfcomm bnep binfmt_misc uinput loop ecryptfs uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev btusb bluetooth snd_hda_codec_hdmi snd_hda_codec_realtek joydev coretemp kvm_intel kvm crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd iTCO_wdt iTCO_vendor_support arc4 iwldvm snd_hda_intel snd_hda_codec mac80211 snd_hwdep thinkpad_acp

i snd_pcm pcspkr snd_page_alloc nvram snd_seq snd_timer snd_seq_device iwlwifi microcode i915 ehci_pci psmouse snd serio_raw evdev i2c_i801 drm_kms_helper ehci_hcd cfg80211 lpc_ich mfd_core s

Quoted 41 lines

oundcore drm rfkill battery i2c_algo_bit ac i2c_core wmi video acpi_cpufreq mperf processor button ext4 crc16 jbd2 mbcache dm_mod sg sd_mod crc_t10dif sdhci_pci ahci sdhci libahci mmc_core libata e1000e ptp pps_core scsi_mod xhci_hcd usbcore usb_common thermal thermal_sys

Quoted 36 lines
[   71.368216] CPU: 3 PID: 4560 Comm: test_assert Not tainted 3.10.0 #3
[   71.368219] Hardware name: LENOVO 2306CTO/2306CTO, BIOS G2ET94WW (2.54 ) 04/30/2013
[   71.368222]  ffffffff8136cf25 0000000000000000 ffffffff8102fbad 0000000000000000
[   71.368228]  0000000000000000 ffff8803d4cbf988 ffff8803f48fbc70 ffff8803d9903900
[   71.368232]  ffff8803d4decac0 ffff8803f30468c0 ffffffffa01575ee ffff8803f30468c0
[   71.368237] Call Trace:
[   71.368247]  [<ffffffff8136cf25>] ? dump_stack+0xd/0x17
[   71.368255]  [<ffffffff8102fbad>] ? warn_slowpath_common+0x5f/0x77
[   71.368271]  [<ffffffffa01575ee>] ? ext4_lookup+0x2a/0x126 [ext4]
[   71.368277]  [<ffffffff8110f59f>] ? spin_unlock+0x5/0x6
[   71.368282]  [<ffffffff8111141e>] ? d_alloc+0x61/0x69
[   71.368288]  [<ffffffff81107f5d>] ? lookup_real+0x24/0x3f
[   71.368293]  [<ffffffff811083a4>] ? __lookup_hash+0x2a/0x31
[   71.368298]  [<ffffffff8110bffe>] ? lookup_one_len+0xd3/0xe5
[   71.368306]  [<ffffffffa05c81f9>] ? ecryptfs_lookup+0x117/0x2eb [ecryptfs]
[   71.368311]  [<ffffffff81107f5d>] ? lookup_real+0x24/0x3f
[   71.368316]  [<ffffffff8110b6e9>] ? do_last+0x509/0xa16
[   71.368321]  [<ffffffff81109492>] ? __inode_permission+0x2f/0x95
[   71.368327]  [<ffffffff8110bcba>] ? path_openat+0xc4/0x335
[   71.368333]  [<ffffffff810cb77c>] ? __inc_zone_state+0x3f/0x47
[   71.368338]  [<ffffffff8110c1d6>] ? do_filp_open+0x2a/0x6e
[   71.368345]  [<ffffffff81141c6e>] ? cn_printf+0xda/0xea
[   71.368350]  [<ffffffff810ffc2b>] ? file_open_name+0x27/0x2d
[   71.368354]  [<ffffffff810ffc53>] ? filp_open+0x22/0x27
[   71.368359]  [<ffffffff811424dc>] ? do_coredump+0x85e/0xbe6
[   71.368366]  [<ffffffff810b61cc>] ? find_get_page+0x3e/0x5f
[   71.368373]  [<ffffffff8136f4c9>] ? _cond_resched+0x6/0x1a
[   71.368380]  [<ffffffff8103f892>] ? get_signal_to_deliver+0x46a/0x4a5
[   71.368385]  [<ffffffff8103db63>] ? signal_wake_up_state+0x1e/0x31
[   71.368390]  [<ffffffff8100214a>] ? do_signal+0x3c/0x504
[   71.368395]  [<ffffffff81002637>] ? do_notify_resume+0x25/0x68
[   71.368400]  [<ffffffff81370ca2>] ? int_signal+0x12/0x17
[   71.368403] ---[ end trace c3af132f2e9b580b ]---
[   71.368405] ------------[ cut here ]------------
[   71.368417] WARNING: at fs/ext4/namei.c:1235 ext4_find_entry+0x3d/0x3e3 [ext4]()
[   71.368419] Modules linked in: hidp hid fuse ecb ip6table_filter ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_CHECKSUM iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc parport_pc ppdev lp parport cpufreq_conservative cpufreq_powersave cpufreq_stats cpufreq_userspace rfcomm bnep binfmt_misc uinput loop ecryptfs uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev btusb bluetooth snd_hda_codec_hdmi snd_hda_codec_realtek joydev coretemp kvm_intel kvm crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd iTCO_wdt iTCO_vendor_support arc4 iwldvm snd_hda_intel snd_hda_codec mac80211 snd_hwdep thinkpad_acp

i snd_pcm pcspkr snd_page_alloc nvram snd_seq snd_timer snd_seq_device iwlwifi microcode i915 ehci_pci psmouse snd serio_raw evdev i2c_i801 drm_kms_helper ehci_hcd cfg80211 lpc_ich mfd_core s

Quoted 46 lines

oundcore drm rfkill battery i2c_algo_bit ac i2c_core wmi video acpi_cpufreq mperf processor button ext4 crc16 jbd2 mbcache dm_mod sg sd_mod crc_t10dif sdhci_pci ahci sdhci libahci mmc_core libata e1000e ptp pps_core scsi_mod xhci_hcd usbcore usb_common thermal thermal_sys

Quoted 41 lines
[   71.368517] CPU: 3 PID: 4560 Comm: test_assert Tainted: G        W    3.10.0 #3
[   71.368519] Hardware name: LENOVO 2306CTO/2306CTO, BIOS G2ET94WW (2.54 ) 04/30/2013
[   71.368521]  ffffffff8136cf25 0000000000000000 ffffffff8102fbad ffffffff818b8682
[   71.368526]  0000000000000000 00000000d4cbf828 ffff8803f48fbc70 ffff8803d4decb40
[   71.368530]  ffff8803d4decac0 0000000000000000 ffffffffa015721e ffff8803d4cbf8f0
[   71.368535] Call Trace:
[   71.368539]  [<ffffffff8136cf25>] ? dump_stack+0xd/0x17
[   71.368544]  [<ffffffff8102fbad>] ? warn_slowpath_common+0x5f/0x77
[   71.368560]  [<ffffffffa015721e>] ? ext4_find_entry+0x3d/0x3e3 [ext4]
[   71.368577]  [<ffffffffa01575ee>] ? ext4_lookup+0x2a/0x126 [ext4]
[   71.368592]  [<ffffffffa01575ee>] ? ext4_lookup+0x2a/0x126 [ext4]
[   71.368597]  [<ffffffff8102fbb2>] ? warn_slowpath_common+0x64/0x77
[   71.368612]  [<ffffffffa0157615>] ? ext4_lookup+0x51/0x126 [ext4]
[   71.368616]  [<ffffffff8110f59f>] ? spin_unlock+0x5/0x6
[   71.368620]  [<ffffffff8111141e>] ? d_alloc+0x61/0x69
[   71.368625]  [<ffffffff81107f5d>] ? lookup_real+0x24/0x3f
[   71.368629]  [<ffffffff811083a4>] ? __lookup_hash+0x2a/0x31
[   71.368635]  [<ffffffff8110bffe>] ? lookup_one_len+0xd3/0xe5
[   71.368642]  [<ffffffffa05c81f9>] ? ecryptfs_lookup+0x117/0x2eb [ecryptfs]
[   71.368647]  [<ffffffff81107f5d>] ? lookup_real+0x24/0x3f
[   71.368652]  [<ffffffff8110b6e9>] ? do_last+0x509/0xa16
[   71.368657]  [<ffffffff81109492>] ? __inode_permission+0x2f/0x95
[   71.368662]  [<ffffffff8110bcba>] ? path_openat+0xc4/0x335
[   71.368667]  [<ffffffff810cb77c>] ? __inc_zone_state+0x3f/0x47
[   71.368672]  [<ffffffff8110c1d6>] ? do_filp_open+0x2a/0x6e
[   71.368678]  [<ffffffff81141c6e>] ? cn_printf+0xda/0xea
[   71.368682]  [<ffffffff810ffc2b>] ? file_open_name+0x27/0x2d
[   71.368686]  [<ffffffff810ffc53>] ? filp_open+0x22/0x27
[   71.368691]  [<ffffffff811424dc>] ? do_coredump+0x85e/0xbe6
[   71.368696]  [<ffffffff810b61cc>] ? find_get_page+0x3e/0x5f
[   71.368701]  [<ffffffff8136f4c9>] ? _cond_resched+0x6/0x1a
[   71.368707]  [<ffffffff8103f892>] ? get_signal_to_deliver+0x46a/0x4a5
[   71.368711]  [<ffffffff8103db63>] ? signal_wake_up_state+0x1e/0x31
[   71.368716]  [<ffffffff8100214a>] ? do_signal+0x3c/0x504
[   71.368721]  [<ffffffff81002637>] ? do_notify_resume+0x25/0x68
[   71.368724]  [<ffffffff81370ca2>] ? int_signal+0x12/0x17
[   71.368727] ---[ end trace c3af132f2e9b580c ]---
[   71.368741] ------------[ cut here ]------------
[   71.368806] kernel BUG at fs/buffer.c:1234!
[   71.368859] invalid opcode: 0000 [#1] SMP
[   71.368916] Modules linked in: hidp hid fuse ecb ip6table_filter ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_CHECKSUM iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc parport_pc ppdev lp parport cpufreq_conservative cpufreq_powersave cpufreq_stats cpufreq_userspace rfcomm bnep binfmt_misc uinput loop ecryptfs uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev btusb bluetooth snd_hda_codec_hdmi snd_hda_codec_realtek joydev coretemp kvm_intel kvm crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd iTCO_wdt iTCO_vendor_support arc4 iwldvm snd_hda_intel snd_hda_codec mac80211 snd_hwdep thinkpad_acp

i snd_pcm pcspkr snd_page_alloc nvram snd_seq snd_timer snd_seq_device iwlwifi microcode i915 ehci_pci psmouse snd serio_raw evdev i2c_i801 drm_kms_helper ehci_hcd cfg80211 lpc_ich mfd_core s

Quoted 75 lines

oundcore drm rfkill battery i2c_algo_bit ac i2c_core wmi video acpi_cpufreq mperf processor button ext4 crc16 jbd2 mbcache dm_mod sg sd_mod crc_t10dif sdhci_pci ahci sdhci libahci mmc_core libata e1000e ptp pps_core scsi_mod xhci_hcd usbcore usb_common thermal thermal_sys

Quoted 57 lines
[   71.370597] CPU: 3 PID: 4560 Comm: test_assert Tainted: G        W    3.10.0 #3
[   71.370685] Hardware name: LENOVO 2306CTO/2306CTO, BIOS G2ET94WW (2.54 ) 04/30/2013
[   71.370777] task: ffff8804097055e0 ti: ffff8803d4cbe000 task.ti: ffff8803d4cbe000
[   71.370868] RIP: 0010:[<ffffffff81123bfa>]  [<ffffffff81123bfa>] check_irqs_on+0x7/0xa
[   71.370971] RSP: 0018:ffff8803d4cbf540  EFLAGS: 00010046
[   71.371037] RAX: 0000000000000096 RBX: 0000000000001000 RCX: 0000000000000000
[   71.371122] RDX: 0000000000001000 RSI: 0000000000a8207b RDI: ffff88041d7c7740
[   71.371208] RBP: ffff88041d7c7740 R08: 0000000001400000 R09: 0000000000000000
[   71.371294] R10: 0000000000000000 R11: ffffffff814dae00 R12: 0000000000a8207b
[   71.371380] R13: 0000000000000001 R14: 0000000000a8207b R15: 0000000000000000
[   71.371467] FS:  00007f3a5c944700(0000) GS:ffff88041e2c0000(0000) knlGS:0000000000000000
[   71.371565] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   71.371634] CR2: 00007f3a5c425070 CR3: 00000003f346f000 CR4: 00000000001407e0
[   71.371720] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   71.371806] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[   71.371891] Stack:
[   71.371917]  ffffffff81123e41 0000000000000001 ffff8803f3fe8358 ffff8803d4cbf5b0
[   71.372017]  ffffffffa014e10d ffff8803d4cbf6b4 ffff8803d4cbf630 ffff8803d4cbf630
[   71.372117]  ffff8803f48fbc70 0000000000000000 ffff8803d4cbf6b4 0000000000001000
[   71.372217] Call Trace:
[   71.372253]  [<ffffffff81123e41>] ? __find_get_block+0x17/0x162
[   71.372341]  [<ffffffffa014e10d>] ? __check_block_validity.constprop.53+0x27/0x65 [ext4]
[   71.372441]  [<ffffffff81124b7d>] ? __getblk+0x1b/0x275
[   71.372519]  [<ffffffffa014fc55>] ? ext4_getblk+0x9b/0x15d [ext4]
[   71.372596]  [<ffffffff8136ff4d>] ? _raw_spin_trylock+0x5/0x13
[   71.372681]  [<ffffffffa014fd24>] ? ext4_bread+0xd/0x61 [ext4]
[   71.372755]  [<ffffffff81031549>] ? console_unlock+0x2c6/0x303
[   71.372839]  [<ffffffffa0155f2f>] ? __ext4_read_dirblock+0x35/0x251 [ext4]
[   71.372935]  [<ffffffffa015636c>] ? dx_probe+0x38/0x308 [ext4]
[   71.373008]  [<ffffffff81005039>] ? show_trace_log_lvl+0x2c/0x56
[   71.373094]  [<ffffffffa01570cc>] ? ext4_dx_find_entry+0x3d/0x152 [ext4]
[   71.373179]  [<ffffffff8136a902>] ? printk+0x4f/0x54
[   71.373252]  [<ffffffffa015721e>] ? ext4_find_entry+0x3d/0x3e3 [ext4]
[   71.373333]  [<ffffffff8102fbb2>] ? warn_slowpath_common+0x64/0x77
[   71.373421]  [<ffffffffa0157313>] ? ext4_find_entry+0x132/0x3e3 [ext4]
[   71.373515]  [<ffffffffa01575ee>] ? ext4_lookup+0x2a/0x126 [ext4]
[   71.373601]  [<ffffffffa01575ee>] ? ext4_lookup+0x2a/0x126 [ext4]
[   71.376994]  [<ffffffff8102fbb2>] ? warn_slowpath_common+0x64/0x77
[   71.380410]  [<ffffffffa0157615>] ? ext4_lookup+0x51/0x126 [ext4]
[   71.383809]  [<ffffffff8110f59f>] ? spin_unlock+0x5/0x6
[   71.387089]  [<ffffffff81107f5d>] ? lookup_real+0x24/0x3f
[   71.390236]  [<ffffffff811083a4>] ? __lookup_hash+0x2a/0x31
[   71.393253]  [<ffffffff8110bffe>] ? lookup_one_len+0xd3/0xe5
[   71.396152]  [<ffffffffa05c81f9>] ? ecryptfs_lookup+0x117/0x2eb [ecryptfs]
[   71.398948]  [<ffffffff81107f5d>] ? lookup_real+0x24/0x3f
[   71.401614]  [<ffffffff8110b6e9>] ? do_last+0x509/0xa16
[   71.404152]  [<ffffffff81109492>] ? __inode_permission+0x2f/0x95
[   71.406579]  [<ffffffff8110bcba>] ? path_openat+0xc4/0x335
[   71.408960]  [<ffffffff810cb77c>] ? __inc_zone_state+0x3f/0x47
[   71.411307]  [<ffffffff8110c1d6>] ? do_filp_open+0x2a/0x6e
[   71.413623]  [<ffffffff81141c6e>] ? cn_printf+0xda/0xea
[   71.415889]  [<ffffffff810ffc2b>] ? file_open_name+0x27/0x2d
[   71.418123]  [<ffffffff810ffc53>] ? filp_open+0x22/0x27
[   71.420317]  [<ffffffff811424dc>] ? do_coredump+0x85e/0xbe6
[   71.422516]  [<ffffffff810b61cc>] ? find_get_page+0x3e/0x5f
[   71.424701]  [<ffffffff8136f4c9>] ? _cond_resched+0x6/0x1a
[   71.426876]  [<ffffffff8103f892>] ? get_signal_to_deliver+0x46a/0x4a5
Quoted 8 lines
[   71.429073]  [<ffffffff8103db63>] ? signal_wake_up_state+0x1e/0x31
[   71.431238]  [<ffffffff8100214a>] ? do_signal+0x3c/0x504
[   71.433364]  [<ffffffff81002637>] ? do_notify_resume+0x25/0x68
[   71.435483]  [<ffffffff81370ca2>] ? int_signal+0x12/0x17
[   71.437588] Code: db b6 6d 48 c1 fe 03 48 0f af f0 48 b8 00 00 00 00 00 88 ff ff 48 c1 e6 0c 48 01 c6 48 01 f2 48 89 57 28 c3 9c 58 f6 c4 02 75 02 <0f> 0b c3 55 48 c7 c5 60 f3 00 00 83 c8 ff 53 31 db 41 52 65 c7
[   71.442432] RIP  [<ffffffff81123bfa>] check_irqs_on+0x7/0xa
[   71.444766]  RSP <ffff8803d4cbf540>
[   71.463545] ---[ end trace c3af132f2e9b580d ]---

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 2 lines
Jan Kara <[email protected]>
SUSE Labs, CR
#6 lore raw
Quoted 4 lines · Jan Kara

Hum, so it's interesting that ecryptfs_lookup() WARN_ON() didn't trigger
but ext4 one did. Strangely enough I don't see a place in the call chain where irqs could get disabled. Can you maybe trace using irq tracing at which point exactly do we disable interrupts?

I'm not familiar with irq tracing, but I traced it as far as a function pointer in a macro at fs/ecryptfs/keystore.c:840 then tried blacklisting the aesni_intel module and I haven't been able to reproduce it since.

At this point I would be interested if anyone else can reproduce it on another Intel Ivy Bridge system with aesni and Linux 3.10:
1. Setup an ecryptfs mount over an ext4 file system
2. Cause a program running inside ecryptfs mount to core dump

Thanks,

Dustin Lundquist