Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1055183pxb; Thu, 4 Mar 2021 01:58:03 -0800 (PST) X-Google-Smtp-Source: ABdhPJyPVlb+GkSNHD58cOd+JSPKUlmlhooqUy2gJjguhE18slCzI+FHum8ZnOPmlxtj00nlV4i5 X-Received: by 2002:a05:6402:5250:: with SMTP id t16mr3413388edd.302.1614851883383; Thu, 04 Mar 2021 01:58:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614851883; cv=none; d=google.com; s=arc-20160816; b=tINR+ihgAJkA05jVR9Be5jgnIQCyAzjz4Gq7y01HDHfXT/AyhlwQa+jcEMkC4ayA7j 2o/15DRz4hl878GMjNCoqxIXLRJFvvDpiNLy2nNtMF8f0peFAX9vw0FUO+J5qlD+IjJk pq+fnIpMoEg1mUXF2DJyIQ6XYgzia8fEkn20BMdCB62vaQMf3Vgv6ggE+Ia37PdiSLWk OdmqwJIOi6Y+cOu6ypmaCYvPLLAlFvgQU+qy0vXpQ5ZhkguQ2IdTKuqM0qdJmVjoW8fR L9Xb+QB20bY/r57KjuK5P4m61/DCqwJ45v/kZHcG0Pb8xOVmjgL/pc9/pY3FleIIRVxu F60A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:message-id:subject:cc:to:from:date:dkim-signature; bh=XZsFqSQ50liVCZbNlbeb8g8IToLinTVb61e+knYF4S0=; b=gpgzDp2PmAyfvnqVvv9wA7WuVBwlTvKqeUARTHpSHkSm6oxPEd7AulREOwOn2m53Qa QNrLJkBKbeQgZBZy8eShWlnKJPwKmCoGJkZdLEMmC/On5byoMKGkC+fIdqbJJoDZhGzw n3GZkUUnrcMl1X5wj2pEF7Ta5e7F1MvZ9gIecDMHv81tLKnv1SFIkPjBJoLFCQludr9H dg27jTAsxMB9Dx8o3MQHP8i9K4Ld29qJ9tLVT6ihS+ho/UmM6T7pdTL8a5w5oUliB9vQ qs9oM5OmtlBB/MOhZVkhDuU6e/lknXzitb4FE6vSXPZvFNCh01MsU3VcQ842FZJDFWZ0 Ylrg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=c9XoJVjF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a7si16566614edy.54.2021.03.04.01.57.39; Thu, 04 Mar 2021 01:58:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=c9XoJVjF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1452550AbhCCPvy (ORCPT + 99 others); Wed, 3 Mar 2021 10:51:54 -0500 Received: from userp2120.oracle.com ([156.151.31.85]:55210 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1350011AbhCCLAZ (ORCPT ); Wed, 3 Mar 2021 06:00:25 -0500 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 123AwrsY076562; Wed, 3 Mar 2021 10:59:31 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : mime-version : content-type : in-reply-to; s=corp-2020-01-29; bh=XZsFqSQ50liVCZbNlbeb8g8IToLinTVb61e+knYF4S0=; b=c9XoJVjFMHOZ4VuStylJmiwj6eCiI4mHM8oJX7iw6pmKgw2wq4oD6w2l7h1LEUlWaGwM Ql9YvoRdenYgl4D6h6/O3d3UjQ2qUPP6rT4DHTJAHADaSkJS7DCebaamXjEP0jssHqdq X6zKrL7Z9wrDzG1lpusko6M35PjYd1z7phvTnSZAsl8Gqaj9J+K/2H8ISmMsR0ATJauS KC1DAJcdpT2Kc5294P1opDCMIovl1oy1TrfWy5rU0XoxcbFoUCEM9GtOhUx7Ay6/1KUW b7140MDB3ulgjdL/amAYLMB6JCCUOuMmDQLfcZ7ksXib2BcJ7h6UGLVWg1JPlTBZE++5 QA== Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by userp2120.oracle.com with ESMTP id 36yeqn2w1w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 03 Mar 2021 10:59:31 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 123At2RW117974; Wed, 3 Mar 2021 10:59:30 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3030.oracle.com with ESMTP id 36yynqdbbj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 03 Mar 2021 10:59:30 +0000 Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 123AxLCf023593; Wed, 3 Mar 2021 10:59:24 GMT Received: from kadam (/102.36.221.92) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 03 Mar 2021 02:59:21 -0800 Date: Wed, 3 Mar 2021 13:59:12 +0300 From: Dan Carpenter To: Joshua Morris , Philip Kelleher Cc: Jens Axboe , linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org Subject: [PATCH RESEND] rsxx: Return -EFAULT if copy_to_user() fails Message-ID: <20210303105912.GZ2222@kadam> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200610172359.GB90634@mwanda> X-Mailer: git-send-email haha only kidding User-Agent: Mutt/1.9.4 (2018-02-28) X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9911 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 spamscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2103030084 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9911 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 lowpriorityscore=0 clxscore=1011 priorityscore=1501 mlxlogscore=999 suspectscore=0 malwarescore=0 impostorscore=0 bulkscore=0 adultscore=0 mlxscore=0 phishscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2103030085 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The copy_to_user() function returns the number of bytes remaining but we want to return -EFAULT to the user if it can't complete the copy. The "st" variable only holds zero on success or negative error codes on failure so the type should be int. Fixes: 36f988e978f8 ("rsxx: Adding in debugfs entries.") Signed-off-by: Dan Carpenter --- I sent this last June as part of a 2 patch series. No one responded to the patches. The first patch was a NULL derefence fix but I now think that the correct fix for that is to remove the "enable_blkdev" module option... Anyway, this patch is uncontroversial so I'm going to resend it. drivers/block/rsxx/core.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/block/rsxx/core.c b/drivers/block/rsxx/core.c index 6207449fa716f..558fa263acbc0 100644 --- a/drivers/block/rsxx/core.c +++ b/drivers/block/rsxx/core.c @@ -165,15 +165,17 @@ static ssize_t rsxx_cram_read(struct file *fp, char __user *ubuf, { struct rsxx_cardinfo *card = file_inode(fp)->i_private; char *buf; - ssize_t st; + int st; buf = kzalloc(cnt, GFP_KERNEL); if (!buf) return -ENOMEM; st = rsxx_creg_read(card, CREG_ADD_CRAM + (u32)*ppos, cnt, buf, 1); - if (!st) - st = copy_to_user(ubuf, buf, cnt); + if (!st) { + if (copy_to_user(ubuf, buf, cnt)) + st = -EFAULT; + } kfree(buf); if (st) return st; -- 2.26.2