lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20210112174613.GA8782@dev>
Date:   Tue, 12 Jan 2021 17:46:13 +0000
From:   József Horváth <info@...istro.hu>
To:     'Greg Kroah-Hartman' <gregkh@...uxfoundation.org>
Cc:     'Rob Herring' <robh+dt@...nel.org>,
        'Jiri Slaby' <jirislaby@...nel.org>,
        linux-serial@...r.kernel.org, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v8 1/2] Serial: silabs si4455 serial driver

On Tue, Jan 12, 2021 at 05:13:16PM +0100, 'Greg Kroah-Hartman' wrote:
> On Tue, Jan 12, 2021 at 03:43:22PM +0000, József Horváth wrote:
> > On Tue, Jan 12, 2021 at 11:28:08AM +0100, 'Greg Kroah-Hartman' wrote:
> > > On Tue, Jan 12, 2021 at 10:18:33AM +0000, Jozsef Horvath wrote:
> > > > --- a/include/uapi/linux/serial_core.h
> > > > +++ b/include/uapi/linux/serial_core.h
> > > > @@ -279,4 +279,7 @@
> > > >  /* Freescale LINFlexD UART */
> > > >  #define PORT_LINFLEXUART	122
> > > >  
> > > > +/* Silicon Labs SI4455 */
> > > > +#define PORT_SI4455     123
> > > 
> > > What userspace tool is going to need this value?
> > 
> > The PORT_SI4455 is defined for using as port type value in struct uart_port.
> > I checked other serial drivers under drivers/tty/serial and the port types
> > used by serial drivers are defined in two places:
> > 
> > include/uapi/linux/serial_core.h
> > include/uapi/linux/serial.h
> > 
> > The port type is required by serial_core, and its value goes back to
> > user space with TIOCGSERIAL ioctl call.
> 
> What is it required for?  Who uses this?
> 
> > I can't set port type value to 0(PORT_UNKNOWN).
> 
> Why not?

In drivers/tty/serial/serial_core.c
1784:	uart_port_activate(...)
1799:		->	uart_startup(...)
260:			->	uart_port_startup(...)

183:	static int uart_port_startup(struct tty_struct *tty, struct uart_state *state,
184:			int init_hw)
...
191:		if (uport->type == PORT_UNKNOWN)
192:			return 1;
...
221:		retval = uport->ops->startup(uport);	<--This is the reason. The drivers
 startup function is not get called if type==PORT_UNKNOWN
...

> 
> > I think my drivers source is not the best place to defining PORT_SI4455,
> >  but I can't find better place then include/uapi/linux/serial_core.h
> > 
> > Could you please help me where is the correct location for this definition?
> 
> I ask as I am trying to figure out why we keep adding these ids, yet no
> tool that i know of seems to actually use them.
> 
> If you don't have a tool that needs to use a new id, then I would
> recommend not adding it, right?

This definition is not my requirement, but I would avoid collision with other
 drivers port type value.
At this point as I understand your words, these definitions will be obsolete
 or optional soon and I can choose any value for drivers port type.

Right?

I would ask you about dev name (ttySSi).
Is it okay?

I didnt find any similar.

> 
> thanks,
> 
> greg k-h

Üdvözlettel / Best regards:
József Horváth

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ