Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp12772imm; Tue, 31 Jul 2018 12:54:13 -0700 (PDT) X-Google-Smtp-Source: AAOMgpekLFHcL2/eHaZ3fzjnQw7TrWIaCezYvgYOm+6fpC+mBOnWdU1GPh/nNTC2v+9U/aY7kjtB X-Received: by 2002:a65:6104:: with SMTP id z4-v6mr21629065pgu.361.1533066853185; Tue, 31 Jul 2018 12:54:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533066853; cv=none; d=google.com; s=arc-20160816; b=xdHMUsa3tPAv0qwCRSIqdlbXZY/kkvqCRI99FChSCtN82Sp7iFHD54BzAoGdqAVBUV LV9v9ZfCRuPYa6hmpRh+zfhkAHEM8KIw3dO4g1OeGXkI2q4jkAZ5vcsxMfl687wc3Mzh klIhzJhfyGzPX/AOxhXiGJ1ZHpJcyG+SBuJHOj+I4AEXcSGLiVipSg1whwL5OWZToExw GZN5KoprjviQPjR5ZKhWzj6VQ0m/bH++LZ+yBO3Tu1ZkrI/RvpZcznYsSj1jnZW0lXNx N1MZXh4Hycjwlx33HVb525Rp7nPAxM0frw5u/4ELQSIoYT8FJ1d3L6ks/Vtm3EWMnoxo DV3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=nqR6k1MB6wyRMVwrfWMrenBi6eb5HDL3f8RkW4PPP4Q=; b=qFGI5/19rj24i70/59Pia+Fi3qFTTe7Wl6QVgGVA+rVSxJArVn5LLsrztpDWYxP5u4 580NHDVxxogY+wZhC3QfHh1vdvawQPB6YicnoLgmIiyJXQSJfgI7CDcjDeAWp6HEdev1 WV6FCayILinEsQ8U+T8vgH0xnEz8qdqVKJVCwxziBk6vYHOGD4M0sYdLHhkVz18INbrF XKIbQmCkBxGfZlOBYN86HnBy3It00jotRrD0Z2EJiENn52+l4BHjgzuwjEGfyJXp8a0N QDpYIKY/j8WOtpGzxaZgzsygbd5kb4afYEdS1iSbGoZ4NDXLl2PbPHj3h3dTVNcnGgq9 IRtA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=mboo4uKK; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n10-v6si14949214pfb.316.2018.07.31.12.53.54; Tue, 31 Jul 2018 12:54:13 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=mboo4uKK; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732588AbeGaVeW (ORCPT + 99 others); Tue, 31 Jul 2018 17:34:22 -0400 Received: from mail-pg1-f193.google.com ([209.85.215.193]:37953 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732573AbeGaVeE (ORCPT ); Tue, 31 Jul 2018 17:34:04 -0400 Received: by mail-pg1-f193.google.com with SMTP id k3-v6so9598067pgq.5 for ; Tue, 31 Jul 2018 12:52:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=nqR6k1MB6wyRMVwrfWMrenBi6eb5HDL3f8RkW4PPP4Q=; b=mboo4uKK8mHUzXWzVnL44wPkHdoUh2DoObef4UPry7nWOk32vTLbVDfdEfPQicXW5H H9noud5bEa9RnJGkCaNJqAo1I/l6jd37xmZ5oG5LrJ0HTHUJSnQnmnSv3BsyFSqmvPaW d3pO7Q2XmNcB+Tiaue5PoVO5HaQGwY72qZ/3Y= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=nqR6k1MB6wyRMVwrfWMrenBi6eb5HDL3f8RkW4PPP4Q=; b=GuceYzH5add1fcySR9qdJ/j07p+rFDBm+7PMRU9ynMASQ4Bli55MBlMJ3qMse3ha2p /UATAfW5bB+QHU3ssSEsKQBJOPAXpwgiLLCpLkGXveG6QFTTf35lmo8uL8YjPQnbMBLC 6o5ovWP7ctmhGT28K7jilJ21TRyf/i9yB+QVk+/r/mG2WEt/oitHjZCLvsAH6Cne0S6R lF2tV8Y6KgxYkR+7WnAQ/FJpofWdU/6LG1LspPzyo5KnUx0i5GNNyjJTQYM26O0ATQFd VMSD+5YZPvgpoSSthjMt6kCQKtQhKR6K+OWkM8+Y4VL6t2rnFl4miarNmYNLfc5eeV+j lwpA== X-Gm-Message-State: AOUpUlGKgNWk0fX4AOnWJEEqiZ0zaGxY1H5u5++As0R68LG8hL8+vdNh 48CQ4M9TMkmgLYmyRp9o4Nk0OA== X-Received: by 2002:a65:6343:: with SMTP id p3-v6mr21983982pgv.48.1533066731061; Tue, 31 Jul 2018 12:52:11 -0700 (PDT) Received: from www.outflux.net (173-164-112-133-Oregon.hfc.comcastbusiness.net. [173.164.112.133]) by smtp.gmail.com with ESMTPSA id s3-v6sm43338921pfg.2.2018.07.31.12.52.06 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 31 Jul 2018 12:52:07 -0700 (PDT) From: Kees Cook To: Jens Axboe Cc: Kees Cook , Christoph Hellwig , "Martin K. Petersen" , "James E.J. Bottomley" , Tejun Heo , Borislav Petkov , "David S. Miller" , "Manoj N. Kumar" , "Matthew R. Ochs" , Uma Krishnan , "Nicholas A. Bellinger" , Thomas Gleixner , Philippe Ombredanne , Stephen Boyd , Cyrille Pitchen , Juergen Gross , Viresh Kumar , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Sagar Dharia , Randy Dunlap , Vinod Koul , David Kershner , linux-block@vger.kernel.org, linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org, target-devel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 7/9] cdrom: Use struct scsi_sense_hdr internally Date: Tue, 31 Jul 2018 12:51:52 -0700 Message-Id: <20180731195155.46664-8-keescook@chromium.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180731195155.46664-1-keescook@chromium.org> References: <20180731195155.46664-1-keescook@chromium.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This removes more casts of struct request_sense and uses the standard struct scsi_sense_hdr instead. This also fixes any possible stale values since the prior code did not check the sense length. Signed-off-by: Kees Cook --- drivers/block/Kconfig | 2 +- drivers/cdrom/cdrom.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig index ad9b687a236a..d4913516823f 100644 --- a/drivers/block/Kconfig +++ b/drivers/block/Kconfig @@ -74,12 +74,12 @@ config AMIGA_Z2RAM config CDROM tristate + select BLK_SCSI_REQUEST config GDROM tristate "SEGA Dreamcast GD-ROM drive" depends on SH_DREAMCAST select CDROM - select BLK_SCSI_REQUEST # only for the generic cdrom code help A standard SEGA Dreamcast comes with a modified CD ROM drive called a "GD-ROM" by SEGA to signify it is capable of reading special disks diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c index 3522d2cae1b6..e547213239dc 100644 --- a/drivers/cdrom/cdrom.c +++ b/drivers/cdrom/cdrom.c @@ -282,6 +282,7 @@ #include #include #include +#include #include /* used to tell the module to turn on full debugging messages */ @@ -2222,9 +2223,12 @@ static int cdrom_read_cdda_bpc(struct cdrom_device_info *cdi, __u8 __user *ubuf, blk_execute_rq(q, cdi->disk, rq, 0); if (scsi_req(rq)->result) { - struct request_sense *s = req->sense; + struct scsi_sense_hdr sshdr; + ret = -EIO; - cdi->last_sense = s->sense_key; + scsi_normalize_sense(req->sense, req->sense_len, + &sshdr); + cdi->last_sense = sshdr.sense_key; } if (blk_rq_unmap_user(bio)) -- 2.17.1