qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] hw/net/rocker: avoid NULL pointer dereference in of_dpa_cmd_add_l2_flood
@ 2022-06-24 14:39 Mauro Matteo Cascella
  2023-08-26 14:31 ` Mauro Matteo Cascella
  0 siblings, 1 reply; 7+ messages in thread
From: Mauro Matteo Cascella @ 2022-06-24 14:39 UTC (permalink / raw)
  To: qemu-devel; +Cc: mcascell, jiri, jasowang, arayz_w

rocker_tlv_parse_nested could return early because of no group ids in
the group_tlvs. In such case tlvs is NULL; tlvs[i + 1] in the next
for-loop will deref the NULL pointer.

Signed-off-by: Mauro Matteo Cascella <mcascell@redhat.com>
Reported-by: <arayz_w@icloud.com>
---
 hw/net/rocker/rocker_of_dpa.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/hw/net/rocker/rocker_of_dpa.c b/hw/net/rocker/rocker_of_dpa.c
index b3b8c5bb6d..1611b79227 100644
--- a/hw/net/rocker/rocker_of_dpa.c
+++ b/hw/net/rocker/rocker_of_dpa.c
@@ -2039,6 +2039,11 @@ static int of_dpa_cmd_add_l2_flood(OfDpa *of_dpa, OfDpaGroup *group,
     rocker_tlv_parse_nested(tlvs, group->l2_flood.group_count,
                             group_tlvs[ROCKER_TLV_OF_DPA_GROUP_IDS]);
 
+    if (!tlvs) {
+        err = -ROCKER_EINVAL;
+        goto err_out;
+    }
+
     for (i = 0; i < group->l2_flood.group_count; i++) {
         group->l2_flood.group_ids[i] = rocker_tlv_get_le32(tlvs[i + 1]);
     }
-- 
2.35.3



^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [PATCH] hw/net/rocker: avoid NULL pointer dereference in of_dpa_cmd_add_l2_flood
@ 2023-11-22 18:09 Michael Tokarev
  2023-11-22 18:16 ` Michael Tokarev
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Tokarev @ 2023-11-22 18:09 UTC (permalink / raw)
  To: mcascell, QEMU Developers

Did this lost this CVE-2022-36648 fix?

https://lists.nongnu.org/archive/html/qemu-devel/2022-06/msg04469.html

rocker_tlv_parse_nested could return early because of no group ids in
the group_tlvs. In such case tlvs is NULL; tlvs[i + 1] in the next
for-loop will deref the NULL pointer.

Signed-off-by: Mauro Matteo Cascella <mcascell@redhat.com>
Reported-by: <arayz_w@icloud.com>
---
  hw/net/rocker/rocker_of_dpa.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/hw/net/rocker/rocker_of_dpa.c b/hw/net/rocker/rocker_of_dpa.c
index b3b8c5bb6d..1611b79227 100644
--- a/hw/net/rocker/rocker_of_dpa.c
+++ b/hw/net/rocker/rocker_of_dpa.c
@@ -2039,6 +2039,11 @@ static int of_dpa_cmd_add_l2_flood(OfDpa *of_dpa,
OfDpaGroup *group,
      rocker_tlv_parse_nested(tlvs, group->l2_flood.group_count,
                              group_tlvs[ROCKER_TLV_OF_DPA_GROUP_IDS]);

+    if (!tlvs) {
+        err = -ROCKER_EINVAL;
+        goto err_out;
+    }
+
      for (i = 0; i < group->l2_flood.group_count; i++) {
          group->l2_flood.group_ids[i] = rocker_tlv_get_le32(tlvs[i + 1]);
      }
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-11-22 18:17 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-24 14:39 [PATCH] hw/net/rocker: avoid NULL pointer dereference in of_dpa_cmd_add_l2_flood Mauro Matteo Cascella
2023-08-26 14:31 ` Mauro Matteo Cascella
2023-08-27 11:07   ` Mauro Matteo Cascella
2023-08-28 16:11     ` Philippe Mathieu-Daudé
2023-08-29  8:41       ` Mauro Matteo Cascella
  -- strict thread matches above, loose matches on Subject: below --
2023-11-22 18:09 Michael Tokarev
2023-11-22 18:16 ` Michael Tokarev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).