lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 21 Nov 2013 11:11:43 -0800
From:	Randy Dunlap <rdunlap@...radead.org>
To:	Qiang Huang <h.huangqiang@...wei.com>, cl@...ux-foundation.org,
	penberg@...nel.org, mpm@...enic.com
CC:	"linux-mm@...ck.org" <linux-mm@...ck.org>,
	LKML <linux-kernel@...r.kernel.org>,
	Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH] slab: remove the redundant declaration of kmalloc

On 11/20/13 21:57, Qiang Huang wrote:
> 
> Signed-off-by: Qiang Huang <h.huangqiang@...wei.com>

or use my patch from 2013-09-17:
http://marc.info/?l=linux-mm&m=137944291611467&w=2

Would be nice to one of these merged...


> ---
>  include/linux/slab.h | 102 +++++++++++++++++++++++----------------------------
>  1 file changed, 46 insertions(+), 56 deletions(-)
> 
> diff --git a/include/linux/slab.h b/include/linux/slab.h
> index 74f1058..630f22f 100644
> --- a/include/linux/slab.h
> +++ b/include/linux/slab.h
> @@ -381,7 +381,52 @@ static __always_inline void *kmalloc_large(size_t size, gfp_t flags)
>  /**
>   * kmalloc - allocate memory
>   * @size: how many bytes of memory are required.
> - * @flags: the type of memory to allocate (see kcalloc).
> + * @flags: the type of memory to allocate.
> + *
> + * The @flags argument may be one of:
> + *
> + * %GFP_USER - Allocate memory on behalf of user.  May sleep.
> + *
> + * %GFP_KERNEL - Allocate normal kernel ram.  May sleep.
> + *
> + * %GFP_ATOMIC - Allocation will not sleep.  May use emergency pools.
> + *   For example, use this inside interrupt handlers.
> + *
> + * %GFP_HIGHUSER - Allocate pages from high memory.
> + *
> + * %GFP_NOIO - Do not do any I/O at all while trying to get memory.
> + *
> + * %GFP_NOFS - Do not make any fs calls while trying to get memory.
> + *
> + * %GFP_NOWAIT - Allocation will not sleep.
> + *
> + * %GFP_THISNODE - Allocate node-local memory only.
> + *
> + * %GFP_DMA - Allocation suitable for DMA.
> + *   Should only be used for kmalloc() caches. Otherwise, use a
> + *   slab created with SLAB_DMA.
> + *
> + * Also it is possible to set different flags by OR'ing
> + * in one or more of the following additional @flags:
> + *
> + * %__GFP_COLD - Request cache-cold pages instead of
> + *   trying to return cache-warm pages.
> + *
> + * %__GFP_HIGH - This allocation has high priority and may use emergency pools.
> + *
> + * %__GFP_NOFAIL - Indicate that this allocation is in no way allowed to fail
> + *   (think twice before using).
> + *
> + * %__GFP_NORETRY - If memory is not immediately available,
> + *   then give up at once.
> + *
> + * %__GFP_NOWARN - If allocation fails, don't issue any warnings.
> + *
> + * %__GFP_REPEAT - If allocation fails initially, try once more before failing.
> + *
> + * There are other flags available as well, but these are not intended
> + * for general use, and so are not documented here. For a full list of
> + * potential flags, always refer to linux/gfp.h.
>   *
>   * kmalloc is the normal method of allocating memory
>   * for objects smaller than page size in the kernel.
> @@ -495,61 +540,6 @@ int cache_show(struct kmem_cache *s, struct seq_file *m);
>  void print_slabinfo_header(struct seq_file *m);
> 
>  /**
> - * kmalloc - allocate memory
> - * @size: how many bytes of memory are required.
> - * @flags: the type of memory to allocate.
> - *
> - * The @flags argument may be one of:
> - *
> - * %GFP_USER - Allocate memory on behalf of user.  May sleep.
> - *
> - * %GFP_KERNEL - Allocate normal kernel ram.  May sleep.
> - *
> - * %GFP_ATOMIC - Allocation will not sleep.  May use emergency pools.
> - *   For example, use this inside interrupt handlers.
> - *
> - * %GFP_HIGHUSER - Allocate pages from high memory.
> - *
> - * %GFP_NOIO - Do not do any I/O at all while trying to get memory.
> - *
> - * %GFP_NOFS - Do not make any fs calls while trying to get memory.
> - *
> - * %GFP_NOWAIT - Allocation will not sleep.
> - *
> - * %GFP_THISNODE - Allocate node-local memory only.
> - *
> - * %GFP_DMA - Allocation suitable for DMA.
> - *   Should only be used for kmalloc() caches. Otherwise, use a
> - *   slab created with SLAB_DMA.
> - *
> - * Also it is possible to set different flags by OR'ing
> - * in one or more of the following additional @flags:
> - *
> - * %__GFP_COLD - Request cache-cold pages instead of
> - *   trying to return cache-warm pages.
> - *
> - * %__GFP_HIGH - This allocation has high priority and may use emergency pools.
> - *
> - * %__GFP_NOFAIL - Indicate that this allocation is in no way allowed to fail
> - *   (think twice before using).
> - *
> - * %__GFP_NORETRY - If memory is not immediately available,
> - *   then give up at once.
> - *
> - * %__GFP_NOWARN - If allocation fails, don't issue any warnings.
> - *
> - * %__GFP_REPEAT - If allocation fails initially, try once more before failing.
> - *
> - * There are other flags available as well, but these are not intended
> - * for general use, and so are not documented here. For a full list of
> - * potential flags, always refer to linux/gfp.h.
> - *
> - * kmalloc is the normal method of allocating memory
> - * in the kernel.
> - */
> -static __always_inline void *kmalloc(size_t size, gfp_t flags);
> -
> -/**
>   * kmalloc_array - allocate memory for an array.
>   * @n: number of elements.
>   * @size: element size.
> 


-- 
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ