On Mon, Jan 27, 2025 at 10:40:59PM +0000, Al Viro wrote:
On Mon, Jan 27, 2025 at 09:34:56PM +0000, Al Viro wrote:
If so, then
a) it's a false positive (and IIRC, it's not the first time
kfence gets confused by that)
b) your bisection will probably converge to bdd9951f60f9
"dissolve external_name.u into separate members" which is where we'd
ended up with offsetof(struct external_name, name) being 4 modulo 8.
As a quick test, try to flip the order of head and count in
struct external_name and see if that makes the warning go away.
If it does, I'm pretty certain that theory above is correct.
Not quite... dentry_string_cmp() assumes that ->d_name.name is
word-aligned, so load_unaligned_zeropad() is done only to the
second string (the one we compare against).
Sorry for the silence on my end: this issue doesn't reproduce
consistently, so I need to do more runs for these tests.
--
Thanks,
Sasha