Re: [PATCH 6/6] scsi: Check sense buffer size at build time

From: Christoph Hellwig
Date: Thu May 24 2018 - 09:19:21 EST


> +/* Make sure any sense buffer is the correct size. */
> +#define scsi_execute(sdev, cmd, data_direction, buffer, bufflen, sense, \
> + sshdr, timeout, retries, flags, rq_flags, resid) \
> +({ \
> + BUILD_BUG_ON((sense) != NULL && \
> + sizeof(sense) != SCSI_SENSE_BUFFERSIZE); \
> + __scsi_execute(sdev, cmd, data_direction, buffer, bufflen, \
> + sense, sshdr, timeout, retries, flags, rq_flags, \
> + resid); \
> +})

This macro gets evaluated in the scsi_execute_req inline function just
below. So either we need to include scsi_sense.h/scsi_common.h in
scsi_device.h, or just move scsi_execute_req out of line. The latter
sounds better to me a it's not really used in a fast path.