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-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 13 May 2014 16:03:45 -0700
From:	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To:	josh@...htriplett.org
Cc:	linux-kernel@...r.kernel.org, mingo@...nel.org,
	laijs@...fujitsu.com, dipankar@...ibm.com,
	akpm@...ux-foundation.org, mathieu.desnoyers@...icios.com,
	niv@...ibm.com, tglx@...utronix.de, peterz@...radead.org,
	rostedt@...dmis.org, dhowells@...hat.com, edumazet@...gle.com,
	darren@...art.com, fweisbec@...il.com, oleg@...hat.com, sbw@....edu
Subject: Re: [PATCH tip/core/rcu 21/45] torture: Report diagnostics from qemu

On Wed, May 07, 2014 at 02:59:11PM -0700, josh@...htriplett.org wrote:
> On Mon, Apr 28, 2014 at 05:25:09PM -0700, Paul E. McKenney wrote:
> > From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
> > 
> > The current script does record qemu diagnostics, but the user has to
> > know where to look for them.  This commit therefore puts them into the
> > Warnings file so that kvm-recheck.sh will display them.  This change is
> > especially useful if you are in the habit of killing the qemu process
> > when you realize that you messed something up, but then later on wonder
> > why the process terminated early.
> > 
> > Signed-off-by: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>
> 
> A couple of issues below.
> 
> > @@ -172,6 +172,14 @@ do
> >  		if test $kruntime -lt $seconds
> >  		then
> >  			echo Completed in $kruntime vs. $seconds >> $resdir/Warnings 2>&1
> > +			grep "^(qemu) qemu:" $resdir/kvm-test-1-run.sh.out >> $resdir/Warnings 2>&1
> > +			killpid="`grep "^(qemu) qemu: terminating on signal [0-9]* from pid" $resdir/kvm-test-1-run.sh.out`"
> 
> You already searched for lines like this and put them in Warnings in the
> previous line, so you don't need to search the entire output.  Also, you
> use grep here and sed below; you could just use sed here to directly
> obtain the PID:
> 
> killpid="$(sed -n "s/^(qemu) qemu: terminating on signal [0-9]* from pid \([0-9]*\).*$/\1/p" $resdir/Warnings)"
> 
> > +			if test -n "$killpid"
> > +			then
> > +				pscmd="`echo $killpid | sed -e 's/^.*from pid/ps -ef | grep/'`"
> > +				echo $pscmd >> $resdir/Warnings
> > +				echo $pscmd | sh >> $resdir/Warnings 2>&1
> > +			fi
> 
> Grepping for a PID is a bad idea; it'll turn up anything that contains
> that PID anywhere on the line, including as a substring.  Given the
> above change to obtain a numeric $killpid, you can instead pass the PID
> to ps directly:
> 			if test -n "$killpid"
> 			then
> 				ps -fp $killpid >> $resdir/Warnings 2>&1
> 			fi

All good points!  What can I say?  30-year-old habits die hard.  ;-)

Giving it a spin...  Very nice, applied!

							Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ