[PATCH net-next] io_uring/zcrx: fix ifq->if_rxq is -1, get dma_dev is NULL

Feng zhou posted 1 patch 2 weeks, 6 days ago
There is a newer version of this series
io_uring/zcrx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH net-next] io_uring/zcrx: fix ifq->if_rxq is -1, get dma_dev is NULL
Posted by Feng zhou 2 weeks, 6 days ago
From: Feng Zhou <zhoufeng.zf@bytedance.com>

ifq->if_rxq has not been assigned, is -1, the correct value is
in reg.if_rxq.

Fixes: 59b8b32ac8d469958936fcea781c7f58e3d64742 ("io_uring/zcrx: add support for custom DMA devices")
Signed-off-by: Feng Zhou <zhoufeng.zf@bytedance.com>
---
 io_uring/zcrx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/io_uring/zcrx.c b/io_uring/zcrx.c
index 319eddfd30e0..3639283c87ca 100644
--- a/io_uring/zcrx.c
+++ b/io_uring/zcrx.c
@@ -600,7 +600,7 @@ int io_register_zcrx_ifq(struct io_ring_ctx *ctx,
 		goto err;
 	}
 
-	ifq->dev = netdev_queue_get_dma_dev(ifq->netdev, ifq->if_rxq);
+	ifq->dev = netdev_queue_get_dma_dev(ifq->netdev, reg.if_rxq);
 	if (!ifq->dev) {
 		ret = -EOPNOTSUPP;
 		goto err;
-- 
2.30.2
Re: [PATCH net-next] io_uring/zcrx: fix ifq->if_rxq is -1, get dma_dev is NULL
Posted by Pavel Begunkov 2 weeks, 6 days ago
On 9/12/25 09:39, Feng zhou wrote:
> From: Feng Zhou <zhoufeng.zf@bytedance.com>
> 
> ifq->if_rxq has not been assigned, is -1, the correct value is
> in reg.if_rxq.

Good catch. Note that the blamed patch was merged via the net tree
this time around to avoid conflicts, and the io_uring tree doesn't
have it yet. You can repost it adding netdev@vger.kernel.org and
the net maintainers to be merged via the net tree. Otherwise it'll
have to wait until 6.18-rc1 is out

> Fixes: 59b8b32ac8d469958936fcea781c7f58e3d64742 ("io_uring/zcrx: add support for custom DMA devices")
> Signed-off-by: Feng Zhou <zhoufeng.zf@bytedance.com>
> ---
>   io_uring/zcrx.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/io_uring/zcrx.c b/io_uring/zcrx.c
> index 319eddfd30e0..3639283c87ca 100644
> --- a/io_uring/zcrx.c
> +++ b/io_uring/zcrx.c
> @@ -600,7 +600,7 @@ int io_register_zcrx_ifq(struct io_ring_ctx *ctx,
>   		goto err;
>   	}
>   
> -	ifq->dev = netdev_queue_get_dma_dev(ifq->netdev, ifq->if_rxq);
> +	ifq->dev = netdev_queue_get_dma_dev(ifq->netdev, reg.if_rxq);
>   	if (!ifq->dev) {
>   		ret = -EOPNOTSUPP;
>   		goto err;

-- 
Pavel Begunkov
Re: [PATCH net-next] io_uring/zcrx: fix ifq->if_rxq is -1, get dma_dev is NULL
Posted by Jakub Kicinski 2 weeks, 6 days ago
On Fri, 12 Sep 2025 13:40:06 +0100 Pavel Begunkov wrote:
> On 9/12/25 09:39, Feng zhou wrote:
> > From: Feng Zhou <zhoufeng.zf@bytedance.com>
> > 
> > ifq->if_rxq has not been assigned, is -1, the correct value is
> > in reg.if_rxq.  
> 
> Good catch. Note that the blamed patch was merged via the net tree
> this time around to avoid conflicts, and the io_uring tree doesn't
> have it yet. You can repost it adding netdev@vger.kernel.org and
> the net maintainers to be merged via the net tree. Otherwise it'll
> have to wait until 6.18-rc1 is out

If only we had a maintainers entry that makes people automatically 
CC both lists, eh? :\
Re: [PATCH net-next] io_uring/zcrx: fix ifq->if_rxq is -1, get dma_dev is NULL
Posted by Pavel Begunkov 2 weeks, 3 days ago
On 9/12/25 15:22, Jakub Kicinski wrote:
> On Fri, 12 Sep 2025 13:40:06 +0100 Pavel Begunkov wrote:
>> On 9/12/25 09:39, Feng zhou wrote:
>>> From: Feng Zhou <zhoufeng.zf@bytedance.com>
>>>
>>> ifq->if_rxq has not been assigned, is -1, the correct value is
>>> in reg.if_rxq.
>>
>> Good catch. Note that the blamed patch was merged via the net tree
>> this time around to avoid conflicts, and the io_uring tree doesn't
>> have it yet. You can repost it adding netdev@vger.kernel.org and
>> the net maintainers to be merged via the net tree. Otherwise it'll
>> have to wait until 6.18-rc1 is out
> 
> If only we had a maintainers entry that makes people automatically
> CC both lists, eh? :\

It's caused by a patch being taken not through the designated tree,
which is fine, but CC wouldn't have prevented from the same
dependency management.

-- 
Pavel Begunkov
Re: [PATCH net-next] io_uring/zcrx: fix ifq->if_rxq is -1, get dma_dev is NULL
Posted by Mina Almasry 2 weeks, 5 days ago
On Fri, Sep 12, 2025 at 7:22 AM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Fri, 12 Sep 2025 13:40:06 +0100 Pavel Begunkov wrote:
> > On 9/12/25 09:39, Feng zhou wrote:
> > > From: Feng Zhou <zhoufeng.zf@bytedance.com>
> > >
> > > ifq->if_rxq has not been assigned, is -1, the correct value is
> > > in reg.if_rxq.
> >
> > Good catch. Note that the blamed patch was merged via the net tree
> > this time around to avoid conflicts, and the io_uring tree doesn't
> > have it yet. You can repost it adding netdev@vger.kernel.org and
> > the net maintainers to be merged via the net tree. Otherwise it'll
> > have to wait until 6.18-rc1 is out
>
> If only we had a maintainers entry that makes people automatically
> CC both lists, eh? :\

FWIW that was the intention behind this patch I sent:

https://lore.kernel.org/netdev/20250821025620.552728-1-almasrymina@google.com/

I didn't get any feedback on it; I assumed people are not interested
(enough). Let me know if you want me to press the issue and send a
non-RFC version.

Although that one made sure that the changes are sent to net, only. I
guess I could add the io_uring list to the L entries.


--
Thanks,
Mina
Re: [External] Re: [PATCH net-next] io_uring/zcrx: fix ifq->if_rxq is -1, get dma_dev is NULL
Posted by Feng Zhou 2 weeks, 6 days ago
在 2025/9/12 20:40, Pavel Begunkov 写道:
> On 9/12/25 09:39, Feng zhou wrote:
>> From: Feng Zhou <zhoufeng.zf@bytedance.com>
>>
>> ifq->if_rxq has not been assigned, is -1, the correct value is
>> in reg.if_rxq.
> 
> Good catch. Note that the blamed patch was merged via the net tree
> this time around to avoid conflicts, and the io_uring tree doesn't
> have it yet. You can repost it adding netdev@vger.kernel.org and
> the net maintainers to be merged via the net tree. Otherwise it'll
> have to wait until 6.18-rc1 is out

Thanks for reminding, will do.

> 
>> Fixes: 59b8b32ac8d469958936fcea781c7f58e3d64742 ("io_uring/zcrx: add 
>> support for custom DMA devices")
>> Signed-off-by: Feng Zhou <zhoufeng.zf@bytedance.com>
>> ---
>>   io_uring/zcrx.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/io_uring/zcrx.c b/io_uring/zcrx.c
>> index 319eddfd30e0..3639283c87ca 100644
>> --- a/io_uring/zcrx.c
>> +++ b/io_uring/zcrx.c
>> @@ -600,7 +600,7 @@ int io_register_zcrx_ifq(struct io_ring_ctx *ctx,
>>           goto err;
>>       }
>> -    ifq->dev = netdev_queue_get_dma_dev(ifq->netdev, ifq->if_rxq);
>> +    ifq->dev = netdev_queue_get_dma_dev(ifq->netdev, reg.if_rxq);
>>       if (!ifq->dev) {
>>           ret = -EOPNOTSUPP;
>>           goto err;
>