mirror of
https://github.com/crash-utility/crash
synced 2024-12-11 19:54:34 +00:00
sbitmapq: Limit kernels without sbitmap again
commit 364b2e413c
("sbitmapq: remove struct and member validation
in sbitmapq_init()") allowed 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@nec.com>
This commit is contained in:
parent
6bc3b74c6e
commit
b8f2ae6b49
@ -540,6 +540,10 @@ void sbitmapq_init(void)
|
|||||||
STRUCT_SIZE_INIT(sbitmap_queue, "sbitmap_queue");
|
STRUCT_SIZE_INIT(sbitmap_queue, "sbitmap_queue");
|
||||||
STRUCT_SIZE_INIT(sbq_wait_state, "sbq_wait_state");
|
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_depth, "sbitmap_word", "depth");
|
||||||
MEMBER_OFFSET_INIT(sbitmap_word_word, "sbitmap_word", "word");
|
MEMBER_OFFSET_INIT(sbitmap_word_word, "sbitmap_word", "word");
|
||||||
MEMBER_OFFSET_INIT(sbitmap_word_cleared, "sbitmap_word", "cleared");
|
MEMBER_OFFSET_INIT(sbitmap_word_cleared, "sbitmap_word", "cleared");
|
||||||
|
Loading…
Reference in New Issue
Block a user