Message ID | 46fdafdd-d6a9-778b-d634-fad8d2f6925a@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show
Return-Path: <xen-devel-bounces@lists.xenproject.org> X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5479DC433F5 for <xen-devel@archiver.kernel.org>; Fri, 3 Dec 2021 11:22:57 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.237393.411738 (Exim 4.92) (envelope-from <xen-devel-bounces@lists.xenproject.org>) id 1mt6eI-0007ST-Uh; Fri, 03 Dec 2021 11:22:42 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 237393.411738; Fri, 03 Dec 2021 11:22:42 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from <xen-devel-bounces@lists.xenproject.org>) id 1mt6eI-0007SM-QO; Fri, 03 Dec 2021 11:22:42 +0000 Received: by outflank-mailman (input) for mailman id 237393; Fri, 03 Dec 2021 11:22:42 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from <SRS0=EuM9=QU=suse.com=jbeulich@srs-se1.protection.inumbo.net>) id 1mt6eI-0004uM-2A for xen-devel@lists.xenproject.org; Fri, 03 Dec 2021 11:22:42 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 54123a22-542b-11ec-b1df-f38ee3fbfdf7; Fri, 03 Dec 2021 12:22:41 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2111.outbound.protection.outlook.com [104.47.17.111]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-19-ie8y1T6FPRyK7F5eBeHQEA-1; Fri, 03 Dec 2021 12:22:40 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB4445.eurprd04.prod.outlook.com (2603:10a6:803:6e::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.28; Fri, 3 Dec 2021 11:22:38 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5951:a489:1cf0:19fe%5]) with mapi id 15.20.4734.028; Fri, 3 Dec 2021 11:22:38 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM5PR0601CA0040.eurprd06.prod.outlook.com (2603:10a6:203:68::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.17 via Frontend Transport; Fri, 3 Dec 2021 11:22:38 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion <xen-devel.lists.xenproject.org> List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>, <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe> List-Post: <mailto:xen-devel@lists.xenproject.org> List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help> List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe> Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org> X-Inumbo-ID: 54123a22-542b-11ec-b1df-f38ee3fbfdf7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1638530561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=x2S2aIcZK036FRm3DGzFftaBrE1z/LAoM88V/xmz2FM=; b=RCKXidmQLxXaJpR8Mlb4/uaa0ofauD81orBlL1XRYkkZLYAlTxTSGMg6NCLw3v4PrvLV/w fmLuPbZuUnXQ2fxilY1ocR0o/NPtaEaOLHwIPZ7BRxYzgjlZMcXKRDzhyn/g80mzq4BHR+ o/n+9PyasjDXWAtjkpFzzV2mIi/7tfU= X-MC-Unique: ie8y1T6FPRyK7F5eBeHQEA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RPAp4KGTOd3ZP8ae8K5FEFuhs4c+qOLiFRnj6UpE0ko2IiXI3fwCOOpWv721KpGw2QN9iaRI5aEYF6nDjLfzEj6ETJq7UqAzF7ymKQmr27aOATz951vVJ0TFGIfWntOrvnry2DNfQjd9LuIrKvsJoVcXlT8ja9YANAdQhN1WD5lOWsQPTHoDjGPfE6tDyx7KN2KTnOWlSa8DrHA3MZZIipd1KQDFcQMF/3xWweIE6H44wWp8Buj0nGkcDFWOuV0bFVOJHNENeLWwrscWeZJtdgmTTdAXsyh/lze6F2AuFVKucvhdZpP45qDYxF1l3PgbKPkQm7q1Q+o5KoXZwKW2uA== 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=x2S2aIcZK036FRm3DGzFftaBrE1z/LAoM88V/xmz2FM=; b=XzRPudmb5wm+F4jIINIOPj4ylUibqYHhJsV2iN2o+q6XBumCHOvFF6BxUx7pgyELeGcAVUUEsLtSENGaDLkUcU9OQ/YhGoJhCJijqrzEwMpGaWsaALBZrjmDwQ/xn5bBFmLhTQQ2DLRF5mxF1vYY6I7ff9wOsBAFU31HMy4OAPnApvM/hYwtTzKj7+8mkRElWCnvfcjbrqEArMHWdF5mXqL+0d4EjAYCmG4Zs/8Rj6SDbzGBinbbTR0pR+sBLaKg+cLdkUKMj9T7k4NdLKQakFrC/vYTtVneMBBXXSJMtmrB7h098gd2iv+Ve33aMJj+w6prvnvZev8hw2Grf+UYog== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <46fdafdd-d6a9-778b-d634-fad8d2f6925a@suse.com> Date: Fri, 3 Dec 2021 12:22:37 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.2 Subject: [PATCH 2/3] x86/HVM: fail virt-to-linear conversion for insn fetches from non-code segments Content-Language: en-US From: Jan Beulich <jbeulich@suse.com> To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org> Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Paul Durrant <paul@xen.org> References: <10c7b3c0-c64f-3d12-06d3-8c408f7c9f4c@suse.com> In-Reply-To: <10c7b3c0-c64f-3d12-06d3-8c408f7c9f4c@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: AM5PR0601CA0040.eurprd06.prod.outlook.com (2603:10a6:203:68::26) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1eeba3b1-3dd4-4290-dfc6-08d9b64f36ab X-MS-TrafficTypeDiagnostic: VI1PR04MB4445: X-Microsoft-Antispam-PRVS: <VI1PR04MB4445AAA539922031B56B95C4B36A9@VI1PR04MB4445.eurprd04.prod.outlook.com> X-MS-Oob-TLC-OOBClassifiers: OLM:3826; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Nc8rk46xWop+QM98H9mxOX+W3dnrS78Hn4IFA6yqE0oRUNSU92PJFgUHoymGbAcZDwJDjFBnEquAiskjI5R/kYa0h/Wv4ZIsN0pLo1+gVTaB0Huc1JAcjGHCKK0yodG/SdLpe+dPjn4iGbvQViYHn0sv5yMEaRFfYQ0hxGXWb/csaCpo4VmZ4SZl4QeZryrvDlxsxYFiAEw7UBz68Vve3OiZVeWnysHdLsfHFQAYo3BaBUpYYP7mEPz7jNO0ORUx9cUfqRWkcpx7IYocHwSUhOBELeRLQf3m/SXIBCQBlS0iBntZ7ad1yuTdUa9YCUm7IFNK9ZjMjxDQKtMdaBvugLul6yCbw6IO+ZibIxvYXGXHDqPoVNQxmg+gMI0dMOT63+iJwLLb+F9rIpYgnxfDIRFolVL+aZ1oN5d7WIP/BSvT4x+4tVpFLZcjYr5VYtXn7e8i5/aNPGRZHrB33JYUaGCXFSTeiLPYK3yyc9PPQqyPJ6dtv1YB4BW0soeRs0UP03QdfBMc+uKxFql9vM6NH7jFDOi5DInvQRBMR7WZ2UQJiMpADv0OAsGquIcbnGHKcgxxWzXk9Y2j1ebIHwLGgHM96YIe0G3tUHVV1LHpoCJOwBMeW9T98qn0RaaWlCio2szqW6fgXPQrINO0eUcw+4R67aPgTCQuhV6dzzQsbnqIG101C4v1Xd1UOyK2M4UCZ4XBtMiYUPiVdezXiwCJGF1j0pX3ObhIaDSV/0Ai3c4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(38100700002)(36756003)(2616005)(31696002)(31686004)(86362001)(316002)(2906002)(66946007)(26005)(8676002)(6916009)(66476007)(66556008)(83380400001)(956004)(5660300002)(6486002)(16576012)(186003)(8936002)(54906003)(4744005)(4326008)(508600001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?AqvTClijG+mie3H6XQl/JraJ6K8l?= =?utf-8?q?sILiEXcAYJuac+ftn279GPW0ceTsW6qtb3T99+U0Vjzqiu0Quupvx1/iAgMWYWJlt?= =?utf-8?q?C8Q8lnTHWxNmrdFx6+8MxJltchDTKpL7umZ0l3jWY+t2zbmEFW7mg6MhlqYOw4laY?= =?utf-8?q?rIpV3tVtofyufAU8yy0EnD8iZZyqmwa/4xmGZEMgdll+uSzJk8Y3VThpTXIRxvm56?= =?utf-8?q?N1F0Y7mVG20uFWZIfDY3pYoatkOuzvb/DS8EVV8GuUYdIwTzG79xzCyqcPbJ5t+SQ?= =?utf-8?q?C6qRB98lW8ewJha6W28g8JErWJ6ofw1zJ1mJujLt9nwjVFKFDGKTQ6+buqGd4IlVK?= =?utf-8?q?BGzLK2x47PYRFvMq2aJ4X/NcGLbaeUmC7VeBUNs6NrQBJeuuOwCWwoSmM48GXdNV0?= =?utf-8?q?KHJBD8RcLoHtE0MlaFsUp4XlwzmV3JrfCwALVAtt4APK4qK/IIgmyWkKqI3rZy3m6?= =?utf-8?q?mzsFduFfRNZyTDAuxTsZ0/rA3aJtWykrSu3P3gevPlOqdLaorAmREzg77HptBhwIN?= =?utf-8?q?+umVCh3OZBCnCVVeZEyFK5BpVA1RGcfzKR8vZ50Yr3QifHFUcsm+Tc5Am04xcLKMW?= =?utf-8?q?NwTC3c2+uB3c8bQt92QGez3KMiLt0Xvu5hyiqNVATqCGnvFiJGH3SHZ6JAqwXeEIZ?= =?utf-8?q?dbjR+osKi4vA5nglQZqERZM+9W+GJ9KICylMpBW55enz+Ajsb+swACTX93JrltfmT?= =?utf-8?q?BqHWUNSR72nstUxHT6E0ekG/tF2o6YoTaoH1R0sqXAM+Jud7hsyQ1/3FqVu0vYltk?= =?utf-8?q?jG3FWetfkQaGl4lVenrBSU5YftTSbWtPMZz72N97NSg/r/nXDoR2b25C8mu8P2z+x?= =?utf-8?q?7G4wcV0DrfBRoqhHA73MhjKsgmnoH+2smno2TMDFhN0WylxVoxKK+EUTpsI3JGtzx?= =?utf-8?q?l/kjHNj8AMH3ePyLRGDT7ZtQkC1ITKNvOHn5Rcu/r9pOIOaHJFeqN36LHfIBs2mE1?= =?utf-8?q?7poUnFF4sdsdxKgeHiiDtK1Sv5TXPQO723eKthIwB6aY5tk7E5qEBaOnuWzSRM40j?= =?utf-8?q?9dkIGyhhXF5vtIki8bAS0/loIMMBQOd8U+28/fhzO07kOZULSdovZZL603GNdn8B9?= =?utf-8?q?xGcPiwwFuQcnMPc+3chet+zVF88aFr4/SIMgwynvGiHyUkIMvsG9WOXSMai5MuaFW?= =?utf-8?q?3D34pVPuKPzFXJfY9JToUIMnikV4OupY0qjwCmgFYs155T/V/82GLYENmuuiIgdQG?= =?utf-8?q?GDeW6TceVKbbZjkqjPplYZTjnoufj0HqLjiONNz7p0fDtj9dx3yMmySiGBvqaZPzG?= =?utf-8?q?MsZzsg2oDOR7frBoRbKItQGwmo6gSgJP4Ba2tTTsYUZtx4HNhy+ScW8sLZ2LKZy2a?= =?utf-8?q?xAkSXQN0s+m2uyyiHlU+RkLSz1ueSLKbilHwJP1ynATyY6CbjJwsuiYHQ+fr73xoz?= =?utf-8?q?MgW8ibKR8bnoNAOF4z86x9QjwC4t7f7EJVqs0Cil0QEZe7Yz9ktxkaqy7tI6tPdRU?= =?utf-8?q?+oyrIMYQaMYROVDgkABMxul1nySlHdyUPyh25NVDMYPrdmc2ZjO8ZO2b2TGtP7RNj?= =?utf-8?q?n/BuzkR4qORTbJe6Pvoesd0cT2sqVJ1BBxekx4pq7D+SqkbnkLQSS7E=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1eeba3b1-3dd4-4290-dfc6-08d9b64f36ab X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2021 11:22:38.6810 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SnKVYnFu0bwLOCRe7POMucUX42qQhe67DGRgqEP5COKhInqGihRpo/x61f2jqSdtR/MDN9KY77l77wf75OIhpQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4445 |
Series |
x86: insn-fetch related emulation adjustments
|
expand
|
On 03/12/2021 11:22, Jan Beulich wrote: > Just like (in protected mode) reads may not go to exec-only segments and > writes may not go to non-writable ones, insn fetches may not access data > segments. > > Fixes: 623e83716791 ("hvm: Support hardware task switching") > Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
--- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -2551,6 +2551,9 @@ bool hvm_vcpu_virtual_to_linear( */ ASSERT(seg < x86_seg_none); + /* However, check that insn fetches only ever specify CS. */ + ASSERT(access_type != hvm_access_insn_fetch || seg == x86_seg_cs); + if ( !(v->arch.hvm.guest_cr[0] & X86_CR0_PE) ) { /* @@ -2615,10 +2618,17 @@ bool hvm_vcpu_virtual_to_linear( if ( (reg->type & 0xa) == 0x8 ) goto out; /* execute-only code segment */ break; + case hvm_access_write: if ( (reg->type & 0xa) != 0x2 ) goto out; /* not a writable data segment */ break; + + case hvm_access_insn_fetch: + if ( !(reg->type & 0x8) ) + goto out; /* not a code segment */ + break; + default: break; }
Just like (in protected mode) reads may not go to exec-only segments and writes may not go to non-writable ones, insn fetches may not access data segments. Fixes: 623e83716791 ("hvm: Support hardware task switching") Signed-off-by: Jan Beulich <jbeulich@suse.com>