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] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 22 Nov 2021 21:19:09 -0800
From:   Jay Dolan <jay.dolan@...esio.com>
To:     Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Cc:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        linux-kernel@...r.kernel.org, linux-serial@...r.kernel.org,
        Jiri Slaby <jirislaby@...nel.org>
Subject: Re: [PATCH v1 0/2] serial: 8250_pci: Split Pericom driver



On 11/22/21 4:48 AM, Andy Shevchenko wrote:
> On Mon, Nov 22, 2021 at 02:47:20PM +0200, Andy Shevchenko wrote:
>> On Thu, Nov 18, 2021 at 10:32:51PM -0800, Jay Dolan wrote:
>>> On 11/17/21 6:57 AM, Andy Shevchenko wrote:
>>>> Split Pericom driver to a separate module.
>>>> While at it, re-enable high baud rates.
>>>>
>>>> Jay, can you, please, test this on as many hardware as you have?
>>
>> ...
>>
>>> * Add in pericom_do_startup() because the UPF_MAGIC_MULTIPLIER doesn't
>>> stick.
>>
>> Can't find an evidence that this is the case. Can you recheck this (reading
>> flags back via sysfs or so)? So, for v2 I'll leave my approach.
> 
> Otherwise how the other drivers which are using that flag survive? If it's
> indeed an issue, it should be fixed on generic level.
> 

I modified pericom_do_startup to log when the UPF_MAGIC_MULTIPLIER flag 
was present. Then tried to set the port to 3000000 a few times. The port
stayed at 9600. It looks like pericom_do_startup() is getting called 
twice per port on boot, and the flag is gone with the second one.

[    4.925577] [J4D] flag present
[    4.926121] [J4D[ flag not present
[    4.926843] [J4D] flag present
[    4.927415] [J4D[ flag not present
[    4.928106] [J4D] flag present
[    4.928673] [J4D[ flag not present
[    4.929419] [J4D] flag present
[    4.930447] [J4D[ flag not present

[   49.528504] [J4D[ flag not present
[   51.675240] [J4D[ flag not present
[   59.617954] [J4D[ flag not present

Then I modified it to log when it was adding the flag in. The port was 
set to 3000000. Also the flag only needed to be added in once. It sticks 
after the first time.

[    4.647546] [J4D] flag present
[    4.648119] [J4D] flag not present(adding)
[    4.648778] [J4D] flag present
[    4.649330] [J4D] flag not present(adding)
[    4.650001] [J4D] flag present
[    4.650537] [J4D] flag not present(adding)
[    4.651192] [J4D] flag present
[    4.651718] [J4D] flag not present(adding)

[   96.025668] [J4D] flag present
[  100.130626] [J4D] flag present
[  116.435436] [J4D] flag present

I mostly just guessed at do_startup() being the place to set the magic 
multiplier flag after it didn't stick in quirk in 8250_pci.c.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ