[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH for-4.16] freebsd/privcmd: fix MMAP_RESOURCE ioctl definition


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Roger Pau Monne <roger.pau@xxxxxxxxxx>
  • Date: Mon, 15 Nov 2021 12:08:51 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dQGcGIWw8+ykgU2xoO+AYLGk6aYorzQ1pON8+RmWEuE=; b=UA+VIvOyZdxXIbUQ5CSOT8ntHmUKjx2RGtAQuNN8ODoqI1xAqEsExtAxmKIe68IrQbyxSSGn2yFmjbaaZgNE1PjNX1SxF4gbhokDodA9i48YC6kf8vHrdHs/13DfgXa6UqCV46IZdlyI0M1f+Q6qBxwXJJI0KilyO+jnkvmtZhDaAiGrXt7UgdHJslod2/AUm+vAP/F3gbeTgisTIG+6oddjHu89GrS6DKQGTfLmO4Zb0iAxcJl0eUluRJVL2GR/AIogUjeTetXGGx8DPGwRiYVSvIWShm+CiD3bPj8LYP42BXArLjfRShLHf8wbbzAeTXQ09FHMYzyP20s+7opBIQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jhwosIMXB5rip8a+EwL1SAWQWlNMmNHZvTM7ynDvVDsG8vIG2728vO7htIXbVQPISrWeNKAHJ0NvVKmKMcCxRyumoML1B0eCblyhFbFxhBPfhpMpkVn/kgu/paNYHj/EFqe5es4uPSNoPIJMz81b3LuPheV+ZYbQKKIj9q0IMBJ0ti8/1eop1vfpQLT0S1+ac79fYZ69SFXH5CwgcfhhM+wu03sz2nK50Q/TmKHb6wF1yzP7gpGNcN2c3lE30RmNUgkFC28tD7L0LtWmWiZ4AhqhKA+CYxZALS6vJ4cKCn9A8PHBiT1NytNbulLWSfomm5jJFRRpar6BCZoJ6We43w==
  • Authentication-results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Roger Pau Monne <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Ian Jackson <iwj@xxxxxxxxxxxxxx>
  • Delivery-date: Mon, 15 Nov 2021 11:09:19 +0000
  • Ironport-data: A9a23:WdTxR6Dl8z7qMhVW//nkw5YqxClBgxIJ4kV8jS/XYbTApDx3hjVVn DcWUWjQMvjfZGGmKNFwYYu3oEMFsZ7Vm9JlQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WLGs1hxZH1c+EX540E87wobVv6Yz6TSHK1LV0 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/hTaIhd0u1 PF3r7e7eB4TE6jVlfkxakwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr KFGbmBWBvyAr7veLLaTUO5ji95lNMD2FIgepmth3XfSCvNOrZXrHvqav4cBjGZYasZmHe7yb YknQjxVSB3OPwBXN08XCLl9k7L97pX4W2IB8w/EzUYt2EDS0w5ZwLXrKMDSeNGBWYNShEnwj n3C13T0BFcdLtP34SqI9Degi/HCmQv/WZkOD/uo+/hymlqRy2cPThoMWjOGTeKR0xDkHYgFc gpNp3Ro/fNaGFGXosfVUR65unPbojomQfFbIvQAxQSUx7f42lPMboQbdQJpZNsjvc4wYDUl0 F6Vgt/kbQBSXK2ppWG1renN827rUcQBBSpbPHJfE1NZizX2iNhr1kqnczp1LEKiYjQZ8xnUy ivCkiUxjq57YSUjh/TipgCvb95BS/H0ou8JCuf/AzrNAuBRPtfNi2mUBb/zt6koEWphZgPd1 EXoYuDHhAz0MbmDlTaWXMIGF6yz6vCOPVX02AA0Qch4q2rwpyD/Iei8BQ2Swm8zaK7onhezP yfuVf55vscPbBNGk4cqC25ONyja5fe5Tom0PhwlRtFPfoJwZGe6ENJGPiatM5TWuBF0y8kXY M7DGe71VCpyIfk3nVKeGrZGuZd2l39W+I8mbc2ip/hR+eHFPyD9pHZsGAbmU93VG4vY+liIq IgGaJPRo/idOcWnChTqHUcoBQliBVAwBIzsqtwRceiGIwF8H3omBeOXyrQkE7GJVYwM/gsR1 n3iCEJe1nTlgnjLdVeDZnx5Meu9Vpdjt3MreycrOA/wiXQkZI+u6oYZdoc2IuZ7pLAyk6YsQ qlXYdiED9ROVi/Dp2YXY67iodEwbx+snw+PYXaoOWBtY556SgXV0db4ZQ+zpjIWBy+6uJJm8 b2t3w/WW7QZQAFmAJqEYf6j1Qrp73MchPhzTw3DJdwKIBfg941jKirQiP4rIp5TdUWfl2XCj wvPWEUWv+jApYMx4eLlv6Hcotf7CfZ6E2pbA3LfseS8Ox7F8zfx2oRHSuuJI2zQDTum5KW4a OxJ5PjgK/lbzk1Suo9xHrs3n6Iz49zj++1Twgh+RSiZal2qDvVrI2Wc3NkJvapIn+cLtQyzU 0OJ299bJbTWZ5+1TA9PfFIoPraZyPUZujjO9vBkckz16Rh+8KeDTUgPbQKHjzZQLectPY4oq Qv7VBX6N+BrZsIWD+u7
  • Ironport-hdrordr: A9a23:++MFlauIuKVNGww2YsypGOB77skDStV00zEX/kB9WHVpm62j5r iTdZsgpHzJYVoqKRMdcLO7SdC9qBHnhPlICOAqVN/INmSL1wXITL2Ki7GSpgEIcBeOkNK1u5 0QF5SX1LXLfCdHZL3BkXKF+hIbsaP3jdHV9Jnj80s=
  • Ironport-sdr: cBT8DAxivfhmmi5jKKgucijtF8ojzt2gE0IslLMNPgJTnG2eQ3Lqm2Ak4cT7pVtkLkWTt6BJO3 YW7ZxxgbR8/1fCzCdEKVneKSu4mO2wdlMFEMVEhBGDfrL4jqs6PBRCbXBjH7pwHAcNm8imug1x 4Y6NqoBiwdSOV0Xy98NvMmQ66Z9zdMeEK9OiLOHH6HbjgbgYPm60LmdjcgHHv2amDoi1vbZiNs eTZLRWIGXJL3mEcK/6hIGL1yMKJLWD9NBDYAfg/gHoJeMQ63MTlzvB7dOcWnT0KlNVpHO46rko N5J67aA0cxqOirxFM92CsMax
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Current ioctl definition was wrong in both FreeBSD and Xen sources, as
the MMAP_RESOURCE ioctl needs to copy back the size of the resource
when passed a zero address and size. FreeBSD encodes in the definition
of the ioctl number whether parameters should be copied in (W) and/or
copied out (R). The current definition for MMAP_RESOURCE is lacking
the copy out part (R), and thus the call to query the size of a
resource would always return 0.

This change will break the current ioctl interface, the tools can
however fall back to using the foreign memory interface in order to
map resources from guests.

This was a shortcoming from when the hypercall and ioctl gained the
ability to query the size of the resources, as originally the
MMAP_RESOURCE ioctl didn't need to copy out any data.

Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
Cc: Ian Jackson <iwj@xxxxxxxxxxxxxx>

The change only affects FreeBSD, and it's only a change in a
definition of an ioctl, so it's unlikely to break existing code logic.
Without this change Xen tools won't be able to use the MMAP_RESOURCE
ioctl.
---
 tools/include/xen-sys/FreeBSD/privcmd.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/include/xen-sys/FreeBSD/privcmd.h 
b/tools/include/xen-sys/FreeBSD/privcmd.h
index 649ad443c7..70cee3db68 100644
--- a/tools/include/xen-sys/FreeBSD/privcmd.h
+++ b/tools/include/xen-sys/FreeBSD/privcmd.h
@@ -84,7 +84,7 @@ typedef struct ioctl_privcmd_dmop privcmd_dm_op_t;
 #define IOCTL_PRIVCMD_MMAPBATCH                                        \
        _IOWR('E', 1, struct ioctl_privcmd_mmapbatch)
 #define IOCTL_PRIVCMD_MMAP_RESOURCE                            \
-       _IOW('E', 2, struct ioctl_privcmd_mmapresource)
+       _IOWR('E', 2, struct ioctl_privcmd_mmapresource)
 #define IOCTL_PRIVCMD_DM_OP                                    \
        _IOW('E', 3, struct ioctl_privcmd_dmop)
 #define IOCTL_PRIVCMD_RESTRICT                                 \
-- 
2.33.0




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.