在 2024/8/1 22:06, Oleg Nesterov 写道:
> On 08/01, Liao Chang wrote:
>>
>> @@ -2276,22 +2277,25 @@ static void handle_singlestep(struct uprobe_task 
>> *utask, struct pt_regs *regs)
>>      int err = 0;
>>  
>>      uprobe = utask->active_uprobe;
>> -    if (utask->state == UTASK_SSTEP_ACK)
>> +    switch (utask->state) {
>> +    case UTASK_SSTEP_ACK:
>>              err = arch_uprobe_post_xol(&uprobe->arch, regs);
>> -    else if (utask->state == UTASK_SSTEP_TRAPPED)
>> +            break;
>> +    case UTASK_SSTEP_TRAPPED:
>>              arch_uprobe_abort_xol(&uprobe->arch, regs);
>> -    else
>> +            fallthrough;
>> +    case UTASK_SSTEP_DENY_SIGNAL:
>> +            set_tsk_thread_flag(current, TIF_SIGPENDING);
>> +            break;
>> +    default:
>>              WARN_ON_ONCE(1);
>> +    }
> 
> Liao, at first glance this change looks "obviously wrong" to me.

Oleg. Did i overlook some thing obvious here?

> 
> But let me read this patch more carefully and reply on weekend,
> I am a bit busy right now.

Sure, thanks.

> 
> Thanks,
> 
> Oleg.
> 
> 

-- 
BR
Liao, Chang

Reply via email to