[grsec] Kernel Hangs: Highmem and GRSECURITY
pageexec at freemail.hu
pageexec at freemail.hu
Sat Sep 9 03:29:08 EDT 2006
On 9 Sep 2006 at 6:03, Syed Ahemed wrote:
> Hello ,
> In the excerpts 2.1.9 grsecurity patch , kmem_cache_free is called
> when kmem_cache_alloc fails (returns 0) .Isn't this a case of
> dereferencing a Null pointer.
notice that what we free is 'mpnt', not 'mpnt_m', that is, we just
prevent leaking a previously allocated item, i don't see where the
NULL ptr is dereferenced.
> The kernel code without the Patch otherwise is filled with calls to
> kmem_cache_alloc that just returns -ENOMEM in case of failure.
>
> Could you please explain the reason ?
>
> +#ifdef CONFIG_GRKERNSEC_PAX_SEGMEXEC
> + if ((current->mm->pax_flags & MF_PAX_SEGMEXEC) && (VM_STACK_FLAGS
> & VM_MAYEXEC)) {
> + mpnt_m = kmem_cache_alloc(vm_area_cachep, SLAB_KERNEL);
> + if (!mpnt_m) {
> + kmem_cache_free(vm_area_cachep, mpnt);
> + return -ENOMEM;
> + }
> + }
> +#endif
> +
More information about the grsecurity
mailing list