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] [day] [month] [year] [list]
Message-ID: <aOULIXcBwiUpo67E@soc-5CG4396X81.clients.intel.com>
Date: Tue, 7 Oct 2025 14:44:17 +0200
From: Larysa Zaremba <larysa.zaremba@...el.com>
To: Paul Menzel <pmenzel@...gen.mpg.de>
CC: <intel-wired-lan@...ts.osuosl.org>, Tony Nguyen
	<anthony.l.nguyen@...el.com>, Przemek Kitszel <przemyslaw.kitszel@...el.com>,
	Andrew Lunn <andrew+netdev@...n.ch>, "David S. Miller" <davem@...emloft.net>,
	Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, "Paolo
 Abeni" <pabeni@...hat.com>, Joshua Hay <joshua.a.hay@...el.com>, Chittim
 Madhu <madhu.chittim@...el.com>, <netdev@...r.kernel.org>,
	<linux-kernel@...r.kernel.org>, Emil Tantilov <emil.s.tantilov@...el.com>,
	Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>, Aleksandr Loktionov
	<aleksandr.loktionov@...el.com>
Subject: Re: [Intel-wired-lan] [PATCH iwl-net] idpf: fix LAN memory regions
 command on some NVMs

On Tue, Oct 07, 2025 at 02:06:55PM +0200, Paul Menzel wrote:
> Dear Larysa,
> 
> 
> Am 07.10.25 um 13:46 schrieb Larysa Zaremba:
> > IPU SDK versions 1.9 through 2.0.5 require send buffer to contain a single
> > empty memory region. Set number of regions to 1 and use appropriate send
> > buffer size to satisfy this requirement.
> 
> Where are the SDK requirements documented?
>

IPU SDK is a fancy name for the FW. AFAIK, aside idpf specification intel did 
not publish any additional resources for it.

idpf specification [1] is unclear on the exact get command contents. What I am 
fixing is the reality of the implementation of the NVMs that support CPFs too 
(supported by ixd [0]).

> What are the current SDK versions?

2.1, I tested with 2.0.5 that was the latest when this patch was first 
implemented in August.

> 
> Do you have a reproducer?

I can reliably reproduce this on my machine with intel IPU SDK 2.0.5, the 
command fails every time without this patch, causing the probe to fail. Also, 
other developers such as Michal S reported such problem. It is most probably 
present on older NVMs too, its just that the command was not used before the 
RDMA patchset.

I have checked that the patch does not cause regression on the platforms that 
use another idpf-only NVMs, used by most intel IPUs.

[0]
https://lore.kernel.org/netdev/20250516145814.5422-1-larysa.zaremba@intel.com/

[1] 
https://github.com/oasis-tcs/idpf-specification/blob/main/idpf_specification.pdf

> 
> > Suggested-by: Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>
> > Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@...el.com>
> > Signed-off-by: Larysa Zaremba <larysa.zaremba@...el.com>
> > ---
> >   drivers/net/ethernet/intel/idpf/idpf_virtchnl.c | 5 +++++
> >   1 file changed, 5 insertions(+)
> > 
> > diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> > index fa3ce1e4f6ac..af8b3ebee4d4 100644
> > --- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> > +++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> > @@ -1016,6 +1016,9 @@ static int idpf_send_get_lan_memory_regions(struct idpf_adapter *adapter)
> >   	struct idpf_vc_xn_params xn_params = {
> >   		.vc_op = VIRTCHNL2_OP_GET_LAN_MEMORY_REGIONS,
> >   		.recv_buf.iov_len = IDPF_CTLQ_MAX_BUF_LEN,
> > +		.send_buf.iov_len =
> > +			sizeof(struct virtchnl2_get_lan_memory_regions) +
> > +			sizeof(struct virtchnl2_mem_region),
> >   		.timeout_ms = IDPF_VC_XN_DEFAULT_TIMEOUT_MSEC,
> >   	};
> >   	int num_regions, size;
> > @@ -1028,6 +1031,8 @@ static int idpf_send_get_lan_memory_regions(struct idpf_adapter *adapter)
> >   		return -ENOMEM;
> >   	xn_params.recv_buf.iov_base = rcvd_regions;
> > +	rcvd_regions->num_memory_regions = cpu_to_le16(1);
> > +	xn_params.send_buf.iov_base = rcvd_regions;
> >   	reply_sz = idpf_vc_xn_exec(adapter, &xn_params);
> >   	if (reply_sz < 0)
> >   		return reply_sz;
> 
> 
> Kind regards,
> 
> Paul

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ