Re: [PATCH v3] lib/test_rhashtable: Make test_insert_dup() allocate its hash table dynamically

From: Herbert Xu
Date: Thu Jan 31 2019 - 07:08:44 EST


On Wed, Jan 30, 2019 at 10:42:30AM -0800, Bart Van Assche wrote:
> The test_insert_dup() function from lib/test_rhashtable.c passes a
> pointer to a stack object to rhltable_init(). Allocate the hash table
> dynamically to avoid that the following is reported with object
> debugging enabled:
>
> ODEBUG: object (ptrval) is on stack (ptrval), but NOT annotated.
> WARNING: CPU: 0 PID: 1 at lib/debugobjects.c:368 __debug_object_init+0x312/0x480
> Modules linked in:
> EIP: __debug_object_init+0x312/0x480
> Call Trace:
> ? debug_object_init+0x1a/0x20
> ? __init_work+0x16/0x30
> ? rhashtable_init+0x1e1/0x460
> ? sched_clock_cpu+0x57/0xe0
> ? rhltable_init+0xb/0x20
> ? test_insert_dup+0x32/0x20f
> ? trace_hardirqs_on+0x38/0xf0
> ? ida_dump+0x10/0x10
> ? jhash+0x130/0x130
> ? my_hashfn+0x30/0x30
> ? test_rht_init+0x6aa/0xab4
> ? ida_dump+0x10/0x10
> ? test_rhltable+0xc5c/0xc5c
> ? do_one_initcall+0x67/0x28e
> ? trace_hardirqs_off+0x22/0xe0
> ? restore_all_kernel+0xf/0x70
> ? trace_hardirqs_on_thunk+0xc/0x10
> ? restore_all_kernel+0xf/0x70
> ? kernel_init_freeable+0x142/0x213
> ? rest_init+0x230/0x230
> ? kernel_init+0x10/0x110
> ? schedule_tail_wrapper+0x9/0xc
> ? ret_from_fork+0x19/0x24
>
> Cc: Thomas Graf <tgraf@xxxxxxx>
> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> Cc: netdev@xxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx>
> ---
>
> Changes compared to v2: fixed build error.
>
> Changes compared to v1: instead of modifying rhashtable_init(), modify its
> caller.
>
> lib/test_rhashtable.c | 23 +++++++++++++++--------
> 1 file changed, 15 insertions(+), 8 deletions(-)

Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt