public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Sergei Shtylyov <sshtylyov@mvista.com>
To: Vitaly Kuzmichev <vkuzmichev@mvista.com>
Cc: linux-arm-kernel@lists.infradead.org,
	linux-watchdog@vger.kernel.org,
	Russell King <linux@arm.linux.org.uk>,
	Marc Zyngier <marc.zyngier@arm.com>,
	Wim Van Sebroeck <wim@iguana.be>, Arnd Bergmann <arnd@arndb.de>,
	Nicolas Pitre <nico@fluxnic.net>,
	John Stultz <johnstul@us.ibm.com>,
	linux-kernel@vger.kernel.org, arm@kernel.org,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH V2 3/6] mpcore_wdt: Fix WDIOC_SETOPTIONS handling
Date: Wed, 06 Jul 2011 16:05:22 +0400	[thread overview]
Message-ID: <4E144F82.8060300@mvista.com> (raw)
In-Reply-To: <1309892440-3260-4-git-send-email-vkuzmichev@mvista.com>

Hello.

On 05-07-2011 23:00, Vitaly Kuzmichev wrote:

> According to the include/linux/watchdog.h WDIOC_SETOPTIONS is
> classified as 'read from device' ioctl call:
>    #define WDIOC_SETOPTIONS        _IOR(WATCHDOG_IOCTL_BASE, 4, int)

> However, the driver 'mpcore_wdt' performs 'copy_from_user' only if
> _IOC_WRITE is set, thus the local variable 'uarg' which is used in
> WDIOC_SETOPTIONS handling remains uninitialized.

> The proper way to fix this is to bind WDIOC_SETOPTIONS to _IOW,
> but this will break compatibility.
> So adding additional condition for performing 'copy_from_user'.

> Signed-off-by: Vitaly Kuzmichev<vkuzmichev@mvista.com>
> ---
>   drivers/watchdog/mpcore_wdt.c |    3 ++-
>   1 files changed, 2 insertions(+), 1 deletions(-)

> diff --git a/drivers/watchdog/mpcore_wdt.c b/drivers/watchdog/mpcore_wdt.c
> index 7a3d6b2..b330a0a 100644
> --- a/drivers/watchdog/mpcore_wdt.c
> +++ b/drivers/watchdog/mpcore_wdt.c
> @@ -240,7 +240,8 @@ static long mpcore_wdt_ioctl(struct file *file, unsigned int cmd,
>   	if (_IOC_DIR(cmd)&&  _IOC_SIZE(cmd)>  sizeof(uarg))
>   		return -ENOTTY;
>
> -	if (_IOC_DIR(cmd) & _IOC_WRITE) {
> +	if (_IOC_DIR(cmd) & _IOC_WRITE

    I think you need parens around this.

> +			|| cmd == WDIOC_SETOPTIONS) {
>   		ret = copy_from_user(&uarg, (void __user *)arg, _IOC_SIZE(cmd));
>   		if (ret)
>   			return -EFAULT;

WBR, Sergei

  reply	other threads:[~2011-07-06 12:06 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-04  9:45 [PATCH 0/4] ARM: smp_twd: mpcore_wdt: Fix MPCORE watchdog setup vkuzmichev
2010-10-04  9:45 ` [PATCH 1/4] ARM: smp_twd: mpcore_wdt: Fix watchdog counter loading vkuzmichev
2010-10-04  9:45 ` [PATCH 2/4] ARM: smp_twd: Fix typo in twd_timer_rate printout vkuzmichev
2010-10-04  9:45 ` [PATCH 3/4] ARM: mpcore_wdt: Fix WDIOC_SETOPTIONS handling vkuzmichev
2010-10-04  9:45 ` [PATCH 4/4] ARM: mpcore_wdt: Fix timer mode setup vkuzmichev
2011-05-27  8:26 ` [PATCH 0/4] ARM: smp_twd: mpcore_wdt: Fix MPCORE watchdog setup Wim Van Sebroeck
2011-05-27 10:44   ` Marc Zyngier
2011-07-05 19:00 ` [PATCH V2 0/6] arm_smp_twd: " Vitaly Kuzmichev
2011-07-06 10:05   ` Marc Zyngier
2011-07-06 10:14     ` Russell King - ARM Linux
2011-07-06 11:05       ` Catalin Marinas
2011-07-06 11:16         ` Russell King - ARM Linux
2011-07-10 10:39           ` Russell King - ARM Linux
2011-07-11  9:43           ` Catalin Marinas
2011-07-11  9:54             ` Russell King - ARM Linux
2011-07-11 11:06               ` Catalin Marinas
2011-07-06 12:27     ` Vitaly Kuzmichev
2011-07-06 12:39       ` Marc Zyngier
2011-07-06 15:06         ` Vitaly Kuzmichev
2011-07-05 19:00 ` [PATCH V2 1/6] arm_smp_twd: Fix typo in 'twd_timer_rate' printing Vitaly Kuzmichev
2011-07-05 19:00 ` [PATCH V2 2/6] arm_smp_twd: mpcore_wdt: Fix watchdog counter loading Vitaly Kuzmichev
2011-07-06 12:05   ` Arnd Bergmann
2011-07-05 19:00 ` [PATCH V2 3/6] mpcore_wdt: Fix WDIOC_SETOPTIONS handling Vitaly Kuzmichev
2011-07-06 12:05   ` Sergei Shtylyov [this message]
2011-07-06 12:22   ` Arnd Bergmann
2011-07-06 13:13     ` Vitaly Kuzmichev
2011-07-06 13:48   ` Russell King - ARM Linux
2011-07-06 13:52     ` Russell King - ARM Linux
2011-07-06 14:19       ` Arnd Bergmann
2011-07-06 15:27         ` Arnd Bergmann
2011-07-06 17:28           ` Wim Van Sebroeck
2011-07-05 19:00 ` [PATCH V2 4/6] mpcore_wdt: Fix timer mode setup Vitaly Kuzmichev
2011-07-05 19:00 ` [PATCH V2 5/6] mpcore_wdt: Add cpufreq notifier to reload counter Vitaly Kuzmichev
2011-07-06 12:09   ` Sergei Shtylyov
2011-07-05 19:00 ` [PATCH V2 6/6] mpcore_wdt: Move declarations in a separate header Vitaly Kuzmichev
2011-07-06 11:58   ` Arnd Bergmann
2011-07-06 12:36     ` Vitaly Kuzmichev
2011-07-06 12:48       ` Arnd Bergmann
2011-07-10 10:42         ` Russell King - ARM Linux
2011-07-06 12:11   ` Sergei Shtylyov
2011-07-07 12:22 ` [PATCH V3 0/4] ARM: smp_twd: mpcore_wdt: Fix MPCORE watchdog setup Vitaly Kuzmichev
2011-07-07 12:23   ` [PATCH V3 1/4] ARM: smp_twd: Fix typo in 'twd_timer_rate' printing Vitaly Kuzmichev
2011-07-07 12:39     ` Russell King - ARM Linux
2011-07-07 12:50       ` Vitaly Kuzmichev
2011-07-07 13:31         ` Vitaly Kuzmichev
2011-07-07 16:20       ` Vitaly Kuzmichev
2011-07-10 10:47         ` Russell King - ARM Linux
2011-07-11 11:50           ` Vitaly Kuzmichev
2011-07-07 12:23   ` [PATCH V3 2/4] ARM: smp_twd: mpcore_wdt: Fix watchdog counter loading Vitaly Kuzmichev
2011-07-07 12:44     ` Arnd Bergmann
2011-07-07 14:09       ` Vitaly Kuzmichev
2011-07-07 12:23   ` [PATCH V3 3/4] ARM: mpcore_wdt: Fix WDIOC_SETOPTIONS handling Vitaly Kuzmichev
2011-07-07 12:45     ` Arnd Bergmann
2011-07-07 12:23   ` [PATCH V3 4/4] ARM: mpcore_wdt: Fix timer mode setup Vitaly Kuzmichev
2011-07-07 12:46   ` [PATCH V3 0/4] ARM: smp_twd: mpcore_wdt: Fix MPCORE watchdog setup Wim Van Sebroeck
2011-07-07 14:06   ` [PATCH V4 2/4] ARM: smp_twd: mpcore_wdt: Fix watchdog counter loading Vitaly Kuzmichev
  -- strict thread matches above, loose matches on Subject: below --
2011-07-06 13:18 [PATCH V2 3/6] mpcore_wdt: Fix WDIOC_SETOPTIONS handling Wim Van Sebroeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E144F82.8060300@mvista.com \
    --to=sshtylyov@mvista.com \
    --cc=arm@kernel.org \
    --cc=arnd@arndb.de \
    --cc=johnstul@us.ibm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=marc.zyngier@arm.com \
    --cc=nico@fluxnic.net \
    --cc=tglx@linutronix.de \
    --cc=vkuzmichev@mvista.com \
    --cc=wim@iguana.be \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox