Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933164AbbGGW7y (ORCPT ); Tue, 7 Jul 2015 18:59:54 -0400 Received: from mail-ie0-f182.google.com ([209.85.223.182]:34945 "EHLO mail-ie0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932700AbbGGW7h (ORCPT ); Tue, 7 Jul 2015 18:59:37 -0400 MIME-Version: 1.0 In-Reply-To: <1436300428-21163-23-git-send-email-yinghai@kernel.org> References: <1436300428-21163-1-git-send-email-yinghai@kernel.org> <1436300428-21163-23-git-send-email-yinghai@kernel.org> Date: Tue, 7 Jul 2015 15:59:36 -0700 X-Google-Sender-Auth: aEibpeM06EFWwuz-5eBFNXRxLfc Message-ID: Subject: Re: [PATCH 22/42] x86, setup: Check early serial console per string instead of one char From: Kees Cook To: Yinghai Lu Cc: "H. Peter Anvin" , Baoquan He , LKML 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: 1845 Lines: 63 On Tue, Jul 7, 2015 at 1:20 PM, Yinghai Lu wrote: > Move out serial_putchar() calling out of putchar > Let puts() to call serial_putchar() directly. > > So only need to check early_serial_base per string. > > Signed-off-by: Yinghai Lu If you're going to do this, I think putchar should be static, and all callers should be switched to puts. There are callers that expect putchar to send to both bios and serial. -Kees > --- > arch/x86/boot/tty.c | 14 ++++++++++---- > 1 file changed, 10 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/boot/tty.c b/arch/x86/boot/tty.c > index def2451..114caea 100644 > --- a/arch/x86/boot/tty.c > +++ b/arch/x86/boot/tty.c > @@ -52,16 +52,22 @@ static void __attribute__((section(".inittext"))) bios_putchar(int ch) > void __attribute__((section(".inittext"))) putchar(int ch) > { > if (ch == '\n') > - putchar('\r'); /* \n -> \r\n */ > + bios_putchar('\r'); /* \n -> \r\n */ > > bios_putchar(ch); > - > - if (early_serial_base != 0) > - serial_putchar(ch); > } > > void __attribute__((section(".inittext"))) puts(const char *str) > { > + if (early_serial_base) { > + const char *s = str; > + while (*s) { > + if (*s == '\n') > + serial_putchar('\r'); > + serial_putchar(*s++); > + } > + } > + > while (*str) > putchar(*str++); > } > -- > 1.8.4.5 > -- Kees Cook Chrome OS Security -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/