• Joe Perches's avatar
    devres: add kernel standard devm_k.alloc functions · 64c862a8
    Joe Perches authored
    Currently, devm_ managed memory only supports kzalloc.
    
    Convert the devm_kzalloc implementation to devm_kmalloc and remove the
    complete memset to 0 but still set the initial struct devres header and
    whatever padding before data to 0.
    
    Add the other normal alloc variants as static inlines with __GFP_ZERO
    added to the gfp flag where appropriate:
    
    	devm_kzalloc
    	devm_kcalloc
    	devm_kmalloc_array
    
    Add gfp.h to device.h for the newly added static inlines.
    
    akpm: the current API forces us to replace kmalloc() with kzalloc() when
    performing devm_ conversions.  This adds a relatively minor overhead.
    More significantly, it will defeat kmemcheck used-uninitialized checking,
    and for a particular driver, losing used-uninitialised checking for their
    core controlling data structures will significantly degrade kmemcheck
    usefulness.
    Signed-off-by: default avatarJoe Perches <joe@perches.com>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: Sangjung Woo <sangjung.woo@samsung.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    64c862a8
device.h 42.1 KB