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:   Wed, 26 Jun 2019 08:25:05 +0000
From:   Sudarsana Reddy Kalluru <skalluru@...vell.com>
To:     Guilherme Piccoli <gpiccoli@...onical.com>,
        "jay.vosburgh@...onical.com" <jay.vosburgh@...onical.com>
CC:     GR-everest-linux-l2 <GR-everest-linux-l2@...vell.com>,
        "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
        Ariel Elior <aelior@...vell.com>
Subject: RE: [EXT] [PATCH V2] bnx2x: Prevent ptp_task to be rescheduled
 indefinitely

> -----Original Message-----
> From: Guilherme Piccoli <gpiccoli@...onical.com>
> Sent: Wednesday, June 26, 2019 1:56 AM
> To: Sudarsana Reddy Kalluru <skalluru@...vell.com>;
> jay.vosburgh@...onical.com
> Cc: GR-everest-linux-l2 <GR-everest-linux-l2@...vell.com>;
> netdev@...r.kernel.org; Ariel Elior <aelior@...vell.com>
> Subject: Re: [EXT] [PATCH V2] bnx2x: Prevent ptp_task to be rescheduled
> indefinitely
> 
> Sudarsana, let me ask you something: why does the register is reading value
> 0x0 always in the TX timestamp routine if the RX filter is set to None? This is
> the main cause of the thread reschedule thing.

The register value of zero indicates there is no pending Tx timestamp to be read by the driver.
FW writes/latches the Tx timestamp for PTP event packet in this register. And it does the latching only if the register is free.
In this case user/app look to be requesting  the Timestamp (via skb->tx_flags) for non-ptp Tx packet. In the Tx path, driver schedules a thread for reading the Tx timestamp,
   bnx2x_start_xmit()
   {
        if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP)) 
                        schedule_work(&bp->ptp_task);
   }
FW seem to be not timestamping the packet at all and driver is indefinitely waiting for it.

> 
> Of course this thread thing is important to fix, but I was discussing with my
> leader here and we are curious on the reasoning the register is getting 0x0.
> 
> Thanks in advance,
> 
> 
> Guilherme

Powered by blists - more mailing lists