Skip to content
  • Johannes Thumshirn's avatar
    include/linux/slab.h: add kmalloc_array_node() and kcalloc_node() · 5799b255
    Johannes Thumshirn authored
    Patch series "Add kmalloc_array_node() and kcalloc_node()".
    
    Our current memeory allocation routines suffer form an API imbalance,
    for one we have kmalloc_array() and kcalloc() which check for overflows
    in size multiplication and we have kmalloc_node() and kzalloc_node()
    which allow for memory allocation on a certain NUMA node but don't check
    for eventual overflows.
    
    This patch (of 6):
    
    We have kmalloc_array() and kcalloc() wrappers on top of kmalloc() which
    ensure us overflow free multiplication for the size of a memory
    allocation but these implementations are not NUMA-aware.
    
    Likewise we have kmalloc_node() which is a NUMA-aware version of
    kmalloc() but the implementation is not aware of any possible overflows
    in eventual size calculations.
    
    Introduce a combination of the two above cases to have a NUMA-node aware
    version of kmalloc_array() and kcalloc().
    
    Link: http://lkml.kernel.org/r/20170927082038.3782-2-jthumshirn@suse.de
    
    
    Signed-off-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
    Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Damien Le Moal <damien.lemoal@wdc.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Doug Ledford <dledford@redhat.com>
    Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Mike Marciniszyn <infinipath@intel.com>
    Cc: Pekka Enberg <penberg@kernel.org>
    Cc: Santosh Shilimkar <santosh.shilimkar@oracle.com>
    Cc: Sean Hefty <sean.hefty@intel.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    5799b255