diff options
author | Daniel Borkmann <daniel@iogearbox.net> | 2015-02-20 21:14:21 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-02-20 16:33:30 -0500 |
commit | b7f5e5c7f8cedf6b69c9702d448cdf78ffc45c7b (patch) | |
tree | 7095dd91e8b9ff77264951ac27f1f756e9622bf5 | |
parent | bf60e50cb3ed50ae536f7655c8af1acda137ea5b (diff) | |
download | linux-rpi-b7f5e5c7f8cedf6b69c9702d448cdf78ffc45c7b.tar.gz linux-rpi-b7f5e5c7f8cedf6b69c9702d448cdf78ffc45c7b.tar.bz2 linux-rpi-b7f5e5c7f8cedf6b69c9702d448cdf78ffc45c7b.zip |
rhashtable: don't allocate ht structure on stack in test_rht_init
With object runtime debugging enabled, the rhashtable test suite
will rightfully throw a warning "ODEBUG: object is on stack, but
not annotated" from rhashtable_init().
This is because run_work is (correctly) being initialized via
INIT_WORK(), and not annotated by INIT_WORK_ONSTACK(). Meaning,
rhashtable_init() is okay as is, we just need to move ht e.g.,
into global scope.
It never triggered anything, since test_rhashtable is rather a
controlled environment and effectively runs to completion, so
that stack memory is not vanishing underneath us, we shouldn't
confuse any testers with it though.
Fixes: 7e1e77636e36 ("lib: Resizable, Scalable, Concurrent Hash Table")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | lib/test_rhashtable.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/test_rhashtable.c b/lib/test_rhashtable.c index 1dfeba73fc74..f6ce291b68e7 100644 --- a/lib/test_rhashtable.c +++ b/lib/test_rhashtable.c @@ -191,9 +191,10 @@ error: return err; } +static struct rhashtable ht; + static int __init test_rht_init(void) { - struct rhashtable ht; struct rhashtable_params params = { .nelem_hint = TEST_HT_SIZE, .head_offset = offsetof(struct test_obj, node), |