From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1fAuy6-0006fX-4H for mharc-grub-devel@gnu.org; Tue, 24 Apr 2018 06:14:38 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44980) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fAuy4-0006fQ-FB for grub-devel@gnu.org; Tue, 24 Apr 2018 06:14:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fAuy1-0007Om-0b for grub-devel@gnu.org; Tue, 24 Apr 2018 06:14:36 -0400 Received: from boksu.net-space.pl ([185.15.1.105]:37287) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_3DES_EDE_CBC_SHA1:24) (Exim 4.71) (envelope-from ) id 1fAuy0-0007Nb-Jt for grub-devel@gnu.org; Tue, 24 Apr 2018 06:14:32 -0400 Received: (from localhost user: 'dkiper' uid#4000 fake: STDIN (dkiper@boksu.net-space.pl)) by router-fw-old.local.net-space.pl id S1837442AbeDXKDV (ORCPT ); Tue, 24 Apr 2018 12:03:21 +0200 Date: Tue, 24 Apr 2018 12:03:21 +0200 From: Daniel Kiper To: mchang@suse.com Cc: dkiper@net-space.pl, grub-devel@gnu.org, phcoder@gmail.com Subject: Re: [PATCH] pass kernel command line as verbatim Message-ID: <20180424100321.GA13459@router-fw-old.local.net-space.pl> References: <20180411085854.vjhgkax6ue7ecius@mazu> <20180411091703.z3eypksfbwvdtsrj@mazu> <20180417163706.GC21283@router-fw-old.local.net-space.pl> <20180418070715.xrkhl5v3fgnaxgyk@mazu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180418070715.xrkhl5v3fgnaxgyk@mazu> User-Agent: Mutt/1.3.28i X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 185.15.1.105 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 10:14:37 -0000 On Wed, Apr 18, 2018 at 03:07:15PM +0800, Michael Chang wrote: > On Tue, Apr 17, 2018 at 06:37:06PM +0200, Daniel Kiper wrote: > > On Wed, Apr 11, 2018 at 05:17:03PM +0800, Michael Chang wrote: > > > And this bug report seems relevant .. > > > > > > https://savannah.gnu.org/bugs/?49937 > > > > > > On Wed, Apr 11, 2018 at 04:58:54PM +0800, Michael Chang wrote: > > > > The command line has been processed by grub shell, then the result is expected > > > > to be passed to kernel command line as verbatim according to the grub manual > > > > [1][2]. > > > > > > > > This patch removes extra escape character added as it helps nothing but only > > > > creates trouble as you want them to be literal. Besides the surrounding > > > > double-quotes added is kept as it used to protect space. > > > > CC-ing Vladmir. > > > > Hmmm... Have you tested this patch on all platforms supported by GRUB2? > > AFAICS, it affects boot protocols of which grub supports in commands like > linux, multiboot, xen_hypervisor and so on. Non of them will intepret escape > sequence and are pretty straightforward in composition -- In general, use space > to delimit options and quote the options by double quotes once they contain any > space. > > > I understand that current behavior is not accepted on some but I have > > a feeling that somebody make it work in that way due to some reason. > > Sadly I cannot find anything about that in git log. So, I have to think > > how to cope with that. Or... > > As a side note, we had a down stream bug report that udev generates symlink > names containing '\' character, and with the current grub command processing > it's never possible to use those symlinks as kernel command line option, as the > character is either stripped or doubled. I understand your problem but I am afraid about compatibility. I would agree if you change the behavior here and introduce a shell variable to disable that change. If nobody will complain for some time then we can drop that variable a leave new desired behavior. Does it make sense? And I have a question about space (what about tab?): why it is quoted if, AIUI, kernel command line should not be processed at this point? Should not it be created earlier properly? I mean with required quotes. Hmmm... What about modules command lines? Daniel