Re: [PATCH v8 13/19] locking/rwsem: Make rwsem->owner an atomic_long_t

From: Luis Henriques
Date: Sat Jul 20 2019 - 05:45:45 EST


Luis Henriques <lhenriques@xxxxxxxx> writes:

> Luis Henriques <lhenriques@xxxxxxxx> writes:
>
>> "Linus Torvalds" <torvalds@xxxxxxxxxxxxxxxxxxxx> writes:
>>
>>> On Fri, Jul 19, 2019 at 12:32 PM Waiman Long <longman@xxxxxxxxxx> wrote:
>>>>
>>>> This patch shouldn't change the behavior of the rwsem code. The code
>>>> only access data within the rw_semaphore structures. I don't know why it
>>>> will cause a KASAN error. I will have to reproduce it and figure out
>>>> exactly which statement is doing the invalid access.
>>>
>>> The stack traces should show line numbers if you run them through
>>> scripts/decode_stacktrace.sh.
>>>
>>> You need to have debug info enabled for that, though.
>>>
>>> Luis?
>>>
>>> Linus
>>
>> Yep, sure. And I should have done this in the initial report. It's a
>> different trace, I had to recompile the kernel.
>>
>> (I'm also adding Jeff to the CC list.)
>>
>
> Ah, and I also managed to reproduce this on btrfs so I guess this rules
> out a bug in the filesystem code.

Just another detail (before I go completely offline until tomorrow
evening): in the btrfs case I'm seeing the bug on the
rwsem_down_read_slowpath path, not on rwsem_down_write_slowpath. But it
seems to be on the same place (i.e. rwsem_can_spin_on_owner).

Cheers,
--
Luis