Received: by 2002:a89:48b:0:b0:1f5:f2ab:c469 with SMTP id a11csp537946lqd; Wed, 24 Apr 2024 09:27:09 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWYidnOLmPAYJWd9yL87DF9zjGkU839xh7A+MgxBorb57WBodF8yhbO5/q8D3v5Y/6Ho8sUT69uqzYEQeQ3dxs182YufTSVv4Qz6ZhnrQ== X-Google-Smtp-Source: AGHT+IFpwiyLXV7ULOFK72INppvsdzJXyF1Tq+TodagAzPCBJjkaJwt5Pv3SuqUeInX3nkY9Iz9E X-Received: by 2002:a17:90a:5902:b0:2ac:23ec:6a54 with SMTP id k2-20020a17090a590200b002ac23ec6a54mr3351206pji.38.1713976029491; Wed, 24 Apr 2024 09:27:09 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713976029; cv=pass; d=google.com; s=arc-20160816; b=oqASwXtxN579AYrjMsaIf/IDUNGEDPf9JjaAG7ybAtceyeFD0lwcbautZj68nXbWML 0FgmcIeINojL+k9ln5d3z55aZJEQ+9vSlqM0MS8TvVVBhPeL2qNaWvbKY0xdZAy1UeeM TaKF6/D8GbhlsWMbuDpftkctMmYy3q/ez1grBzjxbhguwunHqnJnu3tdune60mUi/5/v /Y3ToRGAnDio5V7CnpkR9uSNC+U7FG5gV5ObXS03TdXe3kIsNeRlsCUSwwJrX6JL+gxl 5ZmaIE6E+8EiAhDMhJLb33NrRwnlMI9icVnpp04V0+AkSFKSD7C+rI+7VbEiMWiqNkd2 Z8CQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:from:subject:message-id:references:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:in-reply-to:date :dkim-signature; bh=jjdGmdFWunSakeQxhcxmHXUAnMO8coypY8ElDRJZN3Y=; fh=FsvQoRfUYCb7YWgVN8g3QkTLNjgBrJZxscq7eE3+/Gs=; b=QfW2/ig+oE2p+4O0VFQpkCvrsvKtVi2qinB+Iw0z/OGrwQ5G6U1jiHpm5XxfU/ouoJ Smggv008e63gRkGbayc1yWlCnMyYQ1CVsWQemltHU/6+bzsyCcUG51+1gz480MhUbhmT RPP25w6Gz21N2/sNOekX3IjxyZyq8pZxwQKYTLiClro82AVeytXFgZ+VMFUA4KuD8a2P 6V12llL6T5o+oqmrEWpYLVYJCobI0tGhIDwtd12tvN/L6RMCoxNy27YlZWUEuON0X/6V n8ivEoABq8AOl2Tz9ZirWsJxMUYrvHjF+CuNkF41LkSCnrgwxo8vVmBQsOO3fstiZ3dx JnNw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=EXc+S6GX; arc=pass (i=1 spf=pass spfdomain=flex--ardb.bounces.google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-157258-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-157258-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id o7-20020a17090a744700b002a52b1d6d11si13462967pjk.147.2024.04.24.09.27.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Apr 2024 09:27:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-157258-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=EXc+S6GX; arc=pass (i=1 spf=pass spfdomain=flex--ardb.bounces.google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-157258-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-157258-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id A1DA3B2E43A for ; Wed, 24 Apr 2024 15:54:53 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 91A5B16C861; Wed, 24 Apr 2024 15:53:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="EXc+S6GX" Received: from mail-wr1-f74.google.com (mail-wr1-f74.google.com [209.85.221.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3A6BA16C437 for ; Wed, 24 Apr 2024 15:53:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.74 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713974027; cv=none; b=MgmYhpHzPw5G9dWGwsIBP0DuH4g5wYYA8a782lZ0Ami4vTQnRJVDKknZT7ZziWp5n07n9QJkMoV0unov8amLwbpgaoIpoWF/ZkFm293PBZXBnW2Brrayc9XW3q35V7BE0vbClJpi8SOELW7HEUvBvSLL5VgI/HnBYpzPXwWdUJI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713974027; c=relaxed/simple; bh=H2ocIIiAupI/NDpLV8KCMiyTbQqB8T6hYpeW8AU/k/8=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=EYC0Yf5A2fhD2+3eIL53wEBwGrN91MICYx3NYL4DGz2ALjNJ/U1a20/lrcbgF3kgYwwQ+JX1BaELCj3Gl1h2faL6aT29vVtI7Cg4mBdvRe8qFtG1CVcg2vB+GLpgzMoVsFegHpk7Kvjh0DE61Kmb+2SXzXasxr/KJ5IQQdSLxFM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--ardb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=EXc+S6GX; arc=none smtp.client-ip=209.85.221.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--ardb.bounces.google.com Received: by mail-wr1-f74.google.com with SMTP id ffacd0b85a97d-346b8ef7e10so4478412f8f.3 for ; Wed, 24 Apr 2024 08:53:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1713974024; x=1714578824; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=jjdGmdFWunSakeQxhcxmHXUAnMO8coypY8ElDRJZN3Y=; b=EXc+S6GXXm4arhpyX9iJJgrLQKnQRzBYoOj1MZyfYCa8/ORhF6/7ZdeOSqScboTQK7 y52Oes0/w5Xn5zTPThaJSL6HQBAyzZ98AvjX2CLyuEvMnZ/9rr0ClJX8c1CJIhK/5v9O zg+kDZ/94DjOM7Rdd/njit16arwt+5zwwpJoH73yeN7MBBn5E0bt5U/xLgHJGu4AW9eH F6SkkRFHYlmYQTJz4PEAQMIF0M39Bu+3mq8pbSwxFdvzInSbAIggQnqs/aoVz4NG0bTO HqA0TXAFrFiCfAGg5N5RzPVVE5DhfQjMY2RiroYecX+Abngfu6i1/2WKQgT9MW/PXu5s 0UdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713974024; x=1714578824; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=jjdGmdFWunSakeQxhcxmHXUAnMO8coypY8ElDRJZN3Y=; b=An4P5tPqkzLjlcbg9xL6A8UbclvFPvkH2nO+Z4eGwhSkf89jajj1p9MH/CoiQ7eKhE hFohIG9pNwXKT6ZSfe6ueZi+IYCdGXuZWkvJSb2GI0ufY2LxiXPxHj/0uZM0iE1+sItb tZFmERy1ZsbQV8bvqlUqYHJn3Bn8ohh49NLIIHXOofoVcRKFDxg2mxIheCgLmOIyL3bc 0TkEW/LH6l2EFTFWo5Pf+V5awkIUtdVvrRmIpb+cfpfC+IKqcSX9kcEI3d/liLLCiRJq OSXMjYEG+L11FJsiAlKHb7nDc9gAEGh0l9IdVTN+NNq34ojVX7Yoa/is2XDo6y2WqarU lk2A== X-Gm-Message-State: AOJu0YxIM9sNYyiSv8xIH0+aOaMmWPteEeCp3M+vB7+oJi0eLU2dccK7 H6/L8XYGFDu8EU5hFuDo5/9iqLoBKFhw1Sf/iyvliuKbc7uApXY5C3G/jnPnZTGJPfc6j39rY8B rf659158UFJzNoNh1c+hVB7zSDQdXYB9wtmZHh3j3p78JjMIdb6aOMNxDH9h9VaLXwYwMkQMY01 Adtu9ZdrjkytIF7LI8nEhh51y+Lc8/+w== X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:28:9cb1:c0a8:118a]) (user=ardb job=sendgmr) by 2002:a5d:50ce:0:b0:343:c41b:3e37 with SMTP id f14-20020a5d50ce000000b00343c41b3e37mr9280wrt.10.1713974024525; Wed, 24 Apr 2024 08:53:44 -0700 (PDT) Date: Wed, 24 Apr 2024 17:53:15 +0200 In-Reply-To: <20240424155309.1719454-11-ardb+git@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20240424155309.1719454-11-ardb+git@google.com> X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909 X-Developer-Signature: v=1; a=openpgp-sha256; l=1495; i=ardb@kernel.org; h=from:subject; bh=2RmgWaHe6lR2Ojq2O13NtFX0a3tx2m9Gxd1ampluXaw=; b=owGbwMvMwCFmkMcZplerG8N4Wi2JIU1T63V+yN3dj+1yefbxClw7U8dWc36DtjWPV4Vvk3hy4 rIoFtWOUhYGMQ4GWTFFFoHZf9/tPD1RqtZ5lizMHFYmkCEMXJwCMJF/Hxj+J1tPOL1Z+ZCU+OHW BUX5N72YqiKDmRXT9jrfLt2yzGyvPiPDKSv2rLCc1k8cUhqBbEFmB59k3/r8QWv9dnsRi6jqRUW 8AA== X-Mailer: git-send-email 2.44.0.769.g3c40516874-goog Message-ID: <20240424155309.1719454-16-ardb+git@google.com> Subject: [RFC PATCH 5/9] x86/purgatory: Simplify GDT and drop data segment From: Ard Biesheuvel To: linux-kernel@vger.kernel.org Cc: x86@kernel.org, Ard Biesheuvel , Arnd Bergmann , Eric Biederman , kexec@lists.infradead.org, Nathan Chancellor , Nick Desaulniers , Kees Cook , Bill Wendling , Justin Stitt , Masahiro Yamada Content-Type: text/plain; charset="UTF-8" From: Ard Biesheuvel Data segment selectors are ignored in long mode so there is no point in programming them. So clear them instead. This only leaves the code segment entry in the GDT, which can be moved up a slot now that the second slot is no longer used as the GDT descriptor. Signed-off-by: Ard Biesheuvel --- arch/x86/purgatory/entry64.S | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/arch/x86/purgatory/entry64.S b/arch/x86/purgatory/entry64.S index 888661d9db9c..3d09781d4f9a 100644 --- a/arch/x86/purgatory/entry64.S +++ b/arch/x86/purgatory/entry64.S @@ -23,14 +23,14 @@ SYM_CODE_START(entry64) addq $10, %rsp /* load the data segments */ - movl $0x18, %eax /* data segment */ + xorl %eax, %eax /* data segment */ movl %eax, %ds movl %eax, %es movl %eax, %ss movl %eax, %fs movl %eax, %gs - pushq $0x10 /* CS */ + pushq $0x8 /* CS */ leaq new_cs_exit(%rip), %rax pushq %rax lretq @@ -84,16 +84,9 @@ SYM_DATA_END(entry64_regs) SYM_DATA_START_LOCAL(gdt) /* * 0x00 unusable segment - * 0x08 unused - * so use them as gdt ptr */ - .word 0 .quad 0 - .word 0, 0, 0 - /* 0x10 4GB flat code segment */ + /* 0x8 4GB flat code segment */ .word 0xFFFF, 0x0000, 0x9A00, 0x00AF - - /* 0x18 4GB flat data segment */ - .word 0xFFFF, 0x0000, 0x9200, 0x00CF SYM_DATA_END_LABEL(gdt, SYM_L_LOCAL, gdt_end) -- 2.44.0.769.g3c40516874-goog