Messages in this thread |  | | From | Arnd Bergmann <> | | Subject | Re: [Patch] lkdtm: avoid calling lkdtm_do_action() with spin lock held | | Date | Wed, 1 Feb 2012 15:29:32 +0000 |
| |
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
|  |