函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:security\apparmor\apparmorfs.c Create Date:2022-07-27 21:23:16
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:deflate_decompress

函数原型:static int deflate_decompress(char *src, size_t slen, char *dst, size_t dlen)

返回类型:int

参数:

类型参数名称
char *src
size_tslen
char *dst
size_tdlen
1332  如果aa_g_rawdata_compression_level恒等于0则
1333  如果dlen小于slen则返回:负EINVAL
1335  memcpy(dst, src, slen)
1336  返回:0
1339  memset( & strm, 0, strm的长度)
1341  memory allocated for this stream 等于kvzalloc(zlib_inflate_workspacesize(), GFP_KERNEL)
1342  如果非 memory allocated for this stream 则返回:负ENOMEM
1345  next input byte 等于src
1346  number of bytes available at next_in 等于slen
1348  error等于zlib_inflateInit( & strm)
1349  如果error不等于Allowed flush values; see deflate() and inflate() below for details
1350  error等于负ENOMEM
1351  转到:fail_inflate_init
1354  next output byte should be put there 等于dst
1355  remaining free space at next_out 等于dlen
1357  error等于late() uses a state machine to process as much input data and generate asmuch output data as possible before returning
1358  如果error不等于Z_STREAM_ENDerror等于负EINVAL
1360  否则error等于0
1363  zlib_inflateEnd( & strm)
1364  fail_inflate_init :
1365  kvfree() - Free memory.*@addr: Pointer to allocated memory.* kvfree frees memory allocated by any of vmalloc(), kmalloc() or kvmalloc().* It is slightly more efficient to use kfree() or vfree() if you are certain* that you know which one to use.
1366  返回:error
调用者
名称描述
rawdata_open