函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:include\linux\iversion.h Create Date:2022-07-29 10:37:58
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:de_query_iversion - read i_version for later use*@inode: inode from which i_version should be read* Read the inode i_version counter

函数原型:static inline u64 inode_query_iversion(struct inode *inode)

返回类型:u64

参数:

类型参数名称
struct inode *inode
309  cur等于de_peek_iversion_raw - grab a "raw" iversion value*@inode: inode from which i_version should be read* Grab a "raw" inode->i_version value and return it. The i_version is not* flagged or converted in any way. This is mostly used to access a self-managed
310  循环
312  如果cur按位与I_VERSION_QUERIED
318  smp_mb()
319  退出
322  new等于cur按位或I_VERSION_QUERIED
323  old等于atomic64_cmpxchg( & i_version, cur, new)
324  如果此条件成立可能性大(为编译器优化)(old == cur)则退出
326  cur等于old
328  返回:cur右移We borrow the lowest bit in the i_version to use as a flag to tell whether* it has been queried since we last incremented it. If it has, then we must* increment it on the next change. After that, we can clear the flag and
调用者
名称描述
ima_collect_measurementma_collect_measurement - collect file measurement* Calculate the file hash, if it doesn't already exist,* storing the measurement and i_version in the iint.* Must be called with iint->mutex held.* Return 0 on success, error code otherwise