函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\locking\lockdep.c Create Date:2022-07-27 10:50:16
Last Modify:2020-03-17 14:16:01 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:print_unlock_imbalance_bug

函数原型:static void print_unlock_imbalance_bug(struct task_struct *curr, struct lockdep_map *lock, unsigned long ip)

返回类型:void

参数:

类型参数名称
struct task_struct *curr
struct lockdep_map *lock
unsigned longip
3987  如果非Generic 'turn off all lock debugging' function:则返回
3989  如果The locking-testsuite uses to get a* 'silent failure': nothing is printed to the console when* a locking bug is detected.则返回
3992  打印警告信息("\n")
3993  打印警告信息("=====================================\n")
3994  打印警告信息("WARNING: bad unlock balance detected!\n")
3995  print_kernel_ident()
3996  打印警告信息("-------------------------------------\n")
3997  打印警告信息("%s/%d is trying to release lock (", 是否使用FPU, task_pid_nr(curr))
3999  print_lockdep_cache(lock)
4000  打印标准信息(") at:\n")
4001  print_ip_sym(ip)
4002  打印警告信息("but there are no more locks to release!\n")
4003  打印警告信息("\nother info that might help us debug this:\n")
4004  lockdep_print_held_locks(curr)
4006  打印警告信息("\nstack backtrace:\n")
4007  dump_stack()
调用者
名称描述
__lock_set_class
__lock_downgrade
__lock_releaseRemove the lock from the list of currently held locks - this gets* called on mutex_unlock()/spin_unlock*() (or on a failed* mutex_lock_interruptible()).