Re: [PATCH] uprobe: avoid out-of-bounds memory access of fetching args

From: maqiao . mq
Date: Mon Oct 14 2024 - 23:41:05 EST




> 2024年10月14日 下午10:58,Oleg Nesterov <oleg@xxxxxxxxxx> 写道:
>
> Sorry, currently I don't have time to even try to read this patch, just
> one note below...
>
> On 10/14, Ma Qiao wrote:
>>
>> @@ -979,6 +980,11 @@ static struct uprobe_cpu_buffer *prepare_uprobe_buffer(struct trace_uprobe *tu,
>> ucb = uprobe_buffer_get();
>> ucb->dsize = tu->tp.size + dsize;
>>
>> + if (WARN_ON_ONCE(ucb->dsize > MAX_UCB_BUFFER_SIZE)) {
>> + ucb->dsize = MAX_UCB_BUFFER_SIZE;
>> + dsize = MAX_UCB_BUFFER_SIZE - tu->tp.size;
>> + }
>> +
>
> Then you can probably kill the
>
> if (WARN_ON_ONCE(ucb->dsize > PAGE_SIZE))
>
> check in __uprobe_trace_func(), no?
>
> Oleg.

Thanks for reminder, I will remove it in v2