From patchwork Thu Jan 23 08:22:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 1227706 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 483FjY0VPhz9sR1 for ; Thu, 23 Jan 2020 19:26:25 +1100 (AEDT) Received: from localhost ([::1]:53050 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iuXok-0005DO-Qm for incoming@patchwork.ozlabs.org; Thu, 23 Jan 2020 03:26:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:56002) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iuXlM-00014t-3i for qemu-devel@nongnu.org; Thu, 23 Jan 2020 03:22:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iuXlK-00032G-KT for qemu-devel@nongnu.org; Thu, 23 Jan 2020 03:22:51 -0500 Received: from mout.kundenserver.de ([212.227.126.134]:39505) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iuXlK-00030m-Al for qemu-devel@nongnu.org; Thu, 23 Jan 2020 03:22:50 -0500 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis) id 1N6bPS-1jgTgr0XQk-017zXj; Thu, 23 Jan 2020 09:22:35 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 03/17] linux-user: Add support for FS_IOC_VERSION ioctls Date: Thu, 23 Jan 2020 09:22:13 +0100 Message-Id: <20200123082227.2037994-4-laurent@vivier.eu> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200123082227.2037994-1-laurent@vivier.eu> References: <20200123082227.2037994-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:5+e8ly+M64AP+Fd9RcIlIR0MmRTynLhSFtzn9DW9MCwhG6dhmn6 I17Lmp0tzxas//xawK8xcJ2OLzZe62iDbN863PfFuKIJbZcvKzb3QY5vGhxQDBWRabmfnfH O4aIRxAZwApOXikf56dc47MHGcYHxLeAaUEdLG7Av2c+WcDDb6sPfgyYCVR44Yi8mTpop9C Mr7DtaDCC4J9ykSrWWsZQ== X-UI-Out-Filterresults: notjunk:1; V03:K0:zGKMKVesmio=:RfR4q6OYN579CSUuJI9+1W agBD2kYKoeZ9NAEtq9sfB/6OeSVPY3urhw9YYxpcuxNv9I0CJ5gYoxDej3/WolAh610gvUSjD ADXHZQNRDlyefen3Xv6XYOuZGhEy+VC/iI9C1BEtSaeWz2MJ3YOgWWc2gqj7ShqheYmuraGXX Mphu6eWzna6XZnUh5Qd4y/RhoPRVO+f+niB0YeN4/aPe0dk3v8RH9l2MVllR4H4Yii43HOxUT 7I32kcLHDh9b264bUUTGJRrt6at4knC/jrDDm6E+rRy2vYypTQbl9cEQeAZxen4g6P79lWj2D 5TAibfnpDv3nR/RZGqJs3MJuKQv936WYEJEZarYR2OfFmDJmqB+zzwoA/TLLj8cBJs1sNV7gS tYBfBlV8kSPhPViHl6O2w48pQz2dM1iCxeqeW6UXT0WdO7su8OHmbYHE3q8DMP+PE/FeA3EOq m77oy8BwwqeT0tZPORp6G64Q8ymo8bl3rzv1/IO3FqQXKnfcIBRc/9bKC26FvWzG1tYSYkh4b AjbcBam6Qt5t1kmus6lLbGDSCes/5EyhH5uZwsE36PZWLreRvGJJezwd85Zr3EXbtJkTzWZ6t PB9VUOHjA7Bpdeb41Jk/eVM/F2gwCjO94S7nZir0cc4ssEckCzlX/V5UmLf123Hs2DSRr/kPF rB3LUVC9R0g08nmLnQQfJMjedxiwi6VWYxHWdBzjp5uku+OG8nbNSohmZ3gJVIUHsG8y77Y6r 8Bht39nWsyK0rYogCRAhEjL4+qOw2Wk0yE9mqGag3AbP9AZuDH1j0NJD2QLevOeZjw5BQB3Dw yxIDVFsOatbXc2cSwLTBZ2JG2Y5QLKiud64OsVytiYp3wjH1Jk= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.126.134 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Riku Voipio , Laurent Vivier , Aleksandar Markovic Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Aleksandar Markovic A very specific thing for these two ioctls is that their code implies that their third argument is of type 'long', but the kernel uses that argument as if it is of type 'int'. This anomaly is recognized also in commit 6080723 (linux-user: Implement FS_IOC_GETFLAGS and FS_IOC_SETFLAGS ioctls). Reviewed-by: Laurent Vivier Signed-off-by: Aleksandar Markovic Message-Id: <1579214991-19602-2-git-send-email-aleksandar.markovic@rt-rk.com> Signed-off-by: Laurent Vivier --- linux-user/ioctls.h | 2 ++ linux-user/syscall_defs.h | 8 +++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h index c6b9d6ad6653..c44f42eaf4e7 100644 --- a/linux-user/ioctls.h +++ b/linux-user/ioctls.h @@ -138,6 +138,8 @@ IOCTL(FS_IOC_GETFLAGS, IOC_R, MK_PTR(TYPE_INT)) IOCTL(FS_IOC_SETFLAGS, IOC_W, MK_PTR(TYPE_INT)) + IOCTL(FS_IOC_GETVERSION, IOC_R, MK_PTR(TYPE_INT)) + IOCTL(FS_IOC_SETVERSION, IOC_W, MK_PTR(TYPE_INT)) #ifdef CONFIG_USBFS /* USB ioctls */ diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index 98c2119de9c1..f68a8b6e8e18 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -911,12 +911,14 @@ struct target_pollfd { #define TARGET_FICLONE TARGET_IOW(0x94, 9, int) #define TARGET_FICLONERANGE TARGET_IOW(0x94, 13, struct file_clone_range) -/* Note that the ioctl numbers claim type "long" but the actual type - * used by the kernel is "int". +/* + * Note that the ioctl numbers for FS_IOC_ + * claim type "long" but the actual type used by the kernel is "int". */ #define TARGET_FS_IOC_GETFLAGS TARGET_IOR('f', 1, abi_long) #define TARGET_FS_IOC_SETFLAGS TARGET_IOW('f', 2, abi_long) - +#define TARGET_FS_IOC_GETVERSION TARGET_IOR('v', 1, abi_long) +#define TARGET_FS_IOC_SETVERSION TARGET_IOW('v', 2, abi_long) #define TARGET_FS_IOC_FIEMAP TARGET_IOWR('f',11,struct fiemap) /* usb ioctls */