Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:lnussel
qemu-1.6
0018-linux-user-Ignore-broken-loop-ioctl.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0018-linux-user-Ignore-broken-loop-ioctl.patch of Package qemu-1.6
From a7f0cbeed23b5ff6c4a3334e36f165ec8db7d9d3 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 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> --- 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 1c9d67f..b743309 100644 --- a/linux-user/ioctls.h +++ b/linux-user/ioctls.h @@ -327,6 +327,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 d5b3d02..5113d22 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -3732,6 +3732,13 @@ static abi_long do_ioctl_rt(const IOCTLEntry *ie, uint8_t *buf_temp, return ret; } +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 57ac1ce..763fb30 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -1032,6 +1032,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
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor