lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Sat, 18 May 2013 12:09:03 +0200
From:	Wolfram Sang <wsa@...-dreams.de>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	linux-kernel@...r.kernel.org
Subject: [PULL REQUEST] devm usage cleanup #1, no resource check needed with
 devm_ioremap_resource()

Linus,

Lately, I have been experimenting how to improve the devm interface to make
writing device drivers easier and less error prone while also getting rid of
its subtle issues. I think it has more potential but still needs work and
definately conistency, especiall in its usage.

The first thing I come up with is a low hanging fruit regarding
devm_ioremap_resouce(). This function already checks if the passed resource is
valid and gives an error message if not. So, we can remove similar checks from
the drivers and get rid of a bit of code and a number of inconsistent error
strings.

This series only removes the unneeded check iff devm_ioremap_resource follows
platform_get_resource directly. The previous version tried to shuffle code if
needed, too, what lead to an embarrasing bug. It turned out to me that
shuffling code for all cases found will make the automated script too complex,
so I am unsure if an automated cleanup is the proper tool for this case.
Removing the easy stuff seems worthwhile to me, though.

Despite various architectures and platform dependencies, I managed to compile
test 45 out of 57 modified files locally using heuristics and defconfigs.

Please pull if you think it is not too late for such a kind of cleanup.

Thanks,

   Wolfram


The following changes since commit f722406faae2d073cc1d01063d1123c35425939e:

  Linux 3.10-rc1 (2013-05-11 17:14:08 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git devm_no_resource_check

for you to fetch changes up to 12716cd44da7e6c935e2fb1783417ca31fbbaa97:

  sound/soc/kirkwood: don't check resource with devm_ioremap_resource (2013-05-18 11:59:45 +0200)

----------------------------------------------------------------
Wolfram Sang (33):
      drivers/ata: don't check resource with devm_ioremap_resource
      drivers/char/hw_random: don't check resource with devm_ioremap_resource
      drivers/cpufreq: don't check resource with devm_ioremap_resource
      drivers/dma: don't check resource with devm_ioremap_resource
      drivers/gpio: don't check resource with devm_ioremap_resource
      drivers/gpu/drm/exynos: don't check resource with devm_ioremap_resource
      drivers/gpu/host1x/drm: don't check resource with devm_ioremap_resource
      drivers/i2c/busses: don't check resource with devm_ioremap_resource
      drivers/memory: don't check resource with devm_ioremap_resource
      drivers/mfd: don't check resource with devm_ioremap_resource
      drivers/misc: don't check resource with devm_ioremap_resource
      drivers/mtd/nand: don't check resource with devm_ioremap_resource
      drivers/net/ethernet/renesas: don't check resource with devm_ioremap_resource
      drivers/pinctrl: don't check resource with devm_ioremap_resource
      drivers/pwm: don't check resource with devm_ioremap_resource
      drivers/rtc: don't check resource with devm_ioremap_resource
      drivers/spi: don't check resource with devm_ioremap_resource
      drivers/staging/dwc2: don't check resource with devm_ioremap_resource
      drivers/staging/nvec: don't check resource with devm_ioremap_resource
      drivers/thermal: don't check resource with devm_ioremap_resource
      drivers/usb/chipidea: don't check resource with devm_ioremap_resource
      drivers/usb/gadget: don't check resource with devm_ioremap_resource
      drivers/usb/host: don't check resource with devm_ioremap_resource
      drivers/usb/phy: don't check resource with devm_ioremap_resource
      drivers/video/omap2: don't check resource with devm_ioremap_resource
      drivers/video/omap2/dss: don't check resource with devm_ioremap_resource
      drivers/w1/masters: don't check resource with devm_ioremap_resource
      drivers/watchdog: don't check resource with devm_ioremap_resource
      arch/arm/mach-tegra: don't check resource with devm_ioremap_resource
      arch/arm/plat-samsung: don't check resource with devm_ioremap_resource
      arch/mips/lantiq/xway: don't check resource with devm_ioremap_resource
      sound/soc/fsl: don't check resource with devm_ioremap_resource
      sound/soc/kirkwood: don't check resource with devm_ioremap_resource

 arch/arm/mach-tegra/tegra2_emc.c      |    5 -----
 arch/arm/plat-samsung/adc.c           |    5 -----
 arch/mips/lantiq/xway/gptu.c          |    4 ----
 drivers/ata/pata_ep93xx.c             |    5 -----
 drivers/char/hw_random/mxc-rnga.c     |    6 ------
 drivers/char/hw_random/omap-rng.c     |    5 -----
 drivers/cpufreq/kirkwood-cpufreq.c    |    4 ----
 drivers/dma/tegra20-apb-dma.c         |    5 -----
 drivers/gpio/gpio-mvebu.c             |    5 -----
 drivers/gpio/gpio-tegra.c             |    5 -----
 drivers/gpu/drm/exynos/exynos_hdmi.c  |    5 -----
 drivers/gpu/host1x/drm/dc.c           |    5 -----
 drivers/i2c/busses/i2c-s3c2410.c      |    5 -----
 drivers/i2c/busses/i2c-sirf.c         |    6 ------
 drivers/i2c/busses/i2c-tegra.c        |    5 -----
 drivers/memory/emif.c                 |    6 ------
 drivers/mfd/intel_msic.c              |    5 -----
 drivers/misc/atmel-ssc.c              |    5 -----
 drivers/mtd/nand/lpc32xx_mlc.c        |    5 -----
 drivers/net/ethernet/renesas/sh_eth.c |    5 -----
 drivers/pinctrl/pinctrl-coh901.c      |    5 -----
 drivers/pinctrl/pinctrl-exynos5440.c  |    5 -----
 drivers/pinctrl/pinctrl-samsung.c     |    5 -----
 drivers/pinctrl/pinctrl-xway.c        |    4 ----
 drivers/pwm/pwm-imx.c                 |    5 -----
 drivers/pwm/pwm-puv3.c                |    5 -----
 drivers/pwm/pwm-pxa.c                 |    5 -----
 drivers/pwm/pwm-tegra.c               |    5 -----
 drivers/pwm/pwm-tiecap.c              |    5 -----
 drivers/pwm/pwm-tiehrpwm.c            |    5 -----
 drivers/pwm/pwm-tipwmss.c             |    5 -----
 drivers/pwm/pwm-vt8500.c              |    5 -----
 drivers/rtc/rtc-nuc900.c              |    5 -----
 drivers/rtc/rtc-omap.c                |    5 -----
 drivers/rtc/rtc-s3c.c                 |    5 -----
 drivers/rtc/rtc-tegra.c               |    6 ------
 drivers/spi/spi-tegra20-sflash.c      |    5 -----
 drivers/staging/dwc2/platform.c       |    5 -----
 drivers/staging/nvec/nvec.c           |    5 -----
 drivers/thermal/armada_thermal.c      |   10 ----------
 drivers/thermal/dove_thermal.c        |    4 ----
 drivers/thermal/exynos_thermal.c      |    5 -----
 drivers/usb/chipidea/core.c           |    5 -----
 drivers/usb/gadget/bcm63xx_udc.c      |   10 ----------
 drivers/usb/host/ohci-nxp.c           |    6 ------
 drivers/usb/phy/phy-mv-u3d-usb.c      |    5 -----
 drivers/usb/phy/phy-mxs-usb.c         |    5 -----
 drivers/usb/phy/phy-samsung-usb2.c    |    5 -----
 drivers/usb/phy/phy-samsung-usb3.c    |    5 -----
 drivers/video/omap2/dss/hdmi.c        |    4 ----
 drivers/video/omap2/vrfb.c            |    5 -----
 drivers/w1/masters/omap_hdq.c         |    5 -----
 drivers/watchdog/ath79_wdt.c          |    5 -----
 drivers/watchdog/davinci_wdt.c        |    5 -----
 drivers/watchdog/imx2_wdt.c           |    5 -----
 sound/soc/fsl/imx-ssi.c               |    6 ------
 sound/soc/kirkwood/kirkwood-i2s.c     |    5 -----
 57 files changed, 296 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ