函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:syslog_print

函数原型:static int syslog_print(char __user *buf, int size)

返回类型:int

参数:

类型参数名称
char __user *buf
intsize
1354  len等于0
1356  text等于开辟内存
1357  如果非text则返回:负ENOMEM
1360 size大于0循环
1364  Helper macros to lock/unlock logbuf_lock and switch between* printk-safe/unsafe modes.()
1369  syslog_partial等于0
1373  退出
1380  如果非syslog_partialsyslog_time等于printk_time
1383  skip等于syslog_partial
1384  msg等于get record by index; idx must point to valid msg
1385  n等于msg_print_text(msg, true, syslog_time, text, LOG_LINE_MAX + PREFIX_MAX)
1387  如果nsyslog_partial小于等于size
1391  n减等于syslog_partial
1392  syslog_partial等于0
1393  否则如果非len
1395  n等于size
1396  syslog_partial加等于n
1397  否则n等于0
1399  logbuf_unlock_irq()
1401  如果非n退出
1404  如果copy_to_user(buf, text + skip, n)则
1405  如果非lenlen等于负EFAULT
1407  退出
1410  len加等于n
1411  size减等于n
1412  buf加等于n
1415  释放内存
1416  返回:len
调用者
名称描述
do_syslog