From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5531EC2BBC7 for ; Thu, 9 Apr 2020 09:45:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 30D9E214D8 for ; Thu, 9 Apr 2020 09:45:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1586425517; bh=A5ttw0wxiG440jjRYkFi9rF7N++NdUJK1VjeW4v3ff8=; h=References:In-Reply-To:From:Date:Subject:To:Cc:List-ID:From; b=nE5MlXmGvvjrs08q3AiTMzyn+VHaEdZz4eg/001QgaPLChJ7v2rDddMF5mSi/hkjd M5YfOlDPVyqFdWKFm2+huT7X9e1FkELZaamf0r4Msih8NjeJna5fIV1tuee/xwgECh MD4U6QZeSU9NVuN/2qPwePVJJwW+TzT+ORK/FZd4= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726726AbgDIJpP (ORCPT ); Thu, 9 Apr 2020 05:45:15 -0400 Received: from mail.kernel.org ([198.145.29.99]:49424 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725970AbgDIJpP (ORCPT ); Thu, 9 Apr 2020 05:45:15 -0400 Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C855E214D8; Thu, 9 Apr 2020 09:45:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1586425514; bh=A5ttw0wxiG440jjRYkFi9rF7N++NdUJK1VjeW4v3ff8=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Z/aNYOEskI02i3kV8H6MN7za7LVank8U2o2tYU8YcETBlzAWs4C7ojNrbZ1xig3xN 6e68iiI15dDlfc6dVwiDXfb2INj+BxMJIRKNUFXPLS1eLACrogF/I7VF5cWUnJi4Pz qldO0c18PlAnvcaKs/O1mMZKvWvnsNsOvkC34s/M= Received: by mail-io1-f52.google.com with SMTP id b12so3185395ion.8; Thu, 09 Apr 2020 02:45:14 -0700 (PDT) X-Gm-Message-State: AGi0PuYLUZere7WF/zYFZlg3bIqRfoWKQj/aaPWn9nDsciS/lG7uLTrg ZrMTTQvdfcj3vQt6dPbmIPox/P6Dsk1Fd1FazZE= X-Google-Smtp-Source: APiQypKYlj97ebVeCKMbb/G38jXlGKLN2lQo+owDPErNhcVXNc3z3B626baI93YbEqM6CsakelBElxB1zRGYlduAMz4= X-Received: by 2002:a5d:8b57:: with SMTP id c23mr11156147iot.161.1586425514263; Thu, 09 Apr 2020 02:45:14 -0700 (PDT) MIME-Version: 1.0 References: <20200113172245.27925-1-ardb@kernel.org> <20200113172245.27925-6-ardb@kernel.org> <63b125a4-6c62-fcdf-de22-d3bebe2dcbf5@suse.cz> <972b66a9-92c7-9a15-1aa1-e3236abe90df@suse.cz> <20200409080626.GV5951@GaryWorkstation> <984a2b3c-a9d4-e733-6372-4abf0f99be1f@suse.cz> In-Reply-To: From: Ard Biesheuvel Date: Thu, 9 Apr 2020 11:45:03 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 05/13] efi/x86: don't map the entire kernel text RW for mixed mode To: Jiri Slaby Cc: Gary Lin , linux-efi , Ingo Molnar , Thomas Gleixner , Linux Kernel Mailing List , Anshuman Khandual , Arnd Bergmann , Dan Williams , Dave Young , Saravana Kannan Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 9 Apr 2020 at 11:09, Ard Biesheuvel wrote: > > On Thu, 9 Apr 2020 at 10:36, Jiri Slaby wrote: > > > > On 09. 04. 20, 10:19, Ard Biesheuvel wrote: > > >>>> $ rpm -qlp ~/Downloads/ovmf-202002-1.1.i586.rpm > > >>>> warning: /home/ardbie01/Downloads/ovmf-202002-1.1.i586.rpm: Header V3 > > >>>> RSA/SHA256 Signature, key ID 3dbdc284: NOKEY > > >>>> /usr/share/doc/packages/ovmf > > >>>> /usr/share/doc/packages/ovmf/README > > >>> > > >>> Hmmm, it's weird that OBS doesn't list all derived files. > > >>> Anyway, the ia32 ovmf is available in > > >>> http://download.opensuse.org/tumbleweed/repo/oss/noarch/qemu-ovmf-ia32-202002-1.1.noarch.rpm > > >> > > >> It indeed does: > > >> https://build.opensuse.org/package/binaries/openSUSE:Factory/ovmf/standard > > >> > > >> Note that the ia32 version is noarch, built on i586. > > >> > > > > > > I am not able to reproduce this issue using the linked firmware image > > > and a 5.6 x86_64_defconfig with efivarfs built in. > > > > Yeah, I had to use the distro config too. Not sure what the trigger is. > > Maybe some NUMA configs or something. > > > > > Could anyone share the full log, please, along with the kernel config > > > that was used? > > > > Both uploaded: > > http://decibel.fi.muni.cz/~xslaby/err/ > > > > With the same config, I am still not seeing the issue. > > > > Note that I switched the for-me-necessary =m configs to =y. So that it > > is enough to build bzImage, w/o modules... > > > > Could you please try running it again with CONFIG_EFI_PGT_DUMP=y enabled? > > In the mean time, I will try to install Tumbleweed from scratch. Do > you have any steps I could follow to reproduce your setup? > The faulting code decodes to 2a:* 89 03 mov %eax,(%ebx) <-- trapping instruction 2c: be 05 00 00 80 mov $0x80000005,%esi 31: a1 74 63 31 3d mov 0x3d316374,%eax 36: 83 c0 48 add $0x48,%eax 39: e8 44 d2 ff ff call 0xffffd282 3e: eb 05 jmp 0x45 which looks suspiciously like MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c-2390- } else { MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c-2391- *DataSize = VarDataSize; MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c:2392: Status = EFI_BUFFER_TOO_SMALL; MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c-2393- goto Done; MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c-2394- } in EDK2, so it seems like the GetVariable() is being called with a datasize pointer that resides in r/o memory It would be very helpful if we could get the memory dump that CONFIG_EFI_PGT_DUMP=y provides, as well as some idea of the call stack that performs get GetVariable() call at this point. The mixed mode code just passes the address it gets, but it does translate it to a physical address, which means it accesses the memory via a different mapping.