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>] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 15 Oct 2013 21:31:17 +0200
From:	Wolfram Sang <wsa@...-dreams.de>
To:	linux-kernel@...r.kernel.org
Cc:	linux-arm-kernel@...ts.infradead.org,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Ingo Molnar <mingo@...nel.org>,
	Wolfram Sang <wsa@...-dreams.de>
Subject: [RFC RESEND 0/3] replace INIT_COMPLETION with reinit_completion

I had this on my mind for a bit of time now... When reviewing, I see problems
with the current INIT_COMPLETION because of inconsistencies. Quoting patch 1
for the motivation:

===

For the casual device driver writer, it is hard to remember when to use
init_completion (to init a completion structure) or INIT_COMPLETION (to
*reinit* a completion structure). Furthermore, while all other
completion functions exepct a pointer as a parameter, INIT_COMPLETION
does not. To make it easier to remember which function to use and to
make code more readable, introduce a new inline function with the proper
name and consistent argument type.

===

For this RFC, Patch 2/3 converts all current users in one go. I can split that
up easily later. I wonder what to do about the old INIT_COMPLETION, though. We
could:

a) remove it right away (bad luck for out-of-tree users; still my favourite)
b) keep it, but discourage its use (then we have cruft)
c) convert it to an inline function and mark that deprecated and remove it later

This series is based on v3.12-rc5  and I was able to compile test 74 out of 84
users, for the others I didn't have configs/compilers. Buildbots didn't
complain so far as well. The branch can be found here:

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

Looking forward to opinions. If accepted, I'd think it is probably best if this
gets in in one go via Linus directly?

Thanks,

   Wolfram


Wolfram Sang (3):
  sched: replace INIT_COMPLETION with reinit_completion
  tree-wide: use reinit_completion instead of INIT_COMPLETION
  sched: remove INIT_COMPLETION

 arch/arm/mach-tegra/apbio.c                        |  2 +-
 arch/powerpc/platforms/powermac/low_i2c.c          |  6 ++---
 arch/powerpc/platforms/pseries/suspend.c           |  2 +-
 crypto/af_alg.c                                    |  2 +-
 crypto/tcrypt.c                                    |  4 ++--
 crypto/testmgr.c                                   | 12 +++++-----
 drivers/ata/libata-eh.c                            |  4 ++--
 drivers/base/power/main.c                          |  4 ++--
 drivers/block/amiflop.c                            |  2 +-
 drivers/block/cciss.c                              |  4 ++--
 drivers/char/hw_random/timeriomem-rng.c            |  2 +-
 drivers/crypto/tegra-aes.c                         |  2 +-
 drivers/firewire/core-transaction.c                |  2 +-
 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c         |  2 +-
 drivers/hid/hid-wiimote.h                          |  2 +-
 drivers/hwmon/jz4740-hwmon.c                       |  2 +-
 drivers/i2c/busses/i2c-at91.c                      |  2 +-
 drivers/i2c/busses/i2c-bcm2835.c                   |  2 +-
 drivers/i2c/busses/i2c-davinci.c                   |  2 +-
 drivers/i2c/busses/i2c-designware-core.c           |  2 +-
 drivers/i2c/busses/i2c-ismt.c                      |  2 +-
 drivers/i2c/busses/i2c-mxs.c                       |  2 +-
 drivers/i2c/busses/i2c-omap.c                      |  2 +-
 drivers/i2c/busses/i2c-tegra.c                     |  2 +-
 drivers/i2c/busses/i2c-wmt.c                       |  4 ++--
 drivers/iio/adc/ad_sigma_delta.c                   |  6 ++---
 drivers/iio/adc/nau7802.c                          |  2 +-
 drivers/input/touchscreen/cyttsp_core.c            |  2 +-
 drivers/md/dm-crypt.c                              |  2 +-
 drivers/media/platform/blackfin/bfin_capture.c     |  2 +-
 drivers/media/radio/radio-wl1273.c                 | 10 ++++----
 drivers/media/radio/si470x/radio-si470x-common.c   |  4 ++--
 drivers/media/rc/iguanair.c                        |  2 +-
 drivers/memstick/core/memstick.c                   |  2 +-
 drivers/memstick/host/r592.c                       |  2 +-
 drivers/misc/ti-st/st_kim.c                        | 12 +++++-----
 drivers/mtd/nand/mxc_nand.c                        |  2 +-
 drivers/mtd/nand/r852.c                            |  2 +-
 drivers/mtd/onenand/omap2.c                        | 10 ++++----
 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c    |  2 +-
 drivers/net/ieee802154/at86rf230.c                 |  2 +-
 drivers/net/ieee802154/mrf24j40.c                  |  2 +-
 drivers/net/wireless/ath/ath10k/htc.c              |  4 ++--
 drivers/net/wireless/ath/ath10k/mac.c              | 18 +++++++-------
 drivers/net/wireless/ath/carl9170/usb.c            |  2 +-
 drivers/net/wireless/ath/wil6210/main.c            |  2 +-
 drivers/net/wireless/brcm80211/brcmfmac/p2p.c      |  4 ++--
 drivers/net/wireless/zd1211rw/zd_usb.c             |  2 +-
 drivers/parport/parport_ip32.c                     |  4 ++--
 drivers/platform/x86/apple-gmux.c                  |  2 +-
 drivers/power/ab8500_fg.c                          |  4 ++--
 drivers/power/jz4740-battery.c                     |  2 +-
 drivers/rtc/rtc-hid-sensor-time.c                  |  2 +-
 drivers/spi/spi-bcm2835.c                          |  2 +-
 drivers/spi/spi-clps711x.c                         |  2 +-
 drivers/spi/spi-davinci.c                          |  2 +-
 drivers/spi/spi-fsl-espi.c                         |  2 +-
 drivers/spi/spi-fsl-spi.c                          |  2 +-
 drivers/spi/spi-mpc512x-psc.c                      |  2 +-
 drivers/spi/spi-mxs.c                              |  2 +-
 drivers/spi/spi-s3c64xx.c                          |  2 +-
 drivers/spi/spi-sh-msiof.c                         |  2 +-
 drivers/spi/spi-sirf.c                             |  4 ++--
 drivers/spi/spi-tegra114.c                         |  6 ++---
 drivers/spi/spi-tegra20-sflash.c                   |  2 +-
 drivers/spi/spi-tegra20-slink.c                    |  6 ++---
 drivers/spi/spi-xilinx.c                           |  2 +-
 drivers/staging/iio/adc/mxs-lradc.c                |  2 +-
 drivers/staging/media/solo6x10/solo6x10-p2m.c      |  2 +-
 drivers/staging/tidspbridge/core/sync.c            |  4 ++--
 .../staging/tidspbridge/include/dspbridge/sync.h   |  2 +-
 drivers/staging/tidspbridge/rmgr/drv_interface.c   |  6 ++---
 drivers/tty/metag_da.c                             |  2 +-
 drivers/usb/c67x00/c67x00-sched.c                  |  2 +-
 drivers/usb/gadget/f_fs.c                          |  2 +-
 drivers/usb/serial/mos7720.c                       |  2 +-
 drivers/video/exynos/exynos_mipi_dsi_common.c      |  4 ++--
 .../video/omap2/displays-new/encoder-tpd12s015.c   |  2 +-
 fs/ecryptfs/crypto.c                               |  2 +-
 fs/nfs/nfs4state.c                                 |  2 +-
 fs/ocfs2/dlmglue.c                                 |  4 ++--
 include/linux/completion.h                         | 28 ++++++++++++----------
 sound/soc/samsung/ac97.c                           |  6 ++---
 83 files changed, 149 insertions(+), 147 deletions(-)

-- 
1.8.4.rc3

--
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