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 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 60CF2C19F2A for ; Thu, 4 Aug 2022 12:39:40 +0000 (UTC) Received: from localhost ([::1]:43046 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oJa8Z-0005j0-AQ for qemu-devel@archiver.kernel.org; Thu, 04 Aug 2022 08:39:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:32922) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oJZXl-0001nR-Ek for qemu-devel@nongnu.org; Thu, 04 Aug 2022 08:01:42 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:37298) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oJZXj-0005X0-0E for qemu-devel@nongnu.org; Thu, 04 Aug 2022 08:01:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1659614492; h=from:from:reply-to: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=HTtDQ/tO2He5QbyMZp5w6XqVl4quXffu7k1AejTfcOc=; b=PWHNLCqCyQEcRoHjMt+21BX2gkt2gH2XG6fo32kCedEyL+hlgYRknyNk6S8+GX1LoryOKH K3L/Wmqi6b7ZjzbrlKSWmgaZdMbWdTH+kqvFdAUJm6JHJgBS9oCRSxqASOpYbcBAsgimth WCIlsImt7AxXZz+GvAY72Su3Z1ESMFs= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-638-5yHKCcMZM6Kwju4s9XrRGg-1; Thu, 04 Aug 2022 08:01:27 -0400 X-MC-Unique: 5yHKCcMZM6Kwju4s9XrRGg-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C855182406A; Thu, 4 Aug 2022 12:01:26 +0000 (UTC) Received: from redhat.com (unknown [10.33.36.223]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0510A18EB7; Thu, 4 Aug 2022 12:01:24 +0000 (UTC) Date: Thu, 4 Aug 2022 13:01:22 +0100 From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= To: Paolo Bonzini Cc: qemu-devel@nongnu.org, "Jason A. Donenfeld" , Marcel Apfelbaum , Richard Henderson , Eduardo Habkost , Peter Maydell , Philippe =?utf-8?Q?Mathieu-Daud=C3=83=C2=A9?= , Laurent Vivier , "Michael S . Tsirkin" Subject: Re: [PULL 9/9] hw/i386: pass RNG seed via setup_data entry Message-ID: References: <20220721163621.761513-1-pbonzini@redhat.com> <20220721163621.761513-10-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20220721163621.761513-10-pbonzini@redhat.com> User-Agent: Mutt/2.2.6 (2022-06-05) X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 Received-SPF: pass client-ip=170.10.133.124; envelope-from=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" On Thu, Jul 21, 2022 at 06:36:21PM +0200, Paolo Bonzini wrote: > From: "Jason A. Donenfeld" > > Tiny machines optimized for fast boot time generally don't use EFI, > which means a random seed has to be supplied some other way. For this > purpose, Linux (≥5.20) supports passing a seed in the setup_data table > with SETUP_RNG_SEED, specially intended for hypervisors, kexec, and > specialized bootloaders. The linked commit shows the upstream kernel > implementation. > > At Paolo's request, we don't pass these to versioned machine types ≤7.0. This change has also broken direct kernel measured boot with AMD SEV confidential virtualization. The vmlinuz that we pass in with -kernel is measured by the BIOS and since that gets munged with a random seed, the measurement no longer matches the expected measurements the person attesting boot will have pre-calculated. The kernel binary passed to the firmware must be 100% unchanged from what the user provided in order for boot measurements to succeed. So at the very least this codes needs to be conditionalized to not run when AMD SEV is active. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|