Messages in this thread | | | Date | Thu, 12 Sep 2013 10:19:31 +0530 | From | Hemant <> | Subject | Re: [PATCH] uprobes: Fix limiting un-nested return probes |
| |
Hi Oleg,
On 09/09/2013 08:25 PM, Oleg Nesterov wrote: > On 09/09, Anton Arapov wrote: >> On Sun, Sep 08, 2013 at 06:32:32PM +0200, Oleg Nesterov wrote: >>> Not sure, but I can be easily wrong... afaics we need something like below, no? >>> Anton? >> Oleg, your guess is correct. >> >> My original intention was to limit by depth the chained only probes. But later, >> after your review, we've decided /based on safety concerns/ to limit it hard. > Chained or not, we allocate return_instance every time, so we certainly > need to account to limit the depth unconditionally. Unless we reuse the > same return_instance if chained, but this is another story.
Hmm, agreed. Thanks for the description.
> >> The decrement 'utask->depth--;' in my own tree is above the 'if (!chained)' >> check. I think it got mangled somehow when I rebased the code before I sent it >> to lkml. > OK, thanks, I'll write the changelog and re-send the patch below. > >> Anton. >> >> >>> Oleg. >>> >>> --- x/kernel/events/uprobes.c >>> +++ x/kernel/events/uprobes.c >>> @@ -1682,12 +1682,10 @@ static bool handle_trampoline(struct pt_ >>> tmp = ri; >>> ri = ri->next; >>> kfree(tmp); >>> + utask->depth--; >>> >>> if (!chained) >>> break; >>> - >>> - utask->depth--; >>> - >>> BUG_ON(!ri); >>> }
-- Thanks Hemant
| |