函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:copy_fid_to_user

函数原型:static int copy_fid_to_user(struct fanotify_event *event, char __user *buf)

返回类型:int

参数:

类型参数名称
struct fanotify_event *event
char __user *buf
209  struct fanotify_event_info_fid info = {}
210  struct file_handle handle = {}
212  fh_len等于fh_len
213  len等于fanotify_event_info_len(event)
215  如果非len则返回:0
218  如果WARN_ON_ONCE(len < info的长度 + handle的长度 + fh_len)则返回:负EFAULT
222  info_type等于FAN_EVENT_INFO_TYPE_FID
223  len等于len
224  fsid等于fsid
225  如果copy_to_user(buf, & info, info的长度)则返回:负EFAULT
228  buf加等于info的长度
229  len减等于info的长度
230  handle_type等于Those fields are outside fanotify_fid to pack fanotify_event nicely* on 64bit arch and to use fh_type as an indication of whether path* or fid are used in the union:* FILEID_ROOT (0) for path, > 0 for fid, FILEID_INVALID for neither.
231  handle_bytes等于fh_len
232  如果copy_to_user(buf, & handle, handle的长度)则返回:负EFAULT
235  buf加等于handle的长度
236  len减等于handle的长度
241  fh等于fanotify_event_fh(event)
242  如果fh_len小于等于3 dwords are sufficient for most local fs (64bit ino, 32bit generation)
243  memcpy(bounce, fh, fh_len)
244  fh等于bounce
246  如果copy_to_user(buf, fh, fh_len)则返回:负EFAULT
250  buf加等于fh_len
251  len减等于fh_len
252  WARN_ON_ONCE(len < 0 || len >= FANOTIFY_EVENT_ALIGN)
253  如果len大于0且用户内存块清零则返回:负EFAULT
256  返回:0
调用者
名称描述
copy_event_to_user