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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 9 Aug 2023 14:26:52 +0800
From:   Baolin Wang <baolin.wang@...ux.alibaba.com>
To:     wenhua lin <wenhua.lin1994@...il.com>
Cc:     Wenhua Lin <Wenhua.Lin@...soc.com>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Jiri Slaby <jirislaby@...nel.org>,
        Orson Zhai <orsonzhai@...il.com>,
        Chunyan Zhang <zhang.lyra@...il.com>,
        linux-serial@...r.kernel.org, linux-kernel@...r.kernel.org,
        Xiongpeng Wu <xiongpeng.wu@...soc.com>
Subject: Re: [PATCH] serial: sprd: Support 12 uart ports



On 8/9/2023 1:52 PM, wenhua lin wrote:
> The change of the max ports is to adapt to an new
> SPRD serial hardware,also is backward-compatibility with old hardware.

Again, DO NOT top-posting! Thanks.

>>
>> On 8/7/2023 4:07 PM, Wenhua Lin wrote:
>>> From: Wenhua Lin <wenhua.lin@...soc.com>
>>>
>>> Support 12 uart ports, which can solve the problem
>>> of insufficient uart ports.
>>
>> This sounds incorrect to me.
>> If this is a software bug, please add a Fixes tag to backport for stable
>> kernels. If the change of the max ports is only avaliable on the new
>> SPRD serial hardware, you should ensure the change is
>> backward-compatibility with old hardware.

This is not backward-compatibility. Please see 'sprd_uart_driver' 
structure as below:

static struct uart_driver sprd_uart_driver = {
	.owner = THIS_MODULE,
	.driver_name = "sprd_serial",
	.dev_name = SPRD_TTY_NAME,
	.major = 0,
	.minor = 0,
	.nr = UART_NR_MAX,
	.cons = SPRD_CONSOLE,
};

That means you will still register 12 UART ports in the tty for old 
serial hardwares which actually only support 8 UART ports, and if users 
want to use another 4 ports which are not supported in the hardware, 
then system crashes.

So I think you should add a SoC data in 'serial_ids' to change the 
number of UART port according to different SoC.

>>> Signed-off-by: Wenhua Lin <wenhua.lin@...soc.com>
>>> ---
>>>    drivers/tty/serial/sprd_serial.c | 2 +-
>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/tty/serial/sprd_serial.c b/drivers/tty/serial/sprd_serial.c
>>> index b58f51296ace..2774df490899 100644
>>> --- a/drivers/tty/serial/sprd_serial.c
>>> +++ b/drivers/tty/serial/sprd_serial.c
>>> @@ -22,7 +22,7 @@
>>>    #include <linux/tty_flip.h>
>>>
>>>    /* device name */
>>> -#define UART_NR_MAX          8
>>> +#define UART_NR_MAX          12
>>>    #define SPRD_TTY_NAME               "ttyS"
>>>    #define SPRD_FIFO_SIZE              128
>>>    #define SPRD_DEF_RATE               26000000

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ