lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130708141201.GG5988@quack.suse.cz>
Date:	Mon, 8 Jul 2013 16:12:01 +0200
From:	Jan Kara <jack@...e.cz>
To:	Dustin Lundquist <dustin@...l-ptr.net>
Cc:	Theodore Ts'o <tytso@....edu>, linux-ext4@...r.kernel.org
Subject: Re: kernel BUG at fs/buffer.c:1234!

On Thu 04-07-13 13:31:30, Dustin Lundquist wrote:
> 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

> 
> >[   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
> >[   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_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
> >[   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_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
> >[   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 ]---
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
Jan Kara <jack@...e.cz>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists