函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\slab.c Create Date:2022-07-27 17:19:43
Last Modify:2022-05-23 17:02:55 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:kmem_cache_alloc_bulk

函数原型:int kmem_cache_alloc_bulk(struct kmem_cache *s, gfp_t flags, size_t size, void **p)

返回类型:int

参数:

类型参数名称
struct kmem_cache *s
gfp_tflags
size_tsize
void **p
3556  s等于slab_pre_alloc_hook(s, flags)
3557  如果非s则返回:0
3560  cache_alloc_debugcheck_before(s, flags)
3562  禁止中断()
3563 i小于size循环
3564  objp等于__do_cache_alloc(s, flags)
3566  如果此条件成立可能性小(为编译器优化)(!objp)则转到:error
3568  p[i]等于objp
3570  开中断()
3572  cache_alloc_debugcheck_after_bulk(s, flags, size, p, _RET_IP_)
3575  如果此条件成立可能性小(为编译器优化)(slab_want_init_on_alloc(flags, s))则以i小于size循环
3577  memset(p[i], 0, The size of an object without metadata )
3579  slab_post_alloc_hook(s, flags, size, p)
3581  返回:size
3582  error :
3583  开中断()
3584  cache_alloc_debugcheck_after_bulk(s, flags, i, p, _RET_IP_)
3585  slab_post_alloc_hook(s, flags, i, p)
3586  __kmem_cache_free_bulk(s, i, p)
3587  返回:0