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: <e8e7a98a-b078-668f-31ab-9d4410145d35@huawei.com>
Date:   Thu, 5 Dec 2019 10:37:46 +0000
From:   John Garry <john.garry@...wei.com>
To:     <paulmck@...nel.org>, Corey Minyard <minyard@....org>
CC:     Anders Roxell <anders.roxell@...aro.org>,
        <openipmi-developer@...ts.sourceforge.net>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: Suspicious RCU usage in ipmi code

On 04/12/2019 22:16, Paul E. McKenney wrote:
> On Wed, Dec 04, 2019 at 02:42:39PM -0600, Corey Minyard wrote:

Thanks Paul, I have a few more like this:

[  138.151959][    T1] =============================
[  138.156787][    T1] WARNING: suspicious RCU usage
[  138.161614][    T1] 5.4.0+ #1420 Not tainted
[  138.166003][    T1] -----------------------------
[  138.170836][    T1] kernel/kprobes.c:329 RCU-list traversed in 
non-reader section!!

[  148.634087][    T1] =============================
[  148.638931][    T1] WARNING: suspicious RCU usage
[  148.643777][    T1] 5.4.0+ #1420 Not tainted
[  148.648186][    T1] -----------------------------
[  148.653037][    T1] security/tomoyo/domain.c:44 RCU-list traversed in 
non-reader section!!

Maybe we should just cc RCU ML when reporting.

>> On Wed, Dec 04, 2019 at 12:14:30PM -0800, Paul E. McKenney wrote:
>>> On Wed, Dec 04, 2019 at 05:19:11PM +0000, John Garry wrote:
>>> If you are using srcu_read_lock() and srcu_read_lock(), then you can
>>> use srcu_dereference_check() to tell lockdep what you are up to.
>>> There are a couple of examples in include/linux/kvm_host.h.
>>>
>>> 							Thanx, Paul
>>
>> Thanks Paul, I assume that if you use srcu_read_lock(), you using
>> list_for_each_entry_rcu() inside the lock section is fine, right?
> 
> It is, and you can add an additional optional argument with the
> lockdep expression for your SRCU instance, for example
> srcu_read_lock_held(&my_srcu).  This will let lockdep know that
> it should be looking for an SRCU read-side critical section.
> 
> 							Thanx, Paul
> 
>> John, I was unable to reproduce.  Can you send me your kernel config
>> and the git commit you are on?
>>

git log:

596cf45cbf6e Merge branch 'akpm' (patches from Andrew)
c3bfc5dd73c6 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
e5b3fc125d76 Merge branch 'x86-urgent-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
b7fcf31f7036 Merge branch 'perf-urgent-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
72c0870e3a05 Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
d10032dd539c Merge tag 'libnvdimm-for-5.5' of 
git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm


john@...n-ThinkCentre-M93p:~/linux$ more .config | grep RCU
# RCU Subsystem
CONFIG_TREE_RCU=y
CONFIG_RCU_EXPERT=y
CONFIG_SRCU=y
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_FANOUT=64
CONFIG_RCU_FANOUT_LEAF=16
CONFIG_RCU_FAST_NO_HZ=y
CONFIG_RCU_NOCB_CPU=y
# end of RCU Subsystem
CONFIG_HAVE_RCU_TABLE_FREE=y
CONFIG_PHY_LANTIQ_RCU_USB2=m
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
# RCU Debugging
CONFIG_PROVE_RCU=y
CONFIG_PROVE_RCU_LIST=y
CONFIG_RCU_PERF_TEST=m
CONFIG_RCU_TORTURE_TEST=m
CONFIG_RCU_CPU_STALL_TIMEOUT=21
CONFIG_RCU_TRACE=y
CONFIG_RCU_EQS_DEBUG=y
# end of RCU Debugging

john@...n-ThinkCentre-M93p:~/linux$ more .config | grep IPMI
CONFIG_ACPI_IPMI=m
CONFIG_IPMI_HANDLER=y
CONFIG_IPMI_DMI_DECODE=y
CONFIG_IPMI_PLAT_DATA=y
CONFIG_IPMI_PANIC_EVENT=y
CONFIG_IPMI_PANIC_STRING=y
CONFIG_IPMI_DEVICE_INTERFACE=y
CONFIG_IPMI_SI=y
CONFIG_IPMI_SSIF=y
CONFIG_IPMI_WATCHDOG=y
CONFIG_IPMI_POWEROFF=y
CONFIG_IPMI_KCS_BMC=m
CONFIG_ASPEED_KCS_IPMI_BMC=m
CONFIG_NPCM7XX_KCS_IPMI_BMC=m
CONFIG_ASPEED_BT_IPMI_BMC=m

I have attached the .config.

Thanks,
John



View attachment "allmodconfig.config" of type "text/plain" (293010 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ