95d1280885
dereference in vapic_write() CVE-2016-1922-qemuu-i386-null-pointer-dereference-in-vapic_write.patch CVE-2016-2391-qemut-usb-null-pointer-dereference-in-ohci-module.patch - bsc#965112 - VUL-0: CVE-2014-3640: xen: slirp: NULL pointer deref in sosendto() CVE-2014-3640-qemut-slirp-NULL-pointer-deref-in-sosendto.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=404
55 lines
2.0 KiB
Diff
55 lines
2.0 KiB
Diff
Subject: ATAPI: STARTSTOPUNIT only eject/load media if powercondition is 0
|
|
From: Ronnie Sahlberg ronniesahlberg@gmail.com Tue Jul 31 11:28:26 2012 +1000
|
|
Date: Wed Sep 12 15:50:09 2012 +0200:
|
|
Git: ce560dcf20c14194db5ef3b9fc1ea592d4e68109
|
|
|
|
The START STOP UNIT command will only eject/load media if
|
|
power condition is zero.
|
|
|
|
If power condition is !0 then LOEJ and START will be ignored.
|
|
|
|
From MMC (sbc contains similar wordings too)
|
|
The Power Conditions field requests the block device to be placed
|
|
in the power condition defined in
|
|
Table 558. If this field has a value other than 0h then the Start
|
|
and LoEj bits shall be ignored.
|
|
|
|
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
|
|
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
|
|
|
|
From aa851d30acfbb9580098ac1dc82885530cb8b3c1 Mon Sep 17 00:00:00 2001
|
|
From: Kevin Wolf <kwolf@redhat.com>
|
|
Date: Wed, 3 Jun 2015 14:17:46 +0200
|
|
Subject: [PATCH 2/3] ide/atapi: Fix START STOP UNIT command completion
|
|
|
|
The command must be completed on all code paths. START STOP UNIT with
|
|
pwrcnd set should succeed without doing anything.
|
|
|
|
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
|
|
---
|
|
hw/ide/atapi.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
Index: xen-4.6.1-testing/tools/qemu-xen-traditional-dir-remote/hw/ide.c
|
|
===================================================================
|
|
--- xen-4.6.1-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/ide.c
|
|
+++ xen-4.6.1-testing/tools/qemu-xen-traditional-dir-remote/hw/ide.c
|
|
@@ -2098,9 +2098,16 @@ static void ide_atapi_cmd(IDEState *s)
|
|
break;
|
|
case GPCMD_START_STOP_UNIT:
|
|
{
|
|
- int start, eject;
|
|
+ int start, eject, pwrcnd;
|
|
start = packet[4] & 1;
|
|
eject = (packet[4] >> 1) & 1;
|
|
+ pwrcnd = buf[4] & 0xf0;
|
|
+
|
|
+ if (pwrcnd) {
|
|
+ /* eject/load only happens for power condition == 0 */
|
|
+ ide_atapi_cmd_ok(s);
|
|
+ return;
|
|
+ }
|
|
|
|
if (eject && !start) {
|
|
/* eject the disk */
|