Netdev List
 help / color / mirror / Atom feed
* [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