Re: [BUGFIX] NULL pointer dereference in __vm_enough_memory()

From: Alan Cox
Date: Sun Aug 12 2007 - 09:12:22 EST


> > Great! So the problem might have existed for some time, but we never
> > saw it due to default over commit values? Were you using these values
> > for over commit even before?
>
> No I changed it several weeks ago to stop my desktop from freezing.
> So yes, the bug may have been there for a while.

The bug is the new exec with lots of arguments code. It tries to insert a
vm struct without having a valid current->mm. That isn't permitted and
never had been (which is also why it broke the sparc mmu code etc).

You'll need to change the kernel security interface a little to make this
fly - I think the following should do it.

- make __vm_enough_memory take a struct mm pointer and use it
- make security_ops pass the extra current->mm
- add a vm_enough_memory_mm security op
- use security_vm_enough_memory_mm(mm, ...) in __insert_vm_struct

I'll knock up a quick patch and see what is needed (someone else can do
the selinux changes)
-
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/