函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:_dec_not_one - decrement a refcount if it is not 1*@r: the refcount* No atomic_t counterpart, it decrements unless the value is 1, in which case* it will return false

函数原型:bool refcount_dec_not_one(refcount_t *r)

返回类型:bool

参数:

类型参数名称
refcount_t *r
76  val等于atomic_read( & refs)
78  循环
79  如果此条件成立可能性小(为编译器优化)(val == REFCOUNT_SATURATED)则返回:true
82  如果val恒等于1则返回:false
85  new等于val减1
86  如果new大于val
87  WARN_ONCE(new > val, "refcount_t: underflow; use-after-free.\n")
88  返回:true
91  当非atomic_try_cmpxchg_release( & refs, & val, new)循环
93  返回:true
调用者
名称描述
refcount_dec_and_mutex_lock_dec_and_mutex_lock - return holding mutex if able to decrement* refcount to 0*@r: the refcount*@lock: the mutex to be locked* Similar to atomic_dec_and_mutex_lock(), it will WARN on underflow and fail* to decrement when saturated at REFCOUNT_SATURATED
refcount_dec_and_lock_dec_and_lock - return holding spinlock if able to decrement* refcount to 0*@r: the refcount*@lock: the spinlock to be locked* Similar to atomic_dec_and_lock(), it will WARN on underflow and fail to* decrement when saturated at REFCOUNT_SATURATED
refcount_dec_and_lock_irqsave_dec_and_lock_irqsave - return holding spinlock with disabled* interrupts if able to decrement refcount to 0*@r: the refcount*@lock: the spinlock to be locked*@flags: saved IRQ-flags if the is acquired* Same as refcount_dec_and_lock() above except that
put_css_set