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]
Date:   Sat, 19 Mar 2022 14:26:52 +0800
From:   Yinjun Zhang <yinjun.zhang@...igine.com>
To:     Jakub Kicinski <kuba@...nel.org>
Cc:     Simon Horman <simon.horman@...igine.com>,
        David Miller <davem@...emloft.net>, netdev@...r.kernel.org,
        oss-drivers@...igine.com
Subject: Re: [PATCH net-next 10/10] nfp: nfdk: implement xdp tx path for NFDK

On Fri, Mar 18, 2022 at 09:30:12PM -0700, Jakub Kicinski wrote:
> On Sat, 19 Mar 2022 09:55:46 +0800 Yinjun Zhang wrote:
> > On Fri, Mar 18, 2022 at 10:56:45AM -0700, Jakub Kicinski wrote:
> > > On Fri, 18 Mar 2022 11:13:02 +0100 Simon Horman wrote:  
> > > > From: Yinjun Zhang <yinjun.zhang@...igine.com>
> > > > 
> > > > Due to the different definition of txbuf in NFDK comparing to NFD3,
> > > > there're no pre-allocated txbufs for xdp use in NFDK's implementation,
> > > > we just use the existed rxbuf and recycle it when xdp tx is completed.
> > > > 
> > > > For each packet to transmit in xdp path, we cannot use more than
> > > > `NFDK_TX_DESC_PER_SIMPLE_PKT` txbufs, one is to stash virtual address,
> > > > and another is for dma address, so currently the amount of transmitted
> > > > bytes is not accumulated. Also we borrow the last bit of virtual addr
> > > > to indicate a new transmitted packet due to address's alignment
> > > > attribution.
> > > > 
> > > > Signed-off-by: Yinjun Zhang <yinjun.zhang@...igine.com>
> > > > Signed-off-by: Fei Qin <fei.qin@...igine.com>
> > > > Signed-off-by: Simon Horman <simon.horman@...igine.com>  
> > > 
> > > Breaks 32 bit :(  
> > 
> > You mean 32-bit arch? I'd thought of that, but why needn't
> > `NFCT_PTRMASK` take that into account?
> 
> Simpler than that, I just meant the build.
> It's about casting between 64b types and pointers:
> 
> drivers/net/ethernet/netronome/nfp/nfdk/dp.c: In function ‘nfp_nfdk_xdp_complete’:
> drivers/net/ethernet/netronome/nfp/nfdk/dp.c:827:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
>   827 |                                      (void *)NFDK_TX_BUF_PTR(txbuf[0].raw),
>       |                                      ^
> drivers/net/ethernet/netronome/nfp/nfdk/dp.c: In function ‘nfp_nfdk_tx_xdp_buf’:
> drivers/net/ethernet/netronome/nfp/nfdk/dp.c:909:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
>   909 |         txbuf[0].raw = (u64)rxbuf->frag | NFDK_TX_BUF_INFO_SOP;
>       |                        ^

I see, thanks for capturing this, will fix that in next version.

Powered by blists - more mailing lists