Re: [Patch] lkdtm: avoid calling lkdtm_do_action() with spin lock held

From: Arnd Bergmann
Date: Wed Feb 01 2012 - 10:29:38 EST


On Wednesday 01 February 2012, Cong Wang wrote:
> On 01/31/2012 11:35 PM, Arnd Bergmann wrote:
> > On Tuesday 31 January 2012, Cong Wang wrote:
> >> @@ -323,14 +323,16 @@ static void lkdtm_do_action(enum ctype which)
> >> }
> >> case CT_WRITE_AFTER_FREE: {
> >> size_t len = 1024;
> >> - u32 *data = kmalloc(len, GFP_KERNEL);
> >> + u32 *data = kmalloc(len, GFP_ATOMIC);
> >>
> >> kfree(data);
> >> - schedule();
> >> + udelay(100);
> >> memset(data, 0x78, len);
> >> break;
> >> }
> >
> > I can't think of why the udelay would have any positive effect here,
> > if the idea of the schedule was to let some other process allocate and
> > use the memory.
>
>
> Hmm, on SMP udelay on this CPU will give a chance to other CPU's to use
> that memory, right?
>

There is a small chance for that, but it's much less likely than it would
be using another process on the same CPU, plus it requires SMP.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/