The patch titled Subject: mm: remove __krealloc has been added to the -mm tree. Its filename is mm-remove-__krealloc.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/mm-remove-__krealloc.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/mm-remove-__krealloc.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Florian Westphal <fw@xxxxxxxxx> Subject: mm: remove __krealloc Since 5.5-rc1 the last user of this function is gone, so remove the functionality. See commit 2ad9d7747c10 ("netfilter: conntrack: free extension area immediately") for details. Link: http://lkml.kernel.org/r/20191212223442.22141-1-fw@xxxxxxxxx Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/slab.h | 1 - mm/slab_common.c | 22 ---------------------- scripts/coccinelle/free/devm_free.cocci | 4 ---- 3 files changed, 27 deletions(-) --- a/include/linux/slab.h~mm-remove-__krealloc +++ a/include/linux/slab.h @@ -184,7 +184,6 @@ void memcg_deactivate_kmem_caches(struct /* * Common kmalloc functions provided by all allocators */ -void * __must_check __krealloc(const void *, size_t, gfp_t); void * __must_check krealloc(const void *, size_t, gfp_t); void kfree(const void *); void kzfree(const void *); --- a/mm/slab_common.c~mm-remove-__krealloc +++ a/mm/slab_common.c @@ -1676,28 +1676,6 @@ static __always_inline void *__do_kreall } /** - * __krealloc - like krealloc() but don't free @p. - * @p: object to reallocate memory for. - * @new_size: how many bytes of memory are required. - * @flags: the type of memory to allocate. - * - * This function is like krealloc() except it never frees the originally - * allocated buffer. Use this if you don't want to free the buffer immediately - * like, for example, with RCU. - * - * Return: pointer to the allocated memory or %NULL in case of error - */ -void *__krealloc(const void *p, size_t new_size, gfp_t flags) -{ - if (unlikely(!new_size)) - return ZERO_SIZE_PTR; - - return __do_krealloc(p, new_size, flags); - -} -EXPORT_SYMBOL(__krealloc); - -/** * krealloc - reallocate memory. The contents will remain unchanged. * @p: object to reallocate memory for. * @new_size: how many bytes of memory are required. --- a/scripts/coccinelle/free/devm_free.cocci~mm-remove-__krealloc +++ a/scripts/coccinelle/free/devm_free.cocci @@ -95,8 +95,6 @@ position p; | kzfree@p(x) | - __krealloc@p(x, ...) -| krealloc@p(x, ...) | free_pages@p(x, ...) @@ -120,8 +118,6 @@ position p != safe.p; | * kzfree@p(x) | -* __krealloc@p(x, ...) -| * krealloc@p(x, ...) | * free_pages@p(x, ...) _ Patches currently in -mm which might be from fw@xxxxxxxxx are mm-remove-__krealloc.patch