Christoph Lameter wrote:
SLUB: Return ZERO_SIZE_PTR for kmalloc(0) V3 Instead of returning the smallest available object return ZERO_SIZE_PTR. A ZERO_SIZE_PTR can be legitimately used as an object pointer as long as it is not deferenced. The dereference of ZERO_SIZE_PTR causes a distinctive fault. kfree can handle a ZERO_SIZE_PTR in the same way as NULL.
FWIW, I am happy :-). We should add a comment to kmalloc() that we return non-unique pointers for zero-length allocations though.
Acked-by: Pekka Enberg <[email protected]> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: SLUB: Return ZERO_SIZE_PTR for kmalloc(0)
- From: Christoph Lameter <[email protected]>
- Re: SLUB: Return ZERO_SIZE_PTR for kmalloc(0)
- References:
- SLUB: Return ZERO_SIZE_PTR for kmalloc(0)
- From: Christoph Lameter <[email protected]>
- Re: SLUB: Return ZERO_SIZE_PTR for kmalloc(0)
- From: Linus Torvalds <[email protected]>
- Re: SLUB: Return ZERO_SIZE_PTR for kmalloc(0)
- From: Christoph Lameter <[email protected]>
- Re: SLUB: Return ZERO_SIZE_PTR for kmalloc(0)
- From: "Pekka Enberg" <[email protected]>
- Re: SLUB: Return ZERO_SIZE_PTR for kmalloc(0)
- From: Christoph Lameter <[email protected]>
- Re: SLUB: Return ZERO_SIZE_PTR for kmalloc(0)
- From: Pekka Enberg <[email protected]>
- Re: SLUB: Return ZERO_SIZE_PTR for kmalloc(0)
- From: Christoph Lameter <[email protected]>
- Re: SLUB: Return ZERO_SIZE_PTR for kmalloc(0)
- From: Andrew Morton <[email protected]>
- Re: SLUB: Return ZERO_SIZE_PTR for kmalloc(0)
- From: Christoph Lameter <[email protected]>
- SLUB: Return ZERO_SIZE_PTR for kmalloc(0)
- Prev by Date: Re: default charset for linux-kernel code?
- Next by Date: Re: [PATCH -mm 0/5] LZO and swap write failure patches for -mm
- Previous by thread: Re: SLUB: Return ZERO_SIZE_PTR for kmalloc(0)
- Next by thread: Re: SLUB: Return ZERO_SIZE_PTR for kmalloc(0)
- Index(es):