Messages in this thread | | | Date | Wed, 01 Feb 2012 11:01:56 +0800 | From | Cong Wang <> | Subject | Re: [Patch] lkdtm: avoid calling lkdtm_do_action() with spin lock held |
| |
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?
> > Can't you just get rid of the count_lock if you use an atomic_t for the > count and use appropriate accesses on it? >
Good idea, will do.
| |