Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753048AbcD0VoP (ORCPT ); Wed, 27 Apr 2016 17:44:15 -0400 Received: from mail-wm0-f48.google.com ([74.125.82.48]:35702 "EHLO mail-wm0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751103AbcD0VoM (ORCPT ); Wed, 27 Apr 2016 17:44:12 -0400 MIME-Version: 1.0 In-Reply-To: <20160427150913.m2vvhtriq27u65tk@ws.net.home> References: <1461632806-5946-1-git-send-email-jwerner@chromium.org> <20160426102014.o7k77uzi32h73y3b@ws.net.home> <20160426183353.GB16601@linux-uzut.site> <94D0CD8314A33A4D9D801C0FE68B402963904365@G4W3296.americas.hpqcorp.net> <20160426211547.GC16601@linux-uzut.site> <20160427150913.m2vvhtriq27u65tk@ws.net.home> Date: Wed, 27 Apr 2016 14:44:11 -0700 X-Google-Sender-Auth: CwniwG5GPjuG67JH30HgemNfvWs Message-ID: Subject: Re: [PATCH] block: partitions: efi: Always check for alternative GPT at end of drive From: Julius Werner To: Karel Zak Cc: Gwendal Grignou , Davidlohr Bueso , "Elliott, Robert (Persistent Memory)" , Julius Werner , "linux-efi@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-block@vger.kernel.org" , Doug Anderson Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2194 Lines: 40 On Wed, Apr 27, 2016 at 8:09 AM, Karel Zak wrote: > On Tue, Apr 26, 2016 at 02:51:01PM -0700, Gwendal Grignou wrote: >> Julius and I were looking at the code when we spotted the issue. >> >> As Julius said, "just pass a boot param", is not easy on certain >> machines, like phone. It is not user friendly either. >> The system won't boot at all, a typical user will have to do a full >> reinstall to fix the error. > > And how typical user will fix the problem with corrupted primary > header after successful boot? I mean, use alternative header (without > force_gpt) is a good idea if we know that user will not ignore the > problem. The current solution is to force user to do anything. > > It would be nice to have support for this issue in userspace > and switch for example to single user mode, or so... > > I'm also have doubts that printk() is the best way how to report > this issue to userspace if we want to trigger any action :-) Holding the whole system hostage and forcing manual action is *not* user-friendly behavior. Linux is no longer just something for hobbyist hackers to install on their converted Windows machines at home... it is a mature, modern operating system kernel used on a wide range of devices (server farms, phones, embedded systems, etc.) and it should behave like one. Not all of these platforms necessarily make it easy for the user to drop into grub and add some command line parameters, and it's the kernel's job to provide a suitable environment for all of them so that policy decisions can be left to userspace. So yes, userspace should resolve this problem, but in order to do that you need to allow userspace to boot first! dmesg is one suitable way to communicate the problem, and there are others which I wouldn't be opposed to either, but no matter which channel we choose the kernel still has to continue booting to allow the rest of the OS to deal with it. Whether to ignore, silently repair or fail to boot from a corrupted primary GPT is a policy decision and it should be made in user space... if you need to retain the current behavior, it's easy to add an init script that greps for GPT warnings and hangs to your distro.