From patchwork Wed Aug 14 20:42:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 171360 Delivered-To: patch@linaro.org Received: by 2002:a92:d204:0:0:0:0:0 with SMTP id y4csp1312550ily; Wed, 14 Aug 2019 13:46:07 -0700 (PDT) X-Google-Smtp-Source: APXvYqyk8I+iUo/fLs/qjp4BBNDuhd/wT13a6fjre7GCKsM0gP5h9GGnCnGUvP4FLGnLTt7YbeLO X-Received: by 2002:a17:902:8f93:: with SMTP id z19mr1115886plo.97.1565815567003; Wed, 14 Aug 2019 13:46:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565815566; cv=none; d=google.com; s=arc-20160816; b=j/0+fw8MvjzFEIEu2vuBfi7MioI9qVSLsS5i4Vtoq1luxOUkVBksBCB9J4gdU8JzPW THczVDHi5XIlGWc0leTJFgb4AVdVvG2E8Wo6Hxd+vT/Okz1kfqrEa7jaZWYJT9B3boYb 1xMrhG+U/wRPqYGRfj/CsXSfgRF7zBq3UT8G0E+BGVJ3e9Gj9pktnbxuSuOhkX37nJcC QRv060W3E6Zg1YSlmcrgJGfX4135Nrykvs6K2wB0sgd//ioU+YG7FrEiZp09vbD4EyUn BeiwKp5kX3LQWwJEK/5cI+4k4F+3KSDfD3Aopi55twIqW7kv/lg/VdWpExWegzwyB7BX 5/Dw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from; bh=8gGZgbO28OKt7kw6vng9VIvejBB5vX8i8eUIwTNrMDA=; b=qIfBk9CdMxP8DPZZmXT25hrFVmkOQa9ng0p3RcD+ScmjSZsCebRpe8RdwoOmlwecIy /fuFLt3iM6hb/XRXVPyYRlqjrNSd4p2s8BhXJ9sabchhqWZmVWmsfAzphTFsEFMg4q5h MULTHpEqnMmBNz52LbIIkWrAjOlPIIZDYdNSvKixmm2BPrky/23cUloBi2Xymw99CoVt fDmiUGK46Qtd0KFNOXwt+XThGONgZe4JR57iis3lucPYiQKE5jqxk5UGxSFKmhK6G2+v /pblY3jihDP1AWXv6luxBHEYr4dEPVcGnFzBUvKq3O6+EtdBToW7FUR4OSEAV8QyICM7 7rrg== ARC-Authentication-Results: i=1; mx.google.com; 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 d8si485094pjj.78.2019.08.14.13.46.06; Wed, 14 Aug 2019 13:46:06 -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; 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 S1729887AbfHNUqF (ORCPT + 28 others); Wed, 14 Aug 2019 16:46:05 -0400 Received: from mout.kundenserver.de ([212.227.126.134]:35369 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725895AbfHNUqD (ORCPT ); Wed, 14 Aug 2019 16:46:03 -0400 Received: from threadripper.lan ([149.172.19.189]) by mrelayeu.kundenserver.de (mreue010 [212.227.15.129]) with ESMTPA (Nemesis) id 1N3bnP-1iPFzy0qGp-010ZeU; Wed, 14 Aug 2019 22:45:41 +0200 From: Arnd Bergmann To: linux-kernel@vger.kernel.org, viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org, Wim Van Sebroeck , Guenter Roeck Cc: Arnd Bergmann , linux-watchdog@vger.kernel.org Subject: [PATCH v5 05/18] watchdog: cpwd: use generic compat_ptr_ioctl Date: Wed, 14 Aug 2019 22:42:32 +0200 Message-Id: <20190814204259.120942-6-arnd@arndb.de> X-Mailer: git-send-email 2.20.0 In-Reply-To: <20190814204259.120942-1-arnd@arndb.de> References: <20190814204259.120942-1-arnd@arndb.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:3a4T0+6d97+aohDNW/FtRRy0OL3GUoodnLsBOLxtmzvxYHD4nsU luMbWfHIl5BcsdlVHGK5m+/bWCtSjslqMmO0AuL6u0+1oNKgoWMdj1Eld5ELQNoNlyNLQKC zVp2goGJq19LaFW42VqCYrhFLWr2I7j5Uvog04XNttVJ4FfNpg241HZlZYV2vGqzh939Tw+ yopb/D3+LbbYSDvFLqrsA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:83dwGx/HYvo=:APkpK2EDgzEki9/bZwgwND A99E1l5pNDtDf3RPKP4Ek2PjpdG5dN8qa5s732xBWIBGtLLil+F3mi9BrGnk8BOr9cCwNHqPS K1STEn4T9rgarD9uHPla+WlYSqjGQfUsKRAsArAzLpMxwLmzQvcXoEN00hoKeNmI2cD3b/LB0 iP6v/6qP71QTVl5CZn89I3iQqWnXMzn8mV65/SgHEtd1YpcovXZcrFoHYEF43a82cHVBuOM+B /71RlU0gi9/MqjY+K0nCPfipm8V136v/wsdNIpFSlg6hCF167yal5lGIs1f0VhzViizQ9dvQP Lp35ipf5J4D7GXOVWCJ2JCoXFjgbsuEPclPOLydazGxwIV2WwugQz2qpI3Qk5trLSFT28cEji 2PjSRFu1XXJ+bpN4f4io4BtXjRcy2JQrSPxWQZ2ULD1eZ1j53AB72dVM+gLNeRGpxNWEw5NNY Ef67jpDJqbJGUti0VXjlM0D8eO4VJPyVoNsy/iCeC3mAR5Hh2cEe5IWcE6k8/I1PwGM25yana hcZwAn7lCxBOxJyKqMBKSkI9vEC4CKHQweMQDL/s4xIEoe3gku1JxxDoV+xiqLEpD5CqMn9zY ag1QjS8r421e+NCHyYH0jXUBTk5uqYnD/AKbJ279d7pkaVThbeP5BZ0wTRc4Q4mcRwyxe27Ag QhRNIAb+KVw2vAIn8ivYxpAJneBOdH7O2R9tdP2zLMoUPDLLIsy4DLPPUzvPkAZjkF0shMFCq 4+/bk3paNofJmv0FMYM7UXA366Ajon2TEW5vGg== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The cpwd_compat_ioctl() contains a bogus mutex that dates back to a leftover BKL instance. Simplify the implementation by using the new compat_ptr_ioctl() helper function that will do the right thing for all calls here. Note that WIOCSTART/WIOCSTOP don't take any arguments, so the compat_ptr() conversion is not needed here, but it also doesn't hurt. Signed-off-by: Arnd Bergmann --- drivers/watchdog/cpwd.c | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) -- 2.20.0 diff --git a/drivers/watchdog/cpwd.c b/drivers/watchdog/cpwd.c index b973b31179df..9393be584e72 100644 --- a/drivers/watchdog/cpwd.c +++ b/drivers/watchdog/cpwd.c @@ -473,29 +473,6 @@ static long cpwd_ioctl(struct file *file, unsigned int cmd, unsigned long arg) return 0; } -static long cpwd_compat_ioctl(struct file *file, unsigned int cmd, - unsigned long arg) -{ - int rval = -ENOIOCTLCMD; - - switch (cmd) { - /* solaris ioctls are specific to this driver */ - case WIOCSTART: - case WIOCSTOP: - case WIOCGSTAT: - mutex_lock(&cpwd_mutex); - rval = cpwd_ioctl(file, cmd, arg); - mutex_unlock(&cpwd_mutex); - break; - - /* everything else is handled by the generic compat layer */ - default: - break; - } - - return rval; -} - static ssize_t cpwd_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos) { @@ -520,7 +497,7 @@ static ssize_t cpwd_read(struct file *file, char __user *buffer, static const struct file_operations cpwd_fops = { .owner = THIS_MODULE, .unlocked_ioctl = cpwd_ioctl, - .compat_ioctl = cpwd_compat_ioctl, + .compat_ioctl = compat_ptr_ioctl, .open = cpwd_open, .write = cpwd_write, .read = cpwd_read,