All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adam Simonelli <adamsimonelli@gmail.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
	Jiri Slaby <jirislaby@kernel.org>
Subject: Re: [PATCH v4 2/2] tty: Change order of ttynull to be linked sooner if enabled as a console.
Date: Mon, 24 Feb 2025 07:38:46 -0500	[thread overview]
Message-ID: <5764492.44csPzL39Z@nerdopolis2> (raw)
In-Reply-To: <2025022421-refract-defame-94db@gregkh>

On Monday, February 24, 2025 2:23:09 AM EST Greg Kroah-Hartman wrote:
> On Sun, Feb 23, 2025 at 03:44:56PM -0500, adamsimonelli@gmail.com wrote:
> > From: Adam Simonelli <adamsimonelli@gmail.com>
> > 
> > If CONFIG_NULL_TTY_CONSOLE is enabled, and CONFIG_VT is disabled, ttynull
> > will become the default primary console device, based on the link order.
> > 
> > Many distributions ship with CONFIG_VT enabled. On tested desktop hardware
> > if CONFIG_VT is disabled, the default console device falls back to
> > /dev/ttyS0 instead of /dev/tty.
> > 
> > This could cause issues in user space, and hardware problems:
> > 
> > 1. The user space issues include the case where  /dev/ttyS0 is
> > disconnected, and the TCGETS ioctl, which some user space libraries use
> > as a probe to determine if a file is a tty, is called on /dev/console and
> > fails. Programs that call isatty() on /dev/console and get an incorrect
> > false value may skip expected logging to /dev/console
> > 
> > 2. The hardware issues include the case if a user has a science instrument
> > or other device connected to the /dev/ttyS0 port, and they were to upgrade
> > to a kernel that is disabling the CONFIG_VT option, kernel logs will then be
> > sent to the device connected to /dev/ttyS0 unless they edit their kernel
> > command line manually.
> > 
> > The new CONFIG_NULL_TTY_CONSOLE option will give users and distribution
> > maintainers an option to avoid this. Disabling CONFIG_VT and enabling
> > CONFIG_NULL_TTY_CONSOLE will ensure the default kernel console behavior
> > is not dependant on hardware configuration by default, and avoid
> > unexpected new behavior on devices connected to the /dev/ttyS0 serial
> > port.
> > 
> > Signed-off-by: Adam Simonelli <adamsimonelli@gmail.com>
> > ---
> >  drivers/tty/Makefile | 10 ++++++++++
> >  1 file changed, 10 insertions(+)
> > 
> > diff --git a/drivers/tty/Makefile b/drivers/tty/Makefile
> > index 07aca5184a55..1a1051ecb1af 100644
> > --- a/drivers/tty/Makefile
> > +++ b/drivers/tty/Makefile
> > @@ -11,6 +11,10 @@ obj-$(CONFIG_N_HDLC)		+= n_hdlc.o
> >  obj-$(CONFIG_N_GSM)		+= n_gsm.o
> >  
> >  obj-y				+= vt/
> > +#If ttynull is configured to be a console by default, ensure that it is linked
> > +#earlier before a real one is selected.
> > +obj-$(CONFIG_NULL_TTY_CONSOLE)	+= ttynull.o
> > +
> >  obj-$(CONFIG_HVC_DRIVER)	+= hvc/
> >  obj-y				+= serial/
> >  obj-$(CONFIG_SERIAL_DEV_BUS)	+= serdev/
> > @@ -20,7 +24,13 @@ obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o
> >  obj-$(CONFIG_MOXA_INTELLIO)	+= moxa.o
> >  obj-$(CONFIG_MOXA_SMARTIO)	+= mxser.o
> >  obj-$(CONFIG_NOZOMI)		+= nozomi.o
> > +
> > +#If ttynull is enabled, but not as a boot console, it is linked and used later
> > +#after the real ones.
> > +ifneq ($(CONFIG_NULL_TTY_CONSOLE),y)
> >  obj-$(CONFIG_NULL_TTY)	        += ttynull.o
> > +endif
> 
> Nit, a " " needs to be after the "#" character, right?
> 
> And ick, this is going to be tricky, changing the link order depending
> on the configuration option setting?  This feels wrong, and messy, and
> very fragile.
> 
Yeah, it did feel kind of odd I will admit, but I was worried if there are any
ramifications that I don't know about if I move it up early for all cases now
or if I should just put it back to how it was in v1...
> thanks,
> 
> greg k-h
> 





  reply	other threads:[~2025-02-24 12:38 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-23 20:44 [PATCH v4 0/2] Optionally allow ttynull to be selected as a default console adamsimonelli
2025-02-23 20:44 ` [PATCH v4 1/2] ttynull: Add an option to allow ttynull to be used as a console device adamsimonelli
2025-02-23 20:44 ` [PATCH v4 2/2] tty: Change order of ttynull to be linked sooner if enabled as a console adamsimonelli
2025-02-24  7:23   ` Greg Kroah-Hartman
2025-02-24 12:38     ` Adam Simonelli [this message]
2025-02-23 21:10 ` [PATCH v4 0/2] Optionally allow ttynull to be selected as a default console Andy Shevchenko
2025-02-24  0:23   ` Adam Simonelli
2025-02-24  7:19     ` Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5764492.44csPzL39Z@nerdopolis2 \
    --to=adamsimonelli@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jirislaby@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.