函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\audit.c Create Date:2022-07-27 12:25:35
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:kauditd_thread - Worker thread to send audit records to userspace*@dummy: unused

函数原型:static int kauditd_thread(void *dummy)

返回类型:int

参数:

类型参数名称
void *dummy
808  portid等于0
809  struct net * net = NULL
810  struct sock * sk = NULL
815  set_freezable - make %current freezable* Mark %current freezable and enter refrigerator if necessary.
816  当非kthread_should_stop - should this kthread return now?* When someone calls kthread_stop() on your kthread, it will be woken* and this will return true. You should then return, and your return* value will be passed through to kthread_stop().循环
818  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
819  ac等于cu_dereference() - fetch RCU-protected pointer for dereferencing*@p: The pointer to read, prior to dereferencing* This is a simple wrapper around rcu_dereference_check().(struct auditd_connection - kernel/auditd connection state*@pid: auditd PID*@portid: netlink portid*@net: the associated network namespace*@rcu: RCU head* Description:* This struct is RCU protected; you must either hold the RCU lock for reading)
820  如果非ac
822  转到:main_queue
824  net等于get_net(net)
825  sk等于audit_get_sk - Return the audit socket for the given network namespace*@net: the destination network namespace* Description:* Returns the sock pointer if valid, NULL otherwise. The caller must ensure
826  portid等于portid
827  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
830  rc等于kauditd_send_queue - Helper for kauditd_thread to flush skb queues*@sk: the sending sock*@portid: the netlink destination*@queue: the skb queue to process*@retry_limit: limit on number of netlink unicast failures*@skb_hook: per-skb hook for additional
833  如果rc小于0则
834  sk = NULL
836  转到:main_queue
840  rc等于kauditd_send_queue - Helper for kauditd_thread to flush skb queues*@sk: the sending sock*@portid: the netlink destination*@queue: the skb queue to process*@retry_limit: limit on number of netlink unicast failures*@skb_hook: per-skb hook for additional
843  如果rc小于0则
844  sk = NULL
846  转到:main_queue
849  main_queue :
854  rc等于kauditd_send_queue - Helper for kauditd_thread to flush skb queues*@sk: the sending sock*@portid: the netlink destination*@queue: the skb queue to process*@retry_limit: limit on number of netlink unicast failures*@skb_hook: per-skb hook for additional
858  如果acrc小于0则auditd_reset - Disconnect the auditd connection*@ac: auditd connection state* Description:* Break the auditd/kauditd connection and move all the queued records into the* hold queue in case auditd reconnects
860  sk = NULL
863  如果net
864  put_net(net)
865  net = NULL
869  wake_up( & waitqueue for callers who are blocked on the audit backlog )
875  wait_event_freezable - sleep (or freeze) until a condition gets true*@wq_head: the waitqueue to wait on*@condition: a C expression for the event to wait for* The process is put to sleep (TASK_INTERRUPTIBLE -- so as not to contribute(kauditd_wait, (取队列长度 ? 1 : 0))
879  返回:0