Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp642268rdg; Wed, 11 Oct 2023 00:53:30 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFXDEFbKUKEv/DhCRoOkdG/FSEiawHv4Jqf3c3Ex6btZstb2aJ7vqrhS9tweki6UXeTXOlY X-Received: by 2002:a05:6a00:a18:b0:690:fe13:1d28 with SMTP id p24-20020a056a000a1800b00690fe131d28mr22535751pfh.33.1697010809771; Wed, 11 Oct 2023 00:53:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697010809; cv=none; d=google.com; s=arc-20160816; b=tyR3PrH/AlxvPtoGp5TciH2uCRdhg1H3jmi6IIdWEAZKdw69yHJKW5RFbnJhN9hKtW djF+SVjajh2vsAkOW/P2fHnwLoAroTITuou/U3MQTYJb3YJmV93eUVwrFd+KdllaI/5k gTVH6vk2TaWUIL2PEIFzbW5sR5iRQ/7otOKiJQmebt5HElxq+bRIRIxo+ze5OP0Qvjpz iuxa7xDXs+PQMpjGx0DzECKQhwdFYIhsV4B1/uVE6IMMrjtCoqJN3MBVUgnh14VZJ54L S5sQtwedOc4JGBELqgapLfEoI367UD3knPgBZJwOo9BQIIrfULVhWtDonuwREcMiLNZA jU2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=zHKd/BeV/Vs25r22LEdoYOp3tCJtQW5vcdYG9SRIpYg=; fh=gsjcBSWRf2E7x/dVZGUF7W76BoS99E7r38kIdW5ei0Y=; b=mJKj6dXrTrnUj2huU0hr/lw6SNl6l3BzNcZTQ67VjU47rVetPqy8kqdtbIGTb0aQWc icS6elbU6PVRMBz6muXM/e2kamvQxan1uNNt8QPkRMdxJ4oPKtIFFBF4zBoh3F+3bfVC awK8l3pE+uxEN5/MWUgkBxuzZ2DyoDBgdGKc0FgwRVV5ofpWZZK2ORFXFE5M6GU4C3CR sQs4+ii+ezDpfJad6ybCnqyF0LIA1rNA+NO8KsSr9R1L15x99JrKU41jMoxqNQbxRitG gb8INY0xoZ2MJySWSQBHEDWCUzhzdWQYj+J8wL7usoItmeUHzkmHt4eSxfo05brrjoki 5jXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Ufsbm2XE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id e3-20020a636903000000b00565e7a3342dsi14101822pgc.256.2023.10.11.00.53.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Oct 2023 00:53:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Ufsbm2XE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 957F88131C26; Wed, 11 Oct 2023 00:53:26 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229887AbjJKHxT (ORCPT + 99 others); Wed, 11 Oct 2023 03:53:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44636 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230003AbjJKHxS (ORCPT ); Wed, 11 Oct 2023 03:53:18 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 02F65CA for ; Wed, 11 Oct 2023 00:53:14 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F0E99C433C7; Wed, 11 Oct 2023 07:53:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1697010794; bh=GgwVDJvvCqbsJ90WXFWRK1qi4oMBE8/9c9WObZa6mTI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Ufsbm2XEeGZiZuQF7Rx85fJ0Dr79urIechCSfD3UoU9/1pr6rejnp6a0cpQ4dZ29l 2hs+omIR49qqY5B2EXpsGUl6a0VgRK/EzeHUk4HJ8c0zG5YRvHeANwWWUxZPGFQ4+2 bCOeg4HshlZa3isAz9F0sj02lUKBMYoCxiPAk8Ps= Date: Wed, 11 Oct 2023 09:53:11 +0200 From: Greg Kroah-Hartman To: Tony Lindgren Cc: Petr Mladek , Steven Rostedt , John Ogness , Sergey Senozhatsky , linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 1/2] printk: Check valid console index for preferred console Message-ID: <2023101131-maroon-stubborn-1364@gregkh> References: <20231011074330.14487-1-tony@atomide.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231011074330.14487-1-tony@atomide.com> X-Spam-Status: No, score=2.7 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Wed, 11 Oct 2023 00:53:26 -0700 (PDT) X-Spam-Level: ** On Wed, Oct 11, 2023 at 10:43:25AM +0300, Tony Lindgren wrote: > Let's check for valid console index values to avoid bogus console index > numbers from kernel command line. While struct console uses short for > index, and negative index values are used by some device drivers, we do > not want to allow negative values for preferred console. What drivers use a negative index for the console? > Let's change the idx to short to match struct console, and return an error > on negative values. And let's also constify idx while at it. > > Signed-off-by: Tony Lindgren > --- > > Changes since v1: > > - Use const short idx and return an error on negative values > > --- > include/linux/console.h | 2 +- > kernel/printk/printk.c | 11 +++++++++-- > 2 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/include/linux/console.h b/include/linux/console.h > --- a/include/linux/console.h > +++ b/include/linux/console.h > @@ -340,7 +340,7 @@ enum con_flush_mode { > CONSOLE_REPLAY_ALL, > }; > > -extern int add_preferred_console(char *name, int idx, char *options); > +extern int add_preferred_console(char *name, const short idx, char *options); > extern void console_force_preferred_locked(struct console *con); > extern void register_console(struct console *); > extern int unregister_console(struct console *); > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > --- a/kernel/printk/printk.c > +++ b/kernel/printk/printk.c > @@ -2404,12 +2404,19 @@ static void set_user_specified(struct console_cmdline *c, bool user_specified) > console_set_on_cmdline = 1; > } > > -static int __add_preferred_console(char *name, int idx, char *options, > +static int __add_preferred_console(const char *name, const short idx, char *options, > char *brl_options, bool user_specified) > { > struct console_cmdline *c; > int i; > > + /* > + * Negative struct console index may be valid for drivers in some cases, > + * but negative index is not valid for a preferred console. > + */ > + if (idx < 0) > + return -EINVAL; Looks good to me, I'll take this through my tty tree if no one objects. thanks, greg k-h