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]
Message-ID: <aRcFb-vsoLw24MbU@horms.kernel.org>
Date: Fri, 14 Nov 2025 10:33:19 +0000
From: Simon Horman <horms@...nel.org>
To: Meghana Malladi <m-malladi@...com>
Cc: namcao@...utronix.de, vadim.fedorenko@...ux.dev,
	jacob.e.keller@...el.com, christian.koenig@....com,
	sumit.semwal@...aro.org, sdf@...ichev.me, john.fastabend@...il.com,
	hawk@...nel.org, daniel@...earbox.net, ast@...nel.org,
	pabeni@...hat.com, kuba@...nel.org, edumazet@...gle.com,
	davem@...emloft.net, andrew+netdev@...n.ch,
	linaro-mm-sig@...ts.linaro.org, dri-devel@...ts.freedesktop.org,
	linux-media@...r.kernel.org, bpf@...r.kernel.org,
	linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
	linux-arm-kernel@...ts.infradead.org, srk@...com,
	Vignesh Raghavendra <vigneshr@...com>,
	Roger Quadros <rogerq@...nel.org>, danishanwar@...com
Subject: Re: [PATCH net-next v5 5/6] net: ti: icssg-prueth: Add AF_XDP zero
 copy for RX

On Tue, Nov 11, 2025 at 03:45:22PM +0530, Meghana Malladi wrote:

...

> diff --git a/drivers/net/ethernet/ti/icssg/icssg_common.c b/drivers/net/ethernet/ti/icssg/icssg_common.c

...

> +static int prueth_dma_rx_push_mapped_zc(struct prueth_emac *emac,
> +					struct prueth_rx_chn *rx_chn,
> +					struct xdp_buff *xdp)
> +{
> +	struct net_device *ndev = emac->ndev;
> +	struct cppi5_host_desc_t *desc_rx;
> +	struct prueth_swdata *swdata;
> +	dma_addr_t desc_dma;
> +	dma_addr_t buf_dma;
> +	int buf_len;
> +
> +	buf_dma = xsk_buff_xdp_get_dma(xdp);
> +	desc_rx = k3_cppi_desc_pool_alloc(rx_chn->desc_pool);
> +	if (!desc_rx) {
> +		netdev_err(ndev, "rx push: failed to allocate descriptor\n");
> +		return -ENOMEM;
> +	}
> +	desc_dma = k3_cppi_desc_pool_virt2dma(rx_chn->desc_pool, desc_rx);
> +
> +	cppi5_hdesc_init(desc_rx, CPPI5_INFO0_HDESC_EPIB_PRESENT,
> +			 PRUETH_NAV_PS_DATA_SIZE);
> +	k3_udma_glue_rx_dma_to_cppi5_addr(rx_chn->rx_chn, &buf_dma);
> +	buf_len = xsk_pool_get_rx_frame_size(rx_chn->xsk_pool);
> +	cppi5_hdesc_attach_buf(desc_rx, buf_dma, buf_len, buf_dma, buf_len);
> +	swdata = cppi5_hdesc_get_swdata(desc_rx);
> +	swdata->type = PRUETH_SWDATA_XSK;
> +	swdata->data.xdp = xdp;
> +
> +	return k3_udma_glue_push_rx_chn(rx_chn->rx_chn, PRUETH_RX_FLOW_DATA,
> +					desc_rx, desc_dma);
> +
> +	return 0;

nit: The line above is dead code.

> +}

...

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ