函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\notify\fanotify\fanotify_user.c Create Date:2022-07-29 10:50:18
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:fanotify_remove_mark

函数原型:static int fanotify_remove_mark(struct fsnotify_group *group, fsnotify_connp_t *connp, __u32 mask, unsigned int flags)

返回类型:int

参数:

类型参数名称
struct fsnotify_group *group
fsnotify_connp_t *connp
__u32mask
unsigned intflags
608  struct fsnotify_mark * fsn_mark = NULL
612  mutex_lock( & protect marks_list )
613  fsn_mark等于Given a list of marks, find the mark associated with given group. If found* take a reference to that mark and return it, else return NULL.
614  如果非fsn_mark
615  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
616  返回:负ENOENT
619  removed等于fanotify_mark_remove_from_mask(fsn_mark, mask, flags, & destroy_mark)
621  如果removed按位与fsnotify_conn_mask( Head of list of marks for an object [mark ref] )则Calculate mask of events for a list of marks. The caller must make sure* connector and connector->obj cannot disappear under us. Callers achieve* this by holding a mark->lock or mark->group->mark_mutex for a mark on this* list.
623  如果destroy_markMark mark as detached, remove it from group list
625  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
626  如果destroy_markFree fsnotify mark
630  fsnotify_put_mark(fsn_mark)
631  返回:0
调用者
名称描述
fanotify_remove_vfsmount_mark
fanotify_remove_sb_mark
fanotify_remove_inode_mark