* [PATCH net v2] net: ena: set admin device pointer before queue allocations
@ 2026-11-14 6:56 Avi Weiss
2026-11-15 9:45 ` Kiyanovski, Arthur
0 siblings, 1 reply; 2+ messages in thread
From: Avi Weiss @ 2026-11-14 6:56 UTC (permalink / raw)
To: netdev
Cc: akiyano, darinzon, andrew+netdev, davem, edumazet, kuba, pabeni,
atrwajee, Avi Weiss
From: Wajeeh Atrash <atrwajee@amazon.com>
On the first probe, ena_com_admin_init() allocates the completion
contexts and admin SQ/CQ buffers before setting admin_queue->ena_dev.
Their allocation failure paths log through this pointer, which is
still NULL. A failed allocation therefore dereferences NULL instead
of returning -ENOMEM.
Set admin_queue->ena_dev before the first allocation so the helpers
can log errors and return -ENOMEM normally.
This issue has already been fixed in Amazon's standalone ENA driver
(commit 7d1dc4341d4f).
Fixes: da580ca8de2c ("net: ena: add device distinct log prefix to files")
Signed-off-by: Wajeeh Atrash <atrwajee@amazon.com>
Signed-off-by: Avi Weiss <thnkslprpt@gmail.com>
---
v2:
- target net instead of net-next
- credit Wajeeh Atrash as the author and add his Signed-off-by
- place the ena_dev assignment directly above q_dmadev
drivers/net/ethernet/amazon/ena/ena_com.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/amazon/ena/ena_com.c b/drivers/net/ethernet/amazon/ena/ena_com.c
index 297fb36ab8c16..9b14cddf4432e 100644
--- a/drivers/net/ethernet/amazon/ena/ena_com.c
+++ b/drivers/net/ethernet/amazon/ena/ena_com.c
@@ -1992,6 +1992,7 @@ int ena_com_admin_init(struct ena_com_dev *ena_dev,
admin_queue->q_depth = ENA_ADMIN_QUEUE_DEPTH;
+ admin_queue->ena_dev = ena_dev;
admin_queue->q_dmadev = ena_dev->dmadev;
admin_queue->polling = false;
admin_queue->curr_cmd_id = 0;
@@ -2045,7 +2046,6 @@ int ena_com_admin_init(struct ena_com_dev *ena_dev,
if (ret)
goto error;
- admin_queue->ena_dev = ena_dev;
admin_queue->running_state = true;
return 0;
base-commit: 070411c1590c8172eb4d86f045d99c372f22fe23
--
2.43.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* RE: [PATCH net v2] net: ena: set admin device pointer before queue allocations
2026-11-14 6:56 [PATCH net v2] net: ena: set admin device pointer before queue allocations Avi Weiss
@ 2026-11-15 9:45 ` Kiyanovski, Arthur
0 siblings, 0 replies; 2+ messages in thread
From: Kiyanovski, Arthur @ 2026-11-15 9:45 UTC (permalink / raw)
To: Avi Weiss, netdev@vger.kernel.org
Cc: Arinzon, David, andrew+netdev@lunn.ch, davem@davemloft.net,
edumazet@kernel.org, kuba@kernel.org, pabeni@redhat.com,
Atrash, Wajeeh, Brandes, Shai
> -----Original Message-----
> From: Avi Weiss <thnkslprpt@gmail.com>
> Sent: Friday, November 13, 2026 10:56 PM
> To: netdev@vger.kernel.org
> Cc: Kiyanovski, Arthur <akiyano@amazon.com>; Arinzon, David
> <darinzon@amazon.com>; andrew+netdev@lunn.ch; davem@davemloft.net;
> edumazet@kernel.org; kuba@kernel.org; pabeni@redhat.com; Atrash,
> Wajeeh <atrwajee@amazon.com>; Avi Weiss <thnkslprpt@gmail.com>
> Subject: [EXTERNAL] [PATCH net v2] net: ena: set admin device pointer before
> queue allocations
>
> CAUTION: This email originated from outside of the organization. Do not click
> links or open attachments unless you can confirm the sender and know the
> content is safe.
>
>
>
> From: Wajeeh Atrash <atrwajee@amazon.com>
>
> On the first probe, ena_com_admin_init() allocates the completion
> contexts and admin SQ/CQ buffers before setting admin_queue->ena_dev.
> Their allocation failure paths log through this pointer, which is
> still NULL. A failed allocation therefore dereferences NULL instead
> of returning -ENOMEM.
>
> Set admin_queue->ena_dev before the first allocation so the helpers
> can log errors and return -ENOMEM normally.
>
> This issue has already been fixed in Amazon's standalone ENA driver
> (commit 7d1dc4341d4f).
>
> Fixes: da580ca8de2c ("net: ena: add device distinct log prefix to files")
> Signed-off-by: Wajeeh Atrash <atrwajee@amazon.com>
> Signed-off-by: Avi Weiss <thnkslprpt@gmail.com>
> ---
> v2:
> - target net instead of net-next
> - credit Wajeeh Atrash as the author and add his Signed-off-by
> - place the ena_dev assignment directly above q_dmadev
>
> drivers/net/ethernet/amazon/ena/ena_com.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/amazon/ena/ena_com.c
> b/drivers/net/ethernet/amazon/ena/ena_com.c
> index 297fb36ab8c16..9b14cddf4432e 100644
> --- a/drivers/net/ethernet/amazon/ena/ena_com.c
> +++ b/drivers/net/ethernet/amazon/ena/ena_com.c
> @@ -1992,6 +1992,7 @@ int ena_com_admin_init(struct ena_com_dev
> *ena_dev,
>
> admin_queue->q_depth = ENA_ADMIN_QUEUE_DEPTH;
>
> + admin_queue->ena_dev = ena_dev;
> admin_queue->q_dmadev = ena_dev->dmadev;
> admin_queue->polling = false;
> admin_queue->curr_cmd_id = 0;
> @@ -2045,7 +2046,6 @@ int ena_com_admin_init(struct ena_com_dev
> *ena_dev,
> if (ret)
> goto error;
>
> - admin_queue->ena_dev = ena_dev;
> admin_queue->running_state = true;
>
> return 0;
>
> base-commit: 070411c1590c8172eb4d86f045d99c372f22fe23
> --
> 2.43.0
Reviewed-by: Arthur Kiyanovski <akiyano@amazon.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-15 9:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-14 6:56 [PATCH net v2] net: ena: set admin device pointer before queue allocations Avi Weiss
2026-11-15 9:45 ` Kiyanovski, Arthur
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox