From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 24 May 2018 07:11:44 -0700 From: Christoph Hellwig To: Kees Cook Cc: Jens Axboe , "Martin K. Petersen" , James Bottomley , Tejun Heo , Borislav Petkov , "David S. Miller" , "Manoj N. Kumar" , "Matthew R. Ochs" , Uma Krishnan , linux-block@vger.kernel.org, linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 6/6] scsi: Check sense buffer size at build time Message-ID: <20180524141144.GA19629@infradead.org> References: <20180522181512.39316-1-keescook@chromium.org> <20180522181512.39316-7-keescook@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <20180522181512.39316-7-keescook@chromium.org> List-ID: > +/* 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.