Re: The question about hfs+ patch (hfsplus: fix BUG on bnode parent update)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ernesto A. Fernández 於 2019-02-24 08:44 寫到:
Hi,

On Sat, Feb 23, 2019 at 04:19:23PM +0800, tchou wrote:
Hi Ernesto,

Sorry to disturb.

No problem.

I'm investigating an HFS+ BUG.
The call trace is attached[1].

As you can see, the bnode is been free twice,
I suspect that the bug is ralative to this patch 19a9d0f1acf75e8be8cfba19c1a34e941846fa2b
(hfsplus: fix BUG on bnode parent update).

Those messages you get are reporting an attempt to free on-disk bnodes that were already free. My patch was about bnode structures in memory, so it's
not likely to be related.


There are three questions:
1. The commit message says "Creating, renaming or deleting a file may hit BUG_ON()". Where is the BUG_ON() been triggered? Is that the same BUG_ON() in my call trace?

The BUG_ON() from my patch was in hfs_bnode_put(). I don't think there is any
BUG_ON() in your case, you are getting a general protection fault.


2. I run the script in your commit message, but I can not reproduce it. Could you please tell me how many times in average it need to execute to trigger the bug?
I'm wondering if I took some mistake.

The bug should be triggered after a single run. Did you revert the patch
before?



3. If my guess is wrong, this bug is unrelative to this patch,
do you have any idea on it? Or do you have faced the same bug of mine?

This seems to be related to the xattr implementation, which is a mess. I think
it would be best to rewrite it or get rid of it entirely...

Thanks for your reply! I will try to trace the code of xattr.


Ernesto

Thanks for your help!

[1]
==================================================================================================

2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.504049] hfsplus: trying to free free bnode 294912(2)

2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.510017] hfsplus: trying to free free bnode 294912(2) 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.515983] hfsplus: trying to free free bnode 294912(2) 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.521949] general protection fault: 0000 [#1] SMP 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.621069] CPU: 1 PID: 18715 Comm: SYNO.FileStatio Tainted: P C O 3.10.102 #15152 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.630308] Hardware name: Synology Inc. DS1517+/Type2 - Board Product Name1, BIOS M.405 2017/05/09 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.640423] task: ffff8802753fa040 ti: ffff880270880000 task.ti: ffff880270880000 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.648779] RIP: 0010:[<ffffffffa051459e>] [<ffffffffa051459e>] hfsplus_bnode_write+0x9e/0x1e0 [hfsplus] 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.659489] RSP: 0018:ffff880270883c18 EFLAGS: 00010202 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.665415] RAX: 0000000000000000 RBX: 0000000000000002 RCX: 000000000000aeff 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.673391] RDX: 0000000000000000 RSI: ffff880270883c56 RDI: db73880000000000 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.681366] RBP: ffff88005f7b1920 R08: 0000000000000002 R09: 0000000000000002 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.689343] R10: ffff88005f7b18d0 R11: 0000000000000002 R12: 0000000000001ffc 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.697310] R13: ffff880270883c56 R14: 0000000000000002 R15: 0000000000000002 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.705286] FS: 00007f4fee0607c0(0000) GS:ffff88027fc40000(0000) knlGS:0000000000000000 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.714322] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.720744] CR2: 00007f4fee05d000 CR3: 0000000247210000 CR4: 00000000001007e0 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.728711] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.736687] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.744654] Stack:
2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.746896] ffff88005f7b18c0 ffff880270883cd0 0000000000001ffc 0000000000001f9c 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.755181] 0000000000000060 000000000000000e ffffffffa05146ff aeff000000000031 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.763468] ffffffffa0516bf9 000000606228c340 ffff880270883cd0 00000000fffffffe
2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.771763] Call Trace:
2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.774497] [<ffffffffa05146ff>] ? hfsplus_bnode_write_u16+0x1f/0x30 [hfsplus] 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.782671] [<ffffffffa0516bf9>] ? hfsplus_brec_remove+0x129/0x190 [hfsplus] 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.790650] [<ffffffffa05191d0>] ? __hfsplus_delete_attr+0x90/0xf0 [hfsplus] 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.798629] [<ffffffffa0519979>] ? hfsplus_delete_all_attrs+0x49/0xb0 [hfsplus] 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.806900] [<ffffffffa0512482>] ? hfsplus_delete_cat+0x1c2/0x2b0 [hfsplus] 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.814782] [<ffffffffa0512d90>] ? hfsplus_unlink+0x1d0/0x1e0 [hfsplus] 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.822277] [<ffffffff811066bd>] ? __inode_permission+0x1d/0xb0 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.828992] [<ffffffff8110a72a>] ? vfs_unlink+0x8a/0x100 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.835025] [<ffffffff8110a9c3>] ? do_unlinkat+0x223/0x230 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.841255] [<ffffffff8111d853>] ? mntput_no_expire+0x13/0x130 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.847873] [<ffffffff8104d1bc>] ? task_work_run+0x9c/0xe0 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.854102] [<ffffffff81002901>] ? do_notify_resume+0x61/0x90 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.860624] [<ffffffff810fb827>] ? fput+0x57/0xb0 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.865978] [<ffffffff8149dd32>] ? system_call_fastpath+0x16/0x1b 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.872884] Code: 48 63 ca 48 01 cf 48 83 fb 08 0f 83 fd 00 00 00 31 c0 41 f6 c3 04 74 09 8b 06 89 07 b8 04 00 00 00 41 f6 c3 02 74 0c 0f b7 0c 06 <66> 89 0c 07 48 8d 40 02 41 83 e3 01 74 07 0f b6 0c 06 88 0c 07 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.894293] RIP [<ffffffffa051459e>] hfsplus_bnode_write+0x9e/0x1e0 [hfsplus] 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.902375] RSP <ffff880270883c18>

2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.906350] ---[ end trace 0e65d1ee34a1e12e ]---


==================================================================================================



Best regards,
Ting-Chang Hou #8487





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux