函数逻辑报告 |
Source Code:fs\file_table.c |
Create Date:2022-07-29 10:31:55 |
Last Modify:2020-03-18 10:20:10 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:he real guts of fput() - releasing the last reference to file
函数原型:static void __fput(struct file *file)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct file * | file |
258 | inode等于 cached value |
261 | 如果此条件成立可能性小(为编译器优化)(!(f_mode & FMODE_OPENED))则转到:out |
264 | might_sleep() |
272 | locks_remove_file(file) |
274 | ima_file_free(file) |
275 | 如果此条件成立可能性小(为编译器优化)(f_flags & FASYNC)则 |
281 | 如果此条件成立可能性小(为编译器优化)(S_ISCHR(i_mode) && i_cdev != NULL && !(mode & File is opened with O_PATH; almost nothing can be done with it ))则 |
287 | 如果mode按位与le is open for reading 按位或le is open for writing 的值的值恒等于le is open for reading 则i_readcount_dec(inode) |
289 | 如果mode按位与Write access to underlying fs 则 |
290 | put_write_access(inode) |
291 | __mnt_drop_write(mnt) |
297 | out : |
名称 | 描述 |
---|---|
delayed_fput | |
____fput | |
__fput_sync | synchronous analog of fput(); for kernel threads that might be needed* in some umount() (and thus can't use flush_delayed_fput() without* risking deadlocks), need to wait for completion of __fput() and know* for this specific struct file it won't involve |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |