函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:p_call_nested - Perform a bound (possibly) nested call, by checking* that the recursion limit is not exceeded, and that* the same nested call (by the meaning of same cookie) is* no re-entered.

函数原型:static int ep_call_nested(struct nested_calls *ncalls, int (*nproc)(void *, void *, int ), void *priv, void *cookie, void *ctx)

返回类型:int

参数:

类型参数名称
struct nested_calls *ncalls
int (*nproc
void *priv
void *cookie
void *ctx
483  call_nests等于0
485  lsthead等于tasks_call_list
489  spin_lock_irqsave( & lock, flags)
497  如果ctx恒等于ctxcookie恒等于cookiecall_nests先自加大于Maximum number of nesting allowed inside epoll sets 的值则
503  error等于负1
504  转到:out_unlock
509  ctx等于ctx
510  cookie等于cookie
511  添加链表项
513  spin_unlock_irqrestore( & lock, flags)
516  error = ( * nproc)(priv, cookie, call_nests)
519  spin_lock_irqsave( & lock, flags)
520  删除链表项
521  out_unlock :
522  spin_unlock_irqrestore( & lock, flags)
524  返回:error
调用者
名称描述
reverse_path_check_proc
reverse_path_checkverse_path_check - The tfile_check_list is list of file *, which have* links that are proposed to be newly added
ep_loop_check_procp_loop_check_proc - Callback function to be passed to the @ep_call_nested()* API, to verify that adding an epoll file inside another* epoll structure, does not violate the constraints, in* terms of closed loops, or too deep chains (which can
ep_loop_checkp_loop_check - Performs a check to verify that adding an epoll file (@file)* another epoll file (represented by @ep) does not create* closed loops or too deep chains.*@ep: Pointer to the epoll private data structure.