Re: [PATCH v2] Add static_key_feature_checks_initialized flag
On Mon, 08 Apr 2024 05:23:58 +, Nicholas Miehlbradt wrote: > JUMP_LABEL_FEATURE_CHECK_DEBUG used static_key_intialized to determine > whether {cpu,mmu}_has_feature() is used before static keys were > initialized. However, {cpu,mmu}_has_feature() should not be used before > setup_feature_keys() is called but static_key_initialized is set well > before this by the call to jump_label_init() in early_init_devtree(). > This creates a window in which JUMP_LABEL_FEATURE_CHECK_DEBUG will not > detect misuse and report errors. Add a flag specifically to indicate > when {cpu,mmu}_has_feature() is safe to use. > > [...] Applied to powerpc/next. [1/1] Add static_key_feature_checks_initialized flag https://git.kernel.org/powerpc/c/676b2f99b0f6cd11193eeae13c976565c3fc7545 cheers
Re: [PATCH v2] Add static_key_feature_checks_initialized flag
Nicholas Miehlbradt writes: > JUMP_LABEL_FEATURE_CHECK_DEBUG used static_key_intialized to determine > whether {cpu,mmu}_has_feature() is used before static keys were > initialized. However, {cpu,mmu}_has_feature() should not be used before > setup_feature_keys() is called but static_key_initialized is set well > before this by the call to jump_label_init() in early_init_devtree(). > This creates a window in which JUMP_LABEL_FEATURE_CHECK_DEBUG will not > detect misuse and report errors. Add a flag specifically to indicate > when {cpu,mmu}_has_feature() is safe to use. I'm not sure it warrants a Fixes: tag, but it was commit ca829e05d3d4 ("powerpc/64: Init jump labels before parse_early_param()") which added the earlier call to jump_label_init() and created the window where the debug checks don't fire. cheers