Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Apr 2013 16:35:48 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r249550 - in stable/9/sys: arm/xscale/ixp425 mips/atheros mips/rt305x
Message-ID:  <201304161635.r3GGZmaT019365@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Tue Apr 16 16:35:48 2013
New Revision: 249550
URL: http://svnweb.freebsd.org/changeset/base/249550

Log:
  MFC r249449:
  
  Fix undefined behaviour in several gpio_pin_setflags() routines (under
  sys/arm and sys/mips), squelching the clang 3.3 warnings about this.
  
  Noticed by:	tinderbox and many irate spectators
  Submitted by:	Luiz Otavio O Souza <loos.br@gmail.com>
  PR:		kern/177759

Modified:
  stable/9/sys/arm/xscale/ixp425/avila_gpio.c
  stable/9/sys/arm/xscale/ixp425/cambria_gpio.c
  stable/9/sys/mips/atheros/ar71xx_gpio.c
  stable/9/sys/mips/rt305x/rt305x_gpio.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/arm/xscale/ixp425/avila_gpio.c
==============================================================================
--- stable/9/sys/arm/xscale/ixp425/avila_gpio.c	Tue Apr 16 16:09:27 2013	(r249549)
+++ stable/9/sys/arm/xscale/ixp425/avila_gpio.c	Tue Apr 16 16:35:48 2013	(r249550)
@@ -220,8 +220,8 @@ avila_gpio_pin_setflags(device_t dev, ui
 	if (pin >= IXP4XX_GPIO_PINS || !(sc->sc_valid & mask))
 		return (EINVAL);
 
-	/* Filter out unwanted flags */
-	if ((flags &= sc->sc_pins[pin].gp_caps) != flags)
+	/* Check for unwanted flags. */
+	if ((flags & sc->sc_pins[pin].gp_caps) != flags)
 		return (EINVAL);
 
 	/* Can't mix input/output together */

Modified: stable/9/sys/arm/xscale/ixp425/cambria_gpio.c
==============================================================================
--- stable/9/sys/arm/xscale/ixp425/cambria_gpio.c	Tue Apr 16 16:09:27 2013	(r249549)
+++ stable/9/sys/arm/xscale/ixp425/cambria_gpio.c	Tue Apr 16 16:35:48 2013	(r249550)
@@ -317,8 +317,8 @@ cambria_gpio_pin_setflags(device_t dev, 
 	if (pin >= GPIO_PINS)
 		return (EINVAL);
 
-	/* Filter out unwanted flags */
-	if ((flags &= sc->sc_pins[pin].gp_caps) != flags)
+	/* Check for unwanted flags. */
+	if ((flags & sc->sc_pins[pin].gp_caps) != flags)
 		return (EINVAL);
 
 	/* Can't mix input/output together */

Modified: stable/9/sys/mips/atheros/ar71xx_gpio.c
==============================================================================
--- stable/9/sys/mips/atheros/ar71xx_gpio.c	Tue Apr 16 16:09:27 2013	(r249549)
+++ stable/9/sys/mips/atheros/ar71xx_gpio.c	Tue Apr 16 16:35:48 2013	(r249550)
@@ -238,8 +238,8 @@ ar71xx_gpio_pin_setflags(device_t dev, u
 	if (i >= sc->gpio_npins)
 		return (EINVAL);
 
-	/* Filter out unwanted flags */
-	if ((flags &= sc->gpio_pins[i].gp_caps) != flags)
+	/* Check for unwanted flags. */
+	if ((flags & sc->gpio_pins[i].gp_caps) != flags)
 		return (EINVAL);
 
 	/* Can't mix input/output together */

Modified: stable/9/sys/mips/rt305x/rt305x_gpio.c
==============================================================================
--- stable/9/sys/mips/rt305x/rt305x_gpio.c	Tue Apr 16 16:09:27 2013	(r249549)
+++ stable/9/sys/mips/rt305x/rt305x_gpio.c	Tue Apr 16 16:35:48 2013	(r249550)
@@ -242,8 +242,8 @@ rt305x_gpio_pin_setflags(device_t dev, u
 	if (i >= sc->gpio_npins)
 		return (EINVAL);
 
-	/* Filter out unwanted flags */
-	if ((flags &= sc->gpio_pins[i].gp_caps) != flags)
+	/* Check for unwanted flags. */
+	if ((flags & sc->gpio_pins[i].gp_caps) != flags)
 		return (EINVAL);
 
 	/* Can't mix input/output together */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304161635.r3GGZmaT019365>