mbox series

[v2,0/9] block: Consolidate scsi sense buffer usage

Message ID 20180731195155.46664-1-keescook@chromium.org (mailing list archive)
Headers show
Series block: Consolidate scsi sense buffer usage | expand

Message

Kees Cook July 31, 2018, 7:51 p.m. UTC
This is a follow-up to commit f7068114d45e ("sr: pass down correctly
sized SCSI sense buffer") which further cleans up and removes needless
sense character array buffers and "struct request_sense" usage in favor
of the common "struct scsi_sense_hdr".

First, drop a bunch of unused sense buffers:
 [PATCH 1/9] ide-cd: Drop unused sense buffers
 [PATCH 2/9] scsi: cxlflash: Drop unused sense buffers

Next, allow the sense buffer to be usable outside SCSI tree:
 [PATCH 3/9] scsi: build scsi_common.o for all scsi passthrough request users
 [PATCH 4/9] target: don't depend on SCSI

Then move all request_sense usage to scsi_sense_hdr:
 [PATCH 5/9] block: Switch struct packet_command to use struct scsi_sense_hdr

And do some further cleanups for scsi_sense_hdr now that we can:
 [PATCH 6/9] ide-cd: Remove redundant sense buffer
 [PATCH 7/9] cdrom: Use struct scsi_sense_hdr internally

Finally add a build-time check to make sure we don't pass bad buffer sizes:
 [PATCH 8/9] libata-scsi: Move sense buffers onto stack
 [PATCH 9/9] scsi: Check sense buffer size at build time


-Kees

Christoph Hellwig (2):
  scsi: build scsi_common.o for all scsi passthrough request users
  target: don't depend on SCSI

Kees Cook (7):
  ide-cd: Drop unused sense buffers
  scsi: cxlflash: Drop unused sense buffers
  block: Switch struct packet_command to use struct scsi_sense_hdr
  ide-cd: Remove redundant sense buffer
  cdrom: Use struct scsi_sense_hdr internally
  libata-scsi: Move sense buffers onto stack
  scsi: Check sense buffer size at build time

 drivers/Makefile                  |  2 +-
 drivers/ata/libata-scsi.c         | 18 +++------
 drivers/block/Kconfig             |  2 +-
 drivers/block/pktcdvd.c           | 36 +++++++++---------
 drivers/cdrom/cdrom.c             | 30 ++++++++-------
 drivers/ide/ide-cd.c              | 58 ++++++++++++++---------------
 drivers/ide/ide-cd.h              |  6 +--
 drivers/ide/ide-cd_ioctl.c        | 62 +++++++++++++------------------
 drivers/scsi/Makefile             |  2 +-
 drivers/scsi/cxlflash/superpipe.c |  8 +---
 drivers/scsi/cxlflash/vlun.c      |  7 +---
 drivers/scsi/scsi_lib.c           |  6 +--
 drivers/scsi/sr_ioctl.c           | 22 +++++------
 drivers/target/Kconfig            |  5 ++-
 include/linux/cdrom.h             |  3 +-
 include/scsi/scsi_cmnd.h          |  6 +--
 include/scsi/scsi_device.h        | 14 ++++++-
 17 files changed, 136 insertions(+), 151 deletions(-)

Comments

Martin K. Petersen Aug. 2, 2018, 8:21 p.m. UTC | #1
Kees,

> This is a follow-up to commit f7068114d45e ("sr: pass down correctly
> sized SCSI sense buffer") which further cleans up and removes needless
> sense character array buffers and "struct request_sense" usage in favor
> of the common "struct scsi_sense_hdr".

This looks good to me.

Acked-by: Martin K. Petersen <martin.petersen@oracle.com>
Jens Axboe Aug. 2, 2018, 9:24 p.m. UTC | #2
On 7/31/18 1:51 PM, Kees Cook wrote:
> This is a follow-up to commit f7068114d45e ("sr: pass down correctly
> sized SCSI sense buffer") which further cleans up and removes needless
> sense character array buffers and "struct request_sense" usage in favor
> of the common "struct scsi_sense_hdr".
> 
> First, drop a bunch of unused sense buffers:
>  [PATCH 1/9] ide-cd: Drop unused sense buffers
>  [PATCH 2/9] scsi: cxlflash: Drop unused sense buffers
> 
> Next, allow the sense buffer to be usable outside SCSI tree:
>  [PATCH 3/9] scsi: build scsi_common.o for all scsi passthrough request users
>  [PATCH 4/9] target: don't depend on SCSI
> 
> Then move all request_sense usage to scsi_sense_hdr:
>  [PATCH 5/9] block: Switch struct packet_command to use struct scsi_sense_hdr
> 
> And do some further cleanups for scsi_sense_hdr now that we can:
>  [PATCH 6/9] ide-cd: Remove redundant sense buffer
>  [PATCH 7/9] cdrom: Use struct scsi_sense_hdr internally
> 
> Finally add a build-time check to make sure we don't pass bad buffer sizes:
>  [PATCH 8/9] libata-scsi: Move sense buffers onto stack
>  [PATCH 9/9] scsi: Check sense buffer size at build time

Thanks Kees, applied for 4.19. Note that I hand applied patch #5 and #9,
since they did not apply directly to the block tree.
Kees Cook Aug. 2, 2018, 9:56 p.m. UTC | #3
On Thu, Aug 2, 2018 at 2:24 PM, Jens Axboe <axboe@kernel.dk> wrote:
> On 7/31/18 1:51 PM, Kees Cook wrote:
>> This is a follow-up to commit f7068114d45e ("sr: pass down correctly
>> sized SCSI sense buffer") which further cleans up and removes needless
>> sense character array buffers and "struct request_sense" usage in favor
>> of the common "struct scsi_sense_hdr".
>>
>> First, drop a bunch of unused sense buffers:
>>  [PATCH 1/9] ide-cd: Drop unused sense buffers
>>  [PATCH 2/9] scsi: cxlflash: Drop unused sense buffers
>>
>> Next, allow the sense buffer to be usable outside SCSI tree:
>>  [PATCH 3/9] scsi: build scsi_common.o for all scsi passthrough request users
>>  [PATCH 4/9] target: don't depend on SCSI
>>
>> Then move all request_sense usage to scsi_sense_hdr:
>>  [PATCH 5/9] block: Switch struct packet_command to use struct scsi_sense_hdr
>>
>> And do some further cleanups for scsi_sense_hdr now that we can:
>>  [PATCH 6/9] ide-cd: Remove redundant sense buffer
>>  [PATCH 7/9] cdrom: Use struct scsi_sense_hdr internally
>>
>> Finally add a build-time check to make sure we don't pass bad buffer sizes:
>>  [PATCH 8/9] libata-scsi: Move sense buffers onto stack
>>  [PATCH 9/9] scsi: Check sense buffer size at build time
>
> Thanks Kees, applied for 4.19. Note that I hand applied patch #5 and #9,
> since they did not apply directly to the block tree.

Thanks; I appreciate that. I think I was based on v4.18-rc2 or something.

-Kees