75a96ee029
- Remove deprecated patch "work-around-SA_RESTART-race" (boo#982208) - Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 * Patches dropped: 0002-XXX-work-around-SA_RESTART-race-wit.patch 0003-qemu-0.9.0.cvs-binfmt.patch 0004-qemu-cvs-alsa_bitfield.patch 0005-qemu-cvs-alsa_ioctl.patch 0006-qemu-cvs-alsa_mmap.patch 0007-qemu-cvs-gettimeofday.patch 0008-qemu-cvs-ioctl_debug.patch 0009-qemu-cvs-ioctl_nodirection.patch 0010-block-vmdk-Support-creation-of-SCSI.patch 0011-linux-user-add-binfmt-wrapper-for-a.patch 0012-PPC-KVM-Disable-mmu-notifier-check.patch 0013-linux-user-fix-segfault-deadlock.patch 0014-linux-user-binfmt-support-host-bina.patch 0015-linux-user-Ignore-broken-loop-ioctl.patch 0016-linux-user-lock-tcg.patch 0017-linux-user-Run-multi-threaded-code-.patch 0018-linux-user-lock-tb-flushing-too.patch 0019-linux-user-Fake-proc-cpuinfo.patch 0020-linux-user-implement-FS_IOC_GETFLAG.patch 0021-linux-user-implement-FS_IOC_SETFLAG.patch 0022-linux-user-XXX-disable-fiemap.patch 0023-slirp-nooutgoing.patch 0024-vnc-password-file-and-incoming-conn.patch 0025-linux-user-add-more-blk-ioctls.patch 0026-linux-user-use-target_ulong.patch 0027-block-Add-support-for-DictZip-enabl.patch 0028-block-Add-tar-container-format.patch OBS-URL: https://build.opensuse.org/request/show/408549 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=305
78 lines
2.7 KiB
Diff
78 lines
2.7 KiB
Diff
From 64acfd49e9721a17c610cc54a92efe8ec3170698 Mon Sep 17 00:00:00 2001
|
|
From: Alexander Graf <agraf@suse.de>
|
|
Date: Tue, 12 Jun 2012 04:41:10 +0200
|
|
Subject: [PATCH] linux-user: Ignore broken loop ioctl
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
During invocations of losetup, we run into an ioctl that doesn't
|
|
exist. However, because of that we output an error, which then
|
|
screws up the kiwi logic around that call.
|
|
|
|
So let's silently ignore that bogus ioctl.
|
|
|
|
Signed-off-by: Alexander Graf <agraf@suse.de>
|
|
[AF: Rebased for v2.1.0-rc0]
|
|
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
|
---
|
|
linux-user/ioctls.h | 1 +
|
|
linux-user/linux_loop.h | 1 +
|
|
linux-user/syscall.c | 7 +++++++
|
|
linux-user/syscall_defs.h | 1 +
|
|
4 files changed, 10 insertions(+)
|
|
|
|
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
|
|
index 921d482..c180faf 100644
|
|
--- a/linux-user/ioctls.h
|
|
+++ b/linux-user/ioctls.h
|
|
@@ -331,6 +331,7 @@
|
|
IOCTL(LOOP_SET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64)))
|
|
IOCTL(LOOP_GET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64)))
|
|
IOCTL(LOOP_CHANGE_FD, 0, TYPE_INT)
|
|
+ IOCTL_SPECIAL(LOOP_BOGUS_CMD, 0, do_ioctl_fail, TYPE_INT)
|
|
|
|
IOCTL(MTIOCTOP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_mtop)))
|
|
IOCTL(MTIOCGET, IOC_R, MK_PTR(MK_STRUCT(STRUCT_mtget)))
|
|
diff --git a/linux-user/linux_loop.h b/linux-user/linux_loop.h
|
|
index 8974caa..810ae61 100644
|
|
--- a/linux-user/linux_loop.h
|
|
+++ b/linux-user/linux_loop.h
|
|
@@ -91,5 +91,6 @@ struct loop_info64 {
|
|
#define LOOP_SET_STATUS64 0x4C04
|
|
#define LOOP_GET_STATUS64 0x4C05
|
|
#define LOOP_CHANGE_FD 0x4C06
|
|
+#define LOOP_BOGUS_CMD 0x4C82
|
|
|
|
#endif
|
|
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
|
index 0858920..758f747 100644
|
|
--- a/linux-user/syscall.c
|
|
+++ b/linux-user/syscall.c
|
|
@@ -3999,6 +3999,13 @@ static abi_long do_ioctl_kdsigaccept(const IOCTLEntry *ie, uint8_t *buf_temp,
|
|
return get_errno(ioctl(fd, ie->host_cmd, sig));
|
|
}
|
|
|
|
+static abi_long do_ioctl_fail(const IOCTLEntry *ie, uint8_t *buf_temp, int fd,
|
|
+ abi_long cmd, abi_long arg)
|
|
+{
|
|
+ /* Fail silently */
|
|
+ return -EINVAL;
|
|
+}
|
|
+
|
|
static IOCTLEntry ioctl_entries[] = {
|
|
#define IOCTL(cmd, access, ...) \
|
|
{ TARGET_ ## cmd, cmd, #cmd, access, 0, { __VA_ARGS__ } },
|
|
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
|
index b090cdb..f820b0b 100644
|
|
--- a/linux-user/syscall_defs.h
|
|
+++ b/linux-user/syscall_defs.h
|
|
@@ -1087,6 +1087,7 @@ struct target_pollfd {
|
|
#define TARGET_LOOP_SET_STATUS64 0x4C04
|
|
#define TARGET_LOOP_GET_STATUS64 0x4C05
|
|
#define TARGET_LOOP_CHANGE_FD 0x4C06
|
|
+#define TARGET_LOOP_BOGUS_CMD 0x4C82
|
|
|
|
/* fb ioctls */
|
|
#define TARGET_FBIOGET_VSCREENINFO 0x4600
|