Received: by 2002:a17:90a:88:0:0:0:0 with SMTP id a8csp53444pja; Fri, 22 Nov 2019 03:21:22 -0800 (PST) X-Google-Smtp-Source: APXvYqxidIW6QUxPVvk+GVM1vmJfNZeiSjeeGaKqcU9oj8LSBnINmY4Xd0vLwP6x5q9WWUyW90rc X-Received: by 2002:a50:d717:: with SMTP id t23mr392789edi.231.1574421682126; Fri, 22 Nov 2019 03:21:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574421682; cv=none; d=google.com; s=arc-20160816; b=f35gnOBop4swhhQ0fABaRM+8hLlLA4q1MUcd9P1GRShEcj9ZecM7EFuaSEq2NIvo/K azIHhvYbDxgPByekseqm2LAIh9NDG0eDazXwBQgKnhZ/Ci2QMZiXLsUgU8XcDlgo2DZ4 3EdMFED5QXwjhx/DrY7jOYkynwEGq51ZQ2YvZtz3W+3gc5qPJaGtan8Fr+6B97B8n6/a T/MVt/hmu5Uab4iBUEmtewr8B/P3pM/Ks5jntMoa31wMgW0bgEKooUk+u90kImPGdJsK oJrNrldpvBjW2mum5E/nSS/ljPSKyLCIglCE5WRJ31D3wHEO6i8BeO9Nc0Rj20fZPQoX cxvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ELZ1MqPzM6dV0uQJN+Wx2kkrRzV2/EnVUkAie4Gp5WI=; b=Cj+8AgXPC6A18i82SyE3mUUbTJcFlGs5wayrS43Uth3bZpvzCsjUYx3f0YBjHpur15 tA9gAE8I1rsVtK6Q/jLsNjjyyqIOmnaDZhcDTdS4LHMmXQFCs6tLh3JKyn91HtlaG9tg 33xj9NdPSsSl7MtAfLCIPjRvK1s+8SRtRPKH9sl6uCs4D5qJxE46lo6aCo/MKXwRsYmN lNf+uBBFnRyduPptfSXhVkVRn2ZZCuWCcadN3dPWil1xCid7NFw2VEQ0sBzLhmuU465x eGZnW94QU0QzcHI8ullhFy6ggT9WIEtZ4CQD5niAzx/6E5RYpX4Z+NIHmeQWOV9skSZY VaHA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Kwh+wZ1h; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c17si1099815edc.384.2019.11.22.03.20.58; Fri, 22 Nov 2019 03:21:22 -0800 (PST) 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=@kernel.org header.s=default header.b=Kwh+wZ1h; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730164AbfKVLSp (ORCPT + 99 others); Fri, 22 Nov 2019 06:18:45 -0500 Received: from mail.kernel.org ([198.145.29.99]:56854 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729877AbfKVKsP (ORCPT ); Fri, 22 Nov 2019 05:48:15 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 20E2D20637; Fri, 22 Nov 2019 10:48:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574419694; bh=sRrLkyUGgCKpwty94eVo3szlNVzGQWCr0iIWSeGW3dI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Kwh+wZ1hM7rxg1R4/oLbVBxof82d8A7ILZBBKd+3RH2UrZYxrjTeaH57ytfj+lH4e 3g47pximbCq+nnGj79L1gSr5sYxZAEBN1UtSaB9lYdMlfcwQXDVf6dLzLey4b7F8vA miI2DrxzPHVi91zvsICMUWqIggT99DGYNI+3RpYo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dan Carpenter , Philippe Ombredanne , Mathieu Malaterre , Bartlomiej Zolnierkiewicz , Sasha Levin , Peter Malone Subject: [PATCH 4.9 199/222] fbdev: sbuslib: use checked version of put_user() Date: Fri, 22 Nov 2019 11:28:59 +0100 Message-Id: <20191122100916.602969793@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191122100830.874290814@linuxfoundation.org> References: <20191122100830.874290814@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Dan Carpenter [ Upstream commit d8bad911e5e55e228d59c0606ff7e6b8131ca7bf ] I'm not sure why the code assumes that only the first put_user() needs an access_ok() check. I have made all the put_user() and get_user() calls checked. Signed-off-by: Dan Carpenter Cc: Philippe Ombredanne Cc: Mathieu Malaterre Cc: Peter Malone , Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Sasha Levin --- drivers/video/fbdev/sbuslib.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/video/fbdev/sbuslib.c b/drivers/video/fbdev/sbuslib.c index 31c301d6be621..b425718925c01 100644 --- a/drivers/video/fbdev/sbuslib.c +++ b/drivers/video/fbdev/sbuslib.c @@ -105,11 +105,11 @@ int sbusfb_ioctl_helper(unsigned long cmd, unsigned long arg, struct fbtype __user *f = (struct fbtype __user *) arg; if (put_user(type, &f->fb_type) || - __put_user(info->var.yres, &f->fb_height) || - __put_user(info->var.xres, &f->fb_width) || - __put_user(fb_depth, &f->fb_depth) || - __put_user(0, &f->fb_cmsize) || - __put_user(fb_size, &f->fb_cmsize)) + put_user(info->var.yres, &f->fb_height) || + put_user(info->var.xres, &f->fb_width) || + put_user(fb_depth, &f->fb_depth) || + put_user(0, &f->fb_cmsize) || + put_user(fb_size, &f->fb_cmsize)) return -EFAULT; return 0; } @@ -124,10 +124,10 @@ int sbusfb_ioctl_helper(unsigned long cmd, unsigned long arg, unsigned int index, count, i; if (get_user(index, &c->index) || - __get_user(count, &c->count) || - __get_user(ured, &c->red) || - __get_user(ugreen, &c->green) || - __get_user(ublue, &c->blue)) + get_user(count, &c->count) || + get_user(ured, &c->red) || + get_user(ugreen, &c->green) || + get_user(ublue, &c->blue)) return -EFAULT; cmap.len = 1; @@ -164,10 +164,10 @@ int sbusfb_ioctl_helper(unsigned long cmd, unsigned long arg, u8 red, green, blue; if (get_user(index, &c->index) || - __get_user(count, &c->count) || - __get_user(ured, &c->red) || - __get_user(ugreen, &c->green) || - __get_user(ublue, &c->blue)) + get_user(count, &c->count) || + get_user(ured, &c->red) || + get_user(ugreen, &c->green) || + get_user(ublue, &c->blue)) return -EFAULT; if (index + count > cmap->len) -- 2.20.1