Skip to content

Commit f1f1fad

Browse files
Johannes Thumshirnmartinkpetersen
authored andcommitted
scsi: sd: don't crash the host on invalid commands
When sd_init_command() get's a command with a unknown req_op() it crashes the system via BUG(). This makes debugging the actual reason for the broken request cmd_flags pretty hard as the system is down before it's able to write out debugging data on the serial console or the trace buffer. Change the BUG() to a WARN_ON() and return BLKPREP_KILL to fail gracefully and return an I/O error to the producer of the request. Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de> Cc: Hannes Reinecke <hare@suse.de> Cc: Bart Van Assche <bvanassche@acm.org> Cc: Christoph Hellwig <hch@lst.de> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent 318ddb3 commit f1f1fad

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

drivers/scsi/sd.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1276,7 +1276,8 @@ static int sd_init_command(struct scsi_cmnd *cmd)
12761276
case REQ_OP_ZONE_RESET:
12771277
return sd_zbc_setup_reset_cmnd(cmd);
12781278
default:
1279-
BUG();
1279+
WARN_ON_ONCE(1);
1280+
return BLKPREP_KILL;
12801281
}
12811282
}
12821283

0 commit comments

Comments
 (0)