[PATCH v3] riscv:uprobe fix SR_SPIE set/clear handling

Yipeng Zou zouyipeng at huawei.com
Thu Jul 21 00:00:19 PDT 2022


在 2022/7/21 14:28, Conor.Dooley at microchip.com 写道:
> On 21/07/2022 02:59, Yipeng Zou wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>
>> In riscv the process of uprobe going to clear spie before exec
>> the origin insn,and set spie after that.But When access the page
>> which origin insn has been placed a page fault may happen and
>> irq was disabled in arch_uprobe_pre_xol function,It cause a WARN
>> as follows.
>> There is no need to clear/set spie in arch_uprobe_pre/post/abort_xol.
>> We can just remove it.
>>
>> [   31.684157] BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:1488
>> [   31.684677] in_atomic(): 0, irqs_disabled(): 1, non_block: 0, pid: 76, name: work
>> [   31.684929] preempt_count: 0, expected: 0
>> [   31.685969] CPU: 2 PID: 76 Comm: work Tainted: G
>> [   31.686542] Hardware name: riscv-virtio,qemu (DT)
>> [   31.686797] Call Trace:
>> [   31.687053] [<ffffffff80006442>] dump_backtrace+0x30/0x38
>> [   31.687699] [<ffffffff80812118>] show_stack+0x40/0x4c
>> [   31.688141] [<ffffffff8081817a>] dump_stack_lvl+0x44/0x5c
>> [   31.688396] [<ffffffff808181aa>] dump_stack+0x18/0x20
>> [   31.688653] [<ffffffff8003e454>] __might_resched+0x114/0x122
>> [   31.688948] [<ffffffff8003e4b2>] __might_sleep+0x50/0x7a
>> [   31.689435] [<ffffffff80822676>] down_read+0x30/0x130
>> [   31.689728] [<ffffffff8000b650>] do_page_fault+0x166/x446
>> [   31.689997] [<ffffffff80003c0c>] ret_from_exception+0x0/0xc
>>
>> Fixes: 74784081aac8 ("riscv: Add uprobes supported")
>> Signed-off-by: Yipeng Zou <zouyipeng at huawei.com>
> Hey Yipeng,
>
> You got a reviewed by from Guo Ren on V1, is there a reason that
> you didn't apply it?
> https://lore.kernel.org/all/CAJF2gTTBQrSVeF0aC5TKaH=CFo5QDuCE8noF7e2N5=4MK5bpmA@mail.gmail.com/
>
> Thanks,
> Conor.

Hi Conor,

     oh sorry, i just miss it ,there are no changes with code.

>> ---
>> v2: Add Fixes tag
>> v3: Rename Subject
>>
-- 
Regards,
Yipeng Zou




More information about the linux-riscv mailing list