Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1770243imu; Sat, 10 Nov 2018 01:04:01 -0800 (PST) X-Google-Smtp-Source: AJdET5dQMpz7B6cgtmYo3PBBL9LncX6Lpoogs9F055qOcMAhTBZDRt2bAEkDZHXzW4FPlmjj4ulz X-Received: by 2002:a17:902:187:: with SMTP id b7-v6mr12210061plb.150.1541840641934; Sat, 10 Nov 2018 01:04:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541840641; cv=none; d=google.com; s=arc-20160816; b=tkaYta/Ob8wVgpCWcWeaEJzlHOu0NJkDhW8pnjP/sSs9SwxmW26sdEjW4KpytwH/NC Dj0cUdZEa86YaTOy2rOtExa+YWTRQneME3jAAlwP5+LFgKr1jPAMAxQqxZ2zF328GYsN cYI+xsjgdAkRtDJFcrcp3DBFR9q7h+BXm8GH4vFS+FH9WX7D2SkN+uOswgcXCZWe3jIE EBuEaDk2m3U23SPneNRs0Rnfk/lUIfaG9e9+d1FpunS6vKryI0FO3ZyU0yvhXeGXDz3k mOrD4p1DlZT9xRsCiIqlhBcQilMxFPYFrwz0RAhr5dQ3zC5baTmwQ83LMBa97p0kNcGh ylbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:autocrypt:openpgp:from:references:cc:to:subject; bh=hPs8qJ2eXEv8k3NV96G6hCt3SwXvNTxmzYEULIrWDdQ=; b=fYBjkHzO9azwKmrLIEe4nuONwUi1YvYmoRqfBexwLMw+93RAa2jbQQ9lBbr9xKa75t D9fE6Ylu95bGWS7cDuMedDctQgFYmBT5uljqx3X4R8he3Qfo6EGO9qLhY6wc47a0cWZf bm1s9zwnk150/4NB0NiuUlMOd4Rla43aNgj4c3dANSUoaixVt0vLMb3l6NVOmkqsDfar OpKq0S5TZNk/xpzknSgW/eCv1Ip6iaj17hbYjSut3UvxcTvy1Kp7n4a8ZGeUJNhYQN2r H5pXLHipP5Xi8+SFZc+5GwJezyxKIHL3MvAU2SZzRANtmdmbMx4clDZ93w3oAd+81Ssm Lt7Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b59-v6si12353981plb.206.2018.11.10.01.03.45; Sat, 10 Nov 2018 01:04:01 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728888AbeKJSrk (ORCPT + 99 others); Sat, 10 Nov 2018 13:47:40 -0500 Received: from mx2.suse.de ([195.135.220.15]:47004 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728766AbeKJSrj (ORCPT ); Sat, 10 Nov 2018 13:47:39 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 07C53AD9C; Sat, 10 Nov 2018 09:03:22 +0000 (UTC) Subject: Re: PLEASE REVERT URGENTLY: Re: [PATCH v5 2/3] x86/boot: add acpi rsdp address to setup_header To: "H. Peter Anvin" , linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org, linux-doc@vger.kernel.org Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, corbet@lwn.net, boris.ostrovsky@oracle.com References: <20181010061456.22238-1-jgross@suse.com> <20181010061456.22238-3-jgross@suse.com> <2934552c-d150-0afb-6fa9-9398cb94d86a@zytor.com> <5a2f5cb8-7332-f490-eabf-cfcbdcd1abc4@suse.com> <59ca1053-9176-f1db-6e6c-96b47aaaa09d@zytor.com> From: Juergen Gross Openpgp: preference=signencrypt Autocrypt: addr=jgross@suse.com; prefer-encrypt=mutual; keydata= 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 Message-ID: Date: Sat, 10 Nov 2018 10:03:19 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 In-Reply-To: <59ca1053-9176-f1db-6e6c-96b47aaaa09d@zytor.com> Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/11/2018 08:16, H. Peter Anvin wrote: > On 11/9/18 11:02 PM, Juergen Gross wrote: >>> >>> Yes. We know that and it is resolved by: >>> >>> a) the length field in setup_header; >>> b) the "sentinel" field which catches legacy non-compliant bootloaders. >> >> Doesn't help for boot loaders reading struct setup_header from the >> kernel image and then writing e.g. 512 bytes back to the setup_header >> location. The sentinel is cleared and the length field just isn't >> taken into account. And this is what happened. >> > > This is insane?! How do they manage to do this... it's not like this isn't > written out in plain English to follow. I am, once again, utterly and > genuinely baffled about how many ways Grub can do things wrong. > > So we should probably add a terminal sentinel field at offset 0x281, which is > one byte past the longest possible setup_header structure; in fact, we may > just want to explicitly pad setup_header with zeroes to its final size, if > nothing else to make it explicit how little space is actually left in there. How would that help? The garabge data written could have the correct terminal sentinel value by chance. That's why I re-used an existing field in setup_header (the version) to let grub tell the kernel which part of setup_header was written by grub. That's the only way I could find to let the kernel distinguish between garbage and actual data. > It would be enormously helpful if you could find out any more details about > exactly what they are doing to break things. That's easy: The memory layout is: 0x1f1 bytes of data, including the sentinel, the setup_header, and then more data. grub did read the kernel's setup_header in the correct size into its buffer (which contains random garbage before that), intializes the first 0x1f1 including the sentinel byte, and then writes back the buffer, but using a too large length for that. Juergen