Re: [PATCH 2/2] sbitmapq: Limit kernels without sbitmap again

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Lianbo,

My apologies, please ignore this orphan patch.

It looks like the list system dropped one of the patchset again
for some reason.  Will resend them another way..

Thanks,
Kazu

On 2022/06/10 16:44, Kazuhito Hagio wrote:
> commit 364b2e413c69 ("sbitmapq: remove struct and member validation
> in sbitmapq_init()") lifted the use of the "sbitmapq" command
> unconditionally.  Without the patch, the command fails with the
> following error on kernels without sbitmap:
> 
>    crash> sbitmapq ffff88015796e550
>    
>    sbitmapq: invalid structure member offset: sbitmap_queue_sb
>              FILE: sbitmap.c  LINE: 385  FUNCTION: sbitmap_queue_context_load()
> 
> Now the command supports Linux 4.9 and later kernels since it was
> abstracted out, so it can be limited by the non-existence of the
> sbitmap structure.
> 
> Signed-off-by: Kazuhito Hagio <k-hagio-ab@xxxxxxx>
> ---
>   sbitmap.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/sbitmap.c b/sbitmap.c
> index be5d30a8ea88..12d6512a1e4d 100644
> --- a/sbitmap.c
> +++ b/sbitmap.c
> @@ -540,6 +540,10 @@ void sbitmapq_init(void)
>   	STRUCT_SIZE_INIT(sbitmap_queue, "sbitmap_queue");
>   	STRUCT_SIZE_INIT(sbq_wait_state, "sbq_wait_state");
>   
> +	/* sbitmap was abstracted out by commit 88459642cba4 on Linux 4.9. */
> +	if (INVALID_SIZE(sbitmap))
> +		command_not_supported();
> +
>   	MEMBER_OFFSET_INIT(sbitmap_word_depth, "sbitmap_word", "depth");
>   	MEMBER_OFFSET_INIT(sbitmap_word_word, "sbitmap_word", "word");
>   	MEMBER_OFFSET_INIT(sbitmap_word_cleared, "sbitmap_word", "cleared");
--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/crash-utility
Contribution Guidelines: https://github.com/crash-utility/crash/wiki




[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux