From b237aeff41840f0c7968d02ed3d461fa9fa8fb70 Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Fri, 8 Mar 2024 20:57:26 +0100 Subject: [PATCH] tests: shell: add regression test for double-free crash bug BUG: KASAN: slab-use-after-free in nf_tables_set_elem_destroy+0x55/0x160 Call Trace: nf_tables_set_elem_destroy+0x55/0x160 nf_tables_set_elem_destroy+0x55/0x160 nft_pipapo_destroy+0x3b4/0x5a0 nft_set_destroy+0x118/0x3a0 nf_tables_trans_destroy_work+0x4f2/0xa80 This is a test case for the bug fiex with kernel commit b0e256f3dd2b ("netfilter: nft_set_pipapo: release elements in clone only from destroy path"). Reported-by: lonial con Signed-off-by: Florian Westphal --- .../testcases/transactions/concat_range_abort | 28 +++++++++++ .../dumps/concat_range_abort.json-nft | 47 +++++++++++++++++++ .../transactions/dumps/concat_range_abort.nft | 8 ++++ 3 files changed, 83 insertions(+) create mode 100755 tests/shell/testcases/transactions/concat_range_abort create mode 100644 tests/shell/testcases/transactions/dumps/concat_range_abort.json-nft create mode 100644 tests/shell/testcases/transactions/dumps/concat_range_abort.nft diff --git a/tests/shell/testcases/transactions/concat_range_abort b/tests/shell/testcases/transactions/concat_range_abort new file mode 100755 index 00000000..b2bbe37b --- /dev/null +++ b/tests/shell/testcases/transactions/concat_range_abort @@ -0,0 +1,28 @@ +#!/bin/bash + +# NFT_TEST_REQUIRES(NFT_TEST_HAVE_pipapo) + +set -e + +$NFT -f /dev/stdin <