From nobody Mon Jan 23 12:37:49 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P0qPp2zlqz3bT1v; Mon, 23 Jan 2023 12:37:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P0qPp0fQgz3CyZ; Mon, 23 Jan 2023 12:37:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5/wb0vCarcwjq1ONagzs3i+Qt2Qo35N2DSx1D5157yI=; b=sh7ej7aY+lrvdjcGpKEeMy09EieGLxemowYEVZvQiKd0OBbEOMnh2jcn0UW/3gyLYCMU5c Pdww+oonZH5T/p+Tt1J6eUong8HtRTO4ZnzXPy0WXanzrYT+NhIfba57yuSAf7fv42vQjy FNm6VaOKH/sHmdSLhljde4uJuO+1vIJB50oLSF0GizT+bshkTnvpddywSzhF8P3fO4hIAg 24FeOPiWyWiXaQsU77FMYNzJmwqsZX+4+CJlIc2AyfkK7gRY6c1mahYdCuyic0ehLSu9yM yVt51FKAif8ggcL53DGcXae8xxMZCqN3WwIkXb1RSMjA6aipGKk5cSPc22ziDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674477470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5/wb0vCarcwjq1ONagzs3i+Qt2Qo35N2DSx1D5157yI=; b=V1xZ2qM/zTigvh7ZFnY8RhZXXPb3VQ8ne51NQ+tHxxUZT0/r8R/Qoez5jOYvviHYuPNGS/ RB1fIYldiWqxS0XFfdf0hphIETbZ4aBYSjXiett0ik9+CReqcZG/7UJ3mG4/HmfWyu+dgM LpEiezia4ACHZBEdDv8ffAeR0RZ3dzB9wERETobiuTJex4Ra52sAhyf6wr4b0c8QSM8sd4 npwBgECm+zc3KgXP7RCCfhbbln1h3tEaw3VMq+cIBEEqYnX0iuNWMBf20LMOkHfl3BYFen db+IG5Lv0cLjInLiv+p3rt5c3CPLjrZa11mtkMDe2rUSTYdtyuKPfWCvd0WK8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674477470; a=rsa-sha256; cv=none; b=MOWYfso464xeJSLsgpDgSin/QRi81Zq/zNfpVKhSQWaaEmN0lfap2hZvL4R0l2xdR+4A5F WXXuVIU1j3cN2s1nAOqEzfd5aFpZdKxTPpcJKRF5tgugDq/cJan+c+uQvDahzxtvWAvDsk FWrPW3bAU1XvowkCSYDW7yPV3EfTTQMqXSWjxROlOlAel/nDIQ5Y4uaOjLFqYgO6A+ThnH 5jcegvmlSseyT1kzlXeUsjJLFpjebOULx3R1nng6OaPH5skpkO60cM8yFYNhpJ5P77nzNY 4kbfRRnh7z6cg0CTkT5czLCwLCIT8DBGQtyRQPMb3nScSSUT8Uy/Bt+fIB9zbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P0qPn6p90zTCs; Mon, 23 Jan 2023 12:37:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NCbnk3085625; Mon, 23 Jan 2023 12:37:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NCbnEl085624; Mon, 23 Jan 2023 12:37:49 GMT (envelope-from git) Date: Mon, 23 Jan 2023 12:37:49 GMT Message-Id: <202301231237.30NCbnEl085624@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 9b0b515befac - stable/13 - loader.efi: make sure kernel image is executable List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9b0b515befac603b3584a10098fdc9956191f5a8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=9b0b515befac603b3584a10098fdc9956191f5a8 commit 9b0b515befac603b3584a10098fdc9956191f5a8 Author: Robert Clausecker AuthorDate: 2023-01-02 21:12:50 +0000 Commit: Andrew Turner CommitDate: 2023-01-23 12:36:28 +0000 loader.efi: make sure kernel image is executable The Windows Dev Kit 2023 (Volterra) has an UEFI implementation that maps EfiLoaderData pages as non-executable. Map the kernel as EfiLoaderCode to ensure that it can be executed. With this change and another in review, FreeBSD boots to the mountroot prompt if hw.pac.enable = 0 is set in loader.conf(5). Reviewed by: andrew, imp, tsoome Sponsored by: Berliner Linux User Group e.V. Sponsored by: spline / FU-Berlin Differential Revision: https://reviews.freebsd.org/D37931 (cherry picked from commit 95fa2e0aee5b7259cf4bcdea7396c4dff3241173) --- stand/efi/loader/copy.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/stand/efi/loader/copy.c b/stand/efi/loader/copy.c index 19521a854402..abf908b09548 100644 --- a/stand/efi/loader/copy.c +++ b/stand/efi/loader/copy.c @@ -331,7 +331,7 @@ efi_copy_init(void) staging = get_staging_max(); #endif - status = BS->AllocatePages(EFI_ALLOC_METHOD, EfiLoaderData, + status = BS->AllocatePages(EFI_ALLOC_METHOD, EfiLoaderCode, nr_pages, &staging); if (EFI_ERROR(status)) { printf("failed to allocate staging area: %lu\n", @@ -399,7 +399,7 @@ efi_check_space(vm_offset_t end) /* Try to allocate more space after the previous allocation */ addr = staging_end; - status = BS->AllocatePages(AllocateAddress, EfiLoaderData, nr_pages, + status = BS->AllocatePages(AllocateAddress, EfiLoaderCode, nr_pages, &addr); if (!EFI_ERROR(status)) { staging_end = staging_end + nr_pages * EFI_PAGE_SIZE; @@ -416,7 +416,7 @@ before_staging: addr = rounddown2(addr, M(2)); #endif nr_pages = EFI_SIZE_TO_PAGES(staging_base - addr); - status = BS->AllocatePages(AllocateAddress, EfiLoaderData, nr_pages, + status = BS->AllocatePages(AllocateAddress, EfiLoaderCode, nr_pages, &addr); if (!EFI_ERROR(status)) { /* @@ -439,7 +439,7 @@ expand: #if defined(__i386__) || defined(__amd64__) new_base = get_staging_max(); #endif - status = BS->AllocatePages(EFI_ALLOC_METHOD, EfiLoaderData, + status = BS->AllocatePages(EFI_ALLOC_METHOD, EfiLoaderCode, nr_pages, &new_base); if (!EFI_ERROR(status)) { #if EFI_STAGING_2M_ALIGN