Skip to content

Commit

Permalink
net: microchip: vcap: Fix use-after-free error in kunit test
Browse files Browse the repository at this point in the history
This is a clear use-after-free error. We remove it, and rely on checking
the return code of vcap_del_rule.

Reported-by: Dan Carpenter <error27@gmail.com>
Closes: https://lore.kernel.org/kernel-janitors/7bffefc6-219a-4f71-baa0-ad4526e5c198@kili.mountain/
Fixes: c956b9b ("net: microchip: sparx5: Adding KUNIT tests of key/action values in VCAP API")
Signed-off-by: Jens Emil Schulz Østergaard <jensemil.schulzostergaard@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Jens Emil Schulz Østergaard authored and David S. Miller committed Sep 2, 2024
1 parent 9b08742 commit a3c1e45
Showing 1 changed file with 2 additions and 12 deletions.
14 changes: 2 additions & 12 deletions drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c
Original file line number Diff line number Diff line change
Expand Up @@ -1442,18 +1442,8 @@ static void vcap_api_encode_rule_test(struct kunit *test)
vcap_enable_lookups(&test_vctrl, &test_netdev, 0, 0,
rule->cookie, false);

vcap_free_rule(rule);

/* Check that the rule has been freed: tricky to access since this
* memory should not be accessible anymore
*/
KUNIT_EXPECT_PTR_NE(test, NULL, rule);
ret = list_empty(&rule->keyfields);
KUNIT_EXPECT_EQ(test, true, ret);
ret = list_empty(&rule->actionfields);
KUNIT_EXPECT_EQ(test, true, ret);

vcap_del_rule(&test_vctrl, &test_netdev, id);
ret = vcap_del_rule(&test_vctrl, &test_netdev, id);
KUNIT_EXPECT_EQ(test, 0, ret);
}

static void vcap_api_set_rule_counter_test(struct kunit *test)
Expand Down

0 comments on commit a3c1e45

Please sign in to comment.