kernel_optimize_test/include
Christoph Lameter 272c1d21d6 SLUB: return ZERO_SIZE_PTR for kmalloc(0)
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.

This enables functions to use zero sized object. e.g. n = number of objects.

	objects = kmalloc(n * sizeof(object));

	for (i = 0; i < n; i++)
		objects[i].x = y;

	kfree(objects);

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-08 17:23:33 -07:00
..
acpi Pull osi-now into release branch 2007-06-02 01:02:09 -04:00
asm-alpha ALPHA: misc fixes 2007-06-01 08:18:29 -07:00
asm-arm [ARM] 4421/1: AT91: Value of _KEY fields. 2007-06-03 17:52:35 +01:00
asm-arm26 [ARM] use __used attribute 2007-05-30 13:15:06 +01:00
asm-avr32 [AVR32] Implement platform hooks for atmel_lcdfb driver 2007-05-15 14:13:27 +02:00
asm-blackfin Blackfin arch: Change NO_ACCESS_CHECK to ACCESS_CHECK 2007-05-21 09:50:23 -07:00
asm-cris Consolidate asm/poll.h 2007-05-11 08:29:34 -07:00
asm-frv frv: build fix 2007-06-07 17:00:25 -07:00
asm-generic sparc64: fix alignment bug in linker definition script 2007-05-29 21:29:00 +02:00
asm-h8300 h8300 trival patches 2007-06-01 08:18:29 -07:00
asm-i386 i386: fix early usage of atomic_add_return and local_add_return on real i386 2007-05-23 20:14:15 -07:00
asm-ia64 [IA64] Cleanup acpi header to reuse the generic _PDC defines 2007-05-24 10:15:06 -07:00
asm-m32r m32r: __xchg() should be always_inline 2007-05-15 18:56:37 -07:00
asm-m68k m68k: discontinuous memory support 2007-05-31 07:58:14 -07:00
asm-m68knommu Remove tas() 2007-05-08 11:15:20 -07:00
asm-mips [MIPS] Drop __ARCH_WANT_SYS_FADVISE64 2007-06-06 19:34:32 +01:00
asm-parisc Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
asm-powerpc [POWERPC] Fix return from pte_alloc_one() in out-of-memory case 2007-06-02 21:01:56 +10:00
asm-ppc Merge branch 'linux-2.6' 2007-05-10 21:08:37 +10:00
asm-s390 [S390] Wire up signald, timerfd and eventfd syscalls. 2007-05-21 11:25:28 +02:00
asm-sh sh: Fix se73180 platform device registration. 2007-06-04 11:07:23 +09:00
asm-sh64 sh64: generic quicklist support. 2007-05-14 09:55:35 +09:00
asm-sparc [SPARC]: Emulate cmpxchg like parisc 2007-05-29 02:51:13 -07:00
asm-sparc64 [SPARC64]: Fill in gaps in non-PCI dma_*() NOP implementation. 2007-06-04 23:32:23 -07:00
asm-um uml: iRQ stacks 2007-05-11 08:29:34 -07:00
asm-v850 Consolidate asm/poll.h 2007-05-11 08:29:34 -07:00
asm-x86_64 Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
asm-xtensa Xtensa: use asm-generic/fcntl.h 2007-05-31 20:18:25 -07:00
crypto
keys
linux SLUB: return ZERO_SIZE_PTR for kmalloc(0) 2007-06-08 17:23:33 -07:00
math-emu Delete unused header file math-emu/extended.h 2007-05-08 11:15:05 -07:00
media V4L/DVB (5592): DMA: Correctly free resources on error, sync PCI streamed data 2007-05-09 10:12:42 -03:00
mtd
net xfrm: Add security check before flushing SAD/SPD 2007-06-07 13:42:46 -07:00
pcmcia add new_id to PCMCIA drivers 2007-05-07 12:12:50 -07:00
rdma Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband 2007-05-21 16:19:32 -07:00
rxrpc
scsi
sound [ALSA] version 1.0.14 2007-05-31 11:03:27 +02:00
video atmel_lcdfb: AT91/AT32 LCD Controller framebuffer driver 2007-05-11 08:29:37 -07:00
Kbuild