--- x/lib/rhashtable.c +++ y/lib/rhashtable.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -1082,7 +1083,10 @@ int rhashtable_init_noprof(struct rhasht RCU_INIT_POINTER(ht->tbl, tbl); - INIT_WORK(&ht->run_work, rht_deferred_worker); + if (object_is_on_stack(&ht->run_work)) + INIT_WORK_ONSTACK(&ht->run_work, rht_deferred_worker); + else + INIT_WORK(&ht->run_work, rht_deferred_worker); return 0; }