lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 27 Jan 2020 02:30:08 +0000 From: Jules Irenge <jbi.octave@...il.com> To: boqun.feng@...il.com Cc: linux-kernel@...r.kernel.org, tglx@...utronix.de, Jules Irenge <jbi.octave@...il.com> Subject: [PATCH v2 1/2] hrtimer: Add missing annotation to lock_hrtimer_base() Sparse reports several warnings; warning: context imbalance in lock_hrtimer_base() - wrong count at exit warning: context imbalance in hrtimer_start_range_ns() - unexpected unlock warning: context imbalance in hrtimer_try_to_cancel() - unexpected unlock warning: context imbalance in __hrtimer_get_remaining() - unexpected unlock The root cause is a missing annotation of lock_hrtimer_base() which also causes the "unexpected unlock" warnings. To fix these, an __acquires(timer) annotation is added to lock_hrtimer_base(). Given that lock_hrtimer_base() does actually call READ_ONCE(timer->base), this fixes the warnings. Signed-off-by: Jules Irenge <jbi.octave@...il.com> --- kernel/time/hrtimer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c index 8de90ea31280..d149b599bdf7 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c @@ -157,9 +157,9 @@ static inline bool is_migration_base(struct hrtimer_clock_base *base) * possible to set timer->base = &migration_base and drop the lock: the timer * remains locked. */ -static -struct hrtimer_clock_base *lock_hrtimer_base(const struct hrtimer *timer, - unsigned long *flags) +static struct hrtimer_clock_base * +lock_hrtimer_base(const struct hrtimer *timer, + unsigned long *flags) __acquires(timer) { struct hrtimer_clock_base *base; -- 2.24.1
Powered by blists - more mailing lists