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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200916184528.498184-1-kuba@kernel.org>
Date:   Wed, 16 Sep 2020 11:45:21 -0700
From:   Jakub Kicinski <kuba@...nel.org>
To:     davem@...emloft.net, paulmck@...nel.org, joel@...lfernandes.org
Cc:     netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
        rcu@...r.kernel.org, josh@...htriplett.org, peterz@...radead.org,
        christian.brauner@...ntu.com, Jakub Kicinski <kuba@...nel.org>
Subject: [PATCH net-next 0/7] rcu: prevent RCU_LOCKDEP_WARN() from swallowing  the condition

Hi!

So I unfolded the RFC patch into smaller chunks and fixed an issue
in SRCU pointed out by build bot. Build bot has been quiet for
a day but I'm not 100% sure it's scanning my tree, so let's
give these patches some ML exposure.

The motivation here is that we run into a unused variable
warning in networking code because RCU_LOCKDEP_WARN() makes
its argument disappear with !LOCKDEP / !PROVE_RCU. We marked
the variable as __maybe_unused, but that's ugly IMHO.

This set makes the relevant function declarations visible to
the compiler and uses (0 && (condition)) to make the compiler
remove those calls before linker realizes they are never defined.

I'm tentatively marking these for net-next, but if anyone (Paul?)
wants to take them into their tree - even better.

Jakub Kicinski (7):
  sched: un-hide lockdep_tasklist_lock_is_held() for !LOCKDEP
  rcu: un-hide lockdep maps for !LOCKDEP
  net: un-hide lockdep_sock_is_held() for !LOCKDEP
  net: sched: remove broken definitions and un-hide for !LOCKDEP
  srcu: use a more appropriate lockdep helper
  lockdep: provide dummy forward declaration of *_is_held() helpers
  rcu: prevent RCU_LOCKDEP_WARN() from swallowing the condition

 include/linux/lockdep.h        |  6 ++++++
 include/linux/rcupdate.h       | 11 ++++++-----
 include/linux/rcupdate_trace.h |  4 ++--
 include/linux/sched/task.h     |  2 --
 include/net/sch_generic.h      | 12 ------------
 include/net/sock.h             |  2 --
 kernel/rcu/srcutree.c          |  2 +-
 7 files changed, 15 insertions(+), 24 deletions(-)

-- 
2.26.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ