OSDN Git Service

lkdtm: replace SCSI_DISPATCH_CMD with SCSI_QUEUE_RQ
authorKevin Mitchell <kevmitch@arista.com>
Thu, 19 Aug 2021 02:29:39 +0000 (19:29 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Aug 2021 05:40:22 +0000 (07:40 +0200)
commitd1f278da6b11585f05b2755adfc8851cbf14a1ec
tree0a9da526156ec396883436b917e8590644f76c77
parent5353dd72f99207e8118a766847df8d60bb559940
lkdtm: replace SCSI_DISPATCH_CMD with SCSI_QUEUE_RQ

When scsi_dispatch_cmd was moved to scsi_lib.c and made static, some
compilers (i.e., at least gcc 8.4.0) decided to compile this
inline. This is a problem for lkdtm.ko, which inserted a kprobe
on this function for the SCSI_DISPATCH_CMD crashpoint.

Move this crashpoint one function up the call chain to
scsi_queue_rq. Though this is also a static function, it should never be
inlined because it is assigned as a structure entry. Therefore,
kprobe_register should always be able to find it.

Fixes: 82042a2cdb55 ("scsi: move scsi_dispatch_cmd to scsi_lib.c")
Acked-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Kevin Mitchell <kevmitch@arista.com>
Link: https://lore.kernel.org/r/20210819022940.561875-2-kevmitch@arista.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/fault-injection/provoke-crashes.rst
drivers/misc/lkdtm/core.c