From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [linux-3.14 bisection] complete test-amd64-i386-xl-qcow2 Date: Wed, 2 Sep 2015 10:18:32 +0100 Message-ID: <1441185512.26292.111.camel@citrix.com> References: <1441099198.27618.13.camel@citrix.com> <21989.30329.419566.715627@mariner.uk.xensource.com> <1441101938.27618.17.camel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: <1441101938.27618.17.camel@citrix.com> Sender: stable-owner@vger.kernel.org To: Ian Jackson , stable@vger.kernel.org, Greg Kroah-Hartman Cc: osstest service owner , xen-devel@lists.xensource.com, Marek =?ISO-8859-1?Q?Marczykowski-G=F3recki?= , David Vrabel List-Id: xen-devel@lists.xenproject.org [resending to correct stable address, sorry folks] TL;DR: Any backport of 30b03d05e074 to earlier than commit 1401c00e59e ("xen/gntdev: convert priv->lock to a mutex", which was added in v4.0) needs $something doing to it, either s/mutex/spinlock/ or (more likely) backporting of 1401c00e59e too. Looking at LTS: 3.18.y: Backported both. 3.16.y: Has backported neither 3.14.y: * Only backported 30b03d05e074 3.12.y: Has backported neither 3.10.y: * Only backported 30b03d05e074 3.4.y: Has backported neither 3.2.y: Has backported neither So AFAICT 3.14.y and 3.10.y need fixes, probably following 3.18 and backporting 1401c00e59e. 3.16/12/4/2 might need to be careful if they subsequently pick up 30b03= d05. See below for the build log error. On Tue, 2015-09-01 at 11:05 +0100, Ian Campbell wrote: > On Tue, 2015-09-01 at 10:57 +0100, Ian Jackson wrote: > > Ian Campbell writes ("Re: [linux-3.14 bisection] complete test-amd6= 4 > > -i386 > > -xl-qcow2"): > > > On Wed, 2015-08-26 at 20:02 +0000, osstest service owner wrote: > > > > commit 9e6c072a69d87100808d16279d60e9f857291340 > > > > Author: Marek Marczykowski-G=C3=B3recki < > > > > marmarek@invisiblethingslab.com > > > > >=20 > > > > Date: Fri Jun 26 03:28:24 2015 +0200 > > > > =20 > > > > xen/gntdevt: Fix race condition in gntdev_release() > > >=20 > > > I'm not sure what to make of this. > > >=20 > > > The qcow2 test is one of the only ones I'd expect to be exercisin= g=20 > > > gntdev > > > (most tests use LVM+blkback), which explains why this particular=20 > > > commit=20 > > > is > > > apparently seeing issues due to this particular change. > >=20 > > (You mean `which explains why this particular _test_ is [failing]', > > I think.) >=20 > Indeed. >=20 > > The host serial log in one of the confirmation tests of 9e6c072a sh= ows > > serious trouble: > >=20 > > http://logs.test-lab.xenproject.org/osstest/logs/60893/test-amd64-= i386 > > -xl-qcow2/serial-huxelrebe1.log > >=20 > > Aug 26 19:36:51.841068 [ 738.050547] BUG: unable to handle kernel > > NULL pointer dereference at 00000014 > >=20 > > Aug 26 19:36:56.753068 [ 738.050594] IP: [] > > __mmu_notifier_invalidate_range_start+0x33/0x70 > >=20 > > And the immediately preceding confirmation flight, which got a pass= on > > 9e6c072a~1, seems fine: > >=20 > > http://logs.test-lab.xenproject.org/osstest/logs/60892/test-amd64-= i386 > > -xl-qcow2/serial-huxelrebe1.log > >=20 > > But, it's difficult to see how that gntdev fix would be responsible > > for the bug. Perhaps it changes the order in which certain things > > happen so as to expose another bug. >=20 > Or perhaps there was a fix and/or change in behaviour in the mmunotif= ier > stuff which the patch relied on but which isn't in 3.14? Looking at http://logs.test-lab.xenproject.org/osstest/logs/60949/'s bu= ild jobs: http://logs.test-lab.xenproject.org/osstest/logs/60949/build-amd64 -pvops/5.ts-kernel-build.log contains: drivers/xen/gntdev.c: In function =C3=A2=E2=82=AC=CB=9Cgntdev_release=C3= =A2=E2=82=AC=E2=84=A2: drivers/xen/gntdev.c:532:2: warning: passing argument 1 of =C3=A2=E2=82= =AC=CB=9Cmutex_lock=C3=A2=E2=82=AC=E2=84=A2 from incompatible pointer type [enabled by default] In file included from include/linux/notifier.h:13:0, from include/linux/memory_hotplug.h:6, from include/linux/mmzone.h:821, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/xen/gntdev.c:24: include/linux/mutex.h:157:13: note: expected =C3=A2=E2=82=AC=CB=9Cstruc= t mutex *=C3=A2=E2=82=AC=E2=84=A2 but argument is of type =C3=A2=E2=82=AC=CB=9Cstruct spinlock_t *=C3=A2=E2=82= =AC=E2=84=A2 drivers/xen/gntdev.c:539:2: warning: passing argument 1 of =C3=A2=E2=82=AC=CB=9Cmutex_unlock=C3=A2=E2=82=AC=E2=84=A2 from incompat= ible pointer type [enabled by default] In file included from include/linux/notifier.h:13:0, from include/linux/memory_hotplug.h:6, from include/linux/mmzone.h:821, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from drivers/xen/gntdev.c:24: include/linux/mutex.h:174:13: note: expected =C3=A2=E2=82=AC=CB=9Cstruc= t mutex *=C3=A2=E2=82=AC=E2=84=A2 but argument is of type =C3=A2=E2=82=AC=CB=9Cstruct spinlock_t *=C3=A2=E2=82= =AC=E2=84=A2 Which is somehow a warning and not a build failure. Ian.