Re: [PATCH] locktorture: Fix Oops when reader/writer count is 0

From: Paul E. McKenney
Date: Wed Nov 08 2017 - 12:44:30 EST


On Wed, Nov 08, 2017 at 10:57:07AM -0600, Jeremy Linton wrote:
> On 11/08/2017 10:48 AM, Paul E. McKenney wrote:
> >On Wed, Nov 08, 2017 at 06:45:23AM -0800, Davidlohr Bueso wrote:
> >>On Tue, 07 Nov 2017, Paul E. McKenney wrote:
> >>
> >>>On Tue, Nov 07, 2017 at 10:07:48PM +0100, Peter Zijlstra wrote:
> >>>>On Tue, Nov 07, 2017 at 02:01:58PM -0600, Jeremy Linton wrote:
> >>>>>Hi,
> >>>>>
> >>>>>On 10/10/2017 10:52 AM, Jeremy Linton wrote:
> >>>>>>If nwriters_stress=0 is passed to the lock torture test
> >>>>>>it will panic in:
> >>>>>
> >>>>>Ping?
> >>>>>
> >>>>>Has anyone had a chance to look at this?
> >>>>
> >>>>Helps if you Cc the people actually working on this stuff of course...
> >>>
> >>>Thank you for the forward, Peter, I have queued Jeremy's patch for
> >>>testing and review.
> >>
> >>fyi I had proposed the following a while back, which I think is more
> >>complete than this patch:
> >>
> >>https://lkml.org/lkml/2017/5/15/201
> >>
> >>Ah, there's also this (unrelated) fix:
> >>https://lkml.org/lkml/2017/5/15/203
> >>
> >>>But Jeremy's list of email addresses is what you would expect from
> >>>looking at MAINTAINERS, so how about the following patch?
> >
> >And it looks like Jeremy was not alone -- I was not CCed on either
> >of those patches, either.
> >
> >Dave's patch does look more complete, and it certainly was submitted
> >first. Let's see if it still applies... And they both do.
>
> Yes, avoiding the zero length allocations is probably a good plan,
> and complaining if both the reader and writer are zero is doesn't
> hurt either.
>
> So, I'm good with that patch too..
>
> Reviewed-by: Jeremy Linton <jeremy.linton@xxxxxxx>

Thank you!

> >Jeremy, could you please test Dave's patches and make sure that they
> >work for you? That way I can apply your Tested-by. Dave, any objection
> >to my adding Jeremy's Reported-by to your /201 patch?
>
> I will give it a spin..

Very good! Looking forward to seeing the results.

Thanx, Paul

> >>>------------------------------------------------------------------------
> >>>
> >>>commit 58322063498c8f5a3cc88f95bee237a0ce81f70a
> >>>Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> >>>Date: Tue Nov 7 14:10:03 2017 -0800
> >>>
> >>> torture: Place all torture-test modules in one MAINTAINERS group
> >>>
> >>> There is some confusion about where patches to kernel/torture.c
> >>> and kernel/locking/locktorture.c should be sent. This commit
> >>> therefore updates MAINTAINERS appropriately.
> >>>
> >>> Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> >>> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> >>>
> >>>diff --git a/MAINTAINERS b/MAINTAINERS
> >>>index 2d3d750b19c0..eab868adedc6 100644
> >>>--- a/MAINTAINERS
> >>>+++ b/MAINTAINERS
> >>>@@ -8091,6 +8091,7 @@ F: arch/*/include/asm/rwsem.h
> >>>F: include/linux/seqlock.h
> >>>F: lib/locking*.[ch]
> >>>F: kernel/locking/
> >>>+X: kernel/locking/locktorture.c
> >>>
> >>>LOGICAL DISK MANAGER SUPPORT (LDM, Windows 2000/XP/Vista Dynamic Disks)
> >>>M: "Richard Russon (FlatCap)" <ldm@xxxxxxxxxxx>
> >>>@@ -11318,15 +11319,6 @@ L: linux-wireless@xxxxxxxxxxxxxxx
> >>>S: Orphan
> >>>F: drivers/net/wireless/ray*
> >>>
> >>>-RCUTORTURE MODULE
> >>>-M: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
> >>>-M: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
> >>>-L: linux-kernel@xxxxxxxxxxxxxxx
> >>>-S: Supported
> >>>-T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
> >>>-F: Documentation/RCU/torture.txt
> >>>-F: kernel/rcu/rcutorture.c
> >>>-
> >>>RCUTORTURE TEST FRAMEWORK
> >>>M: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
> >>>M: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
> >>>@@ -13558,6 +13550,18 @@ L: platform-driver-x86@xxxxxxxxxxxxxxx
> >>>S: Maintained
> >>>F: drivers/platform/x86/topstar-laptop.c
> >>>
> >>>+TORTURE-TEST MODULES
> >>>+M: Davidlohr Bueso <dave@xxxxxxxxxxxx>
> >>>+M: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
> >>>+M: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
> >>>+L: linux-kernel@xxxxxxxxxxxxxxx
> >>>+S: Supported
> >>>+T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
> >>>+F: Documentation/RCU/torture.txt
> >>>+F: kernel/torture.c
> >>>+F: kernel/rcu/rcutorture.c
> >>>+F: kernel/locking/locktorture.c
> >>
> >>Sure, if you think this is the best way to go, I have no problem.
> >>
> >>Thanks,
> >>Davidlohr
> >>
> >
>