branch xen-unstable xen branch xen-unstable job build-amd64-oldkern test xen-build Tree: linux http://xenbits.xen.org/linux-2.6.18-xen.hg Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Tree: xen http://xenbits.xen.org/hg/staging/xen-unstable.hg *** Found and reproduced problem changeset *** Bug is in tree: linux http://xenbits.xen.org/linux-2.6.18-xen.hg Bug introduced: c5d77641c738 Bug not present: 9db2ee23611e changeset: 1199:c5d77641c738 tag: tip user: Jan Beulich <jbeulich@suse.com> date: Wed Oct 17 10:58:39 2012 +0200 fix hypercall fallback code for very old hypervisors While copying the argument structures in HYPERVISOR_event_channel_op() and HYPERVISOR_physdev_op() into the local variable is sufficiently safe even if the actual structure is smaller than the container one, copying back eventual output values the same way isn''t: This may collide with on-stack variables (particularly "rc") which may change between the first and second memcpy() (i.e. the second memcpy() could discard that change). Move the fallback code into out-of-line functions, and handle all of the operations known by this old a hypervisor individually: Some don''t require copying back anything at all, and for the rest use the individual argument structures'' sizes rather than the container''s. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Jan Beulich <jbeulich@suse.com> For bisection revision-tuple graph see: http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.xen-unstable.build-amd64-oldkern.xen-build.html Revision IDs in each graph node refer, respectively, to the Trees above. ---------------------------------------- Searching for failure / basis pass: 14045 fail [host=lace-bug] / 13979 [host=gall-mite] 13973 ok. Failure / basis pass flights: 14045 / 13973 Tree: linux http://xenbits.xen.org/linux-2.6.18-xen.hg Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Tree: xen http://xenbits.xen.org/hg/staging/xen-unstable.hg Latest c5d77641c738 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 3fa2ab30bb05 Basis pass 480fbb0fc4b5 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 4fc87c2f31a0 Generating revisions with ./adhoc-revtuple-generator http://xenbits.xen.org/linux-2.6.18-xen.hg#480fbb0fc4b5-c5d77641c738 git://xenbits.xen.org/staging/qemu-xen-unstable.git#bacc0d302445c75f18f4c826750fb5853b60e7ca-bacc0d302445c75f18f4c826750fb5853b60e7ca git://xenbits.xen.org/staging/qemu-upstream-unstable.git#cdf4d2bb4006805f209712fbb8ed1f83127e9984-cdf4d2bb4006805f209712fbb8ed1f83127e9984 http://xenbits.xen.org/hg/staging/xen-unstable.hg#4fc87c2f31a0-3fa2ab30bb05 pulling from ssh://xen@xenbits.xen.org/HG/linux-2.6.18-xen.hg searching for changes no changes found pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg searching for changes no changes found pulling from ssh://xen@xenbits.xen.org/HG/linux-2.6.18-xen.hg searching for changes no changes found pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg searching for changes no changes found Loaded 1273 nodes in revision graph Searching for test results: 13972 pass 480fbb0fc4b5 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 4fc87c2f31a0 13973 pass 480fbb0fc4b5 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 4fc87c2f31a0 13979 [host=gall-mite] 13995 fail c5d77641c738 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 4b4c0c7a6031 14001 fail c5d77641c738 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 1f4be6ee4619 14007 fail c5d77641c738 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 5c402b905e00 14060 fail c5d77641c738 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 4fc87c2f31a0 14011 fail c5d77641c738 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 5c402b905e00 14017 fail c5d77641c738 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 5c402b905e00 14038 fail c5d77641c738 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 3fa2ab30bb05 14052 pass 480fbb0fc4b5 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 4fc87c2f31a0 14032 fail c5d77641c738 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 3fa2ab30bb05 14053 fail c5d77641c738 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 3fa2ab30bb05 14054 pass 9db2ee23611e bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 4fc87c2f31a0 14055 fail c5d77641c738 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 4fc87c2f31a0 14045 fail c5d77641c738 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 3fa2ab30bb05 14056 pass 9db2ee23611e bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 4fc87c2f31a0 14058 fail c5d77641c738 bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 4fc87c2f31a0 14059 pass 9db2ee23611e bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 4fc87c2f31a0 Searching for interesting versions Result found: flight 13972 (pass), for basis pass Result found: flight 14032 (fail), for basis failure Repro found: flight 14052 (pass), for basis pass Repro found: flight 14053 (fail), for basis failure 0 revisions at 9db2ee23611e bacc0d302445c75f18f4c826750fb5853b60e7ca cdf4d2bb4006805f209712fbb8ed1f83127e9984 4fc87c2f31a0 No revisions left to test, checking graph state. Result found: flight 14054 (pass), for last pass Result found: flight 14055 (fail), for first failure Repro found: flight 14056 (pass), for last pass Repro found: flight 14058 (fail), for first failure Repro found: flight 14059 (pass), for last pass Repro found: flight 14060 (fail), for first failure *** Found and reproduced problem changeset *** Bug is in tree: linux http://xenbits.xen.org/linux-2.6.18-xen.hg Bug introduced: c5d77641c738 Bug not present: 9db2ee23611e pulling from ssh://xen@xenbits.xen.org/HG/linux-2.6.18-xen.hg searching for changes no changes found changeset: 1199:c5d77641c738 tag: tip user: Jan Beulich <jbeulich@suse.com> date: Wed Oct 17 10:58:39 2012 +0200 fix hypercall fallback code for very old hypervisors While copying the argument structures in HYPERVISOR_event_channel_op() and HYPERVISOR_physdev_op() into the local variable is sufficiently safe even if the actual structure is smaller than the container one, copying back eventual output values the same way isn''t: This may collide with on-stack variables (particularly "rc") which may change between the first and second memcpy() (i.e. the second memcpy() could discard that change). Move the fallback code into out-of-line functions, and handle all of the operations known by this old a hypervisor individually: Some don''t require copying back anything at all, and for the rest use the individual argument structures'' sizes rather than the container''s. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Jan Beulich <jbeulich@suse.com> Revision graph left in /home/xc_osstest/results/bisect.xen-unstable.build-amd64-oldkern.xen-build.{dot,ps,png,html}. ---------------------------------------- 14060: tolerable ALL FAIL flight 14060 xen-unstable real-bisect [real] http://www.chiark.greenend.org.uk/~xensrcts/logs/14060/ Failures :-/ but no regressions. Tests which did not succeed, including tests which could not be run: build-amd64-oldkern 4 xen-build fail baseline untested jobs: build-amd64-oldkern fail ------------------------------------------------------------ sg-report-flight on woking.cam.xci-test.com logs: /home/xc_osstest/logs images: /home/xc_osstest/images Logs, config files, etc. are available at http://www.chiark.greenend.org.uk/~xensrcts/logs Test harness code can be found at http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary