From: tchou <tchou@synology.com>
To: "Ernesto A. Fernández" <ernesto.mnd.fernandez@gmail.com>
Cc: linux-fsdevel@vger.kernel.org, linux-fsdevel-owner@vger.kernel.org
Subject: Re: The question about hfs+ patch (hfsplus: fix BUG on bnode parent update)
Date: Tue, 26 Feb 2019 11:32:11 +0800 [thread overview]
Message-ID: <c0eaa6bf3a8250ce7492023eafb79ec1@synology.com> (raw)
In-Reply-To: <20190224004441.hhuakey36t2vvvag@eaf>
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
>>
next prev parent reply other threads:[~2019-02-26 3:40 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <73216487-9ed5-4492-b7c6-b757fdb3b566@Mail>
2019-02-24 0:44 ` The question about hfs+ patch (hfsplus: fix BUG on bnode parent update) Ernesto A. Fernández
2019-02-26 3:32 ` tchou [this message]
2019-02-26 18:01 ` Viacheslav Dubeyko
2019-02-27 1:46 ` tchou
2019-02-27 2:42 ` Viacheslav Dubeyko
2019-02-27 2:56 ` Viacheslav Dubeyko
2019-02-27 3:14 ` tchou
2019-03-04 7:45 ` tchou
2019-03-04 17:57 ` Viacheslav Dubeyko
2019-03-05 1:49 ` tchou
2019-03-05 17:41 ` Viacheslav Dubeyko
2019-02-27 3:10 ` Ernesto A. Fernández
2019-02-27 3:39 ` tchou
2019-03-05 23:23 ` Ernesto A. Fernández
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c0eaa6bf3a8250ce7492023eafb79ec1@synology.com \
--to=tchou@synology.com \
--cc=ernesto.mnd.fernandez@gmail.com \
--cc=linux-fsdevel-owner@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).