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]
Message-Id: <1360179649-22465-1-git-send-email-tj@kernel.org>
Date:	Wed,  6 Feb 2013 11:39:32 -0800
From:	Tejun Heo <tj@...nel.org>
To:	akpm@...ux-foundation.org
Cc:	linux-kernel@...r.kernel.org
Subject: [PATCHSET] idr: deprecate idr_remova_all() and add idr_alloc()

(If you're reading this patchset for the first time, this patchset is
 an effort to improve idr interface.  This posting is mostly for
 collecting and routing the patches towards -mm.  Please follow the
 link at the end for details on each patchset.)

Hello, Andrew.

This patchset is combination of the following three on top of
linux-next as of 20130204 (the one before idr_removal_all() got
included).

  [1] [PATCH] idr: fix a subtle bug in idr_get_next()
+ [2] [PATCHSET] idr: deprecate idr_remove_all()
+ [3] [PATCHSET] idr: implement idr_alloc() and convert existing users (w/ all updates)

Please note that we need the idr_get_next() fix before
idr_remove_all() deprecation.

The idr_alloc() part has all the posted updates rolled in and acks
added, and I think it's at least ready for testing.  Ah, right, I
skipped deprecation of idr_pre_get() and idr_get_new*() for now.  nfs
changes are being routed separately and we can do the deprecation
after after -rc1.

This patchset contains the following 77 patches.

 0001-idr-fix-a-subtle-bug-in-idr_get_next.patch
 0002-idr-make-idr_destroy-imply-idr_remove_all.patch
 0003-atm-nicstar-don-t-use-idr_remove_all.patch
 0004-block-loop-don-t-use-idr_remove_all.patch
 0005-firewire-don-t-use-idr_remove_all.patch
 0006-drm-don-t-use-idr_remove_all.patch
 0007-dm-don-t-use-idr_remove_all.patch
 0008-remoteproc-don-t-use-idr_remove_all.patch
 0009-rpmsg-don-t-use-idr_remove_all.patch
 0010-dlm-use-idr_for_each_entry-in-recover_idr_clear-erro.patch
 0011-dlm-don-t-use-idr_remove_all.patch
 0012-nfs-idr_destroy-no-longer-needs-idr_remove_all.patch
 0013-inotify-don-t-use-idr_remove_all.patch
 0014-cgroup-don-t-use-idr_remove_all.patch
 0015-idr-deprecate-idr_remove_all.patch
 0016-idr-cosmetic-updates-to-struct-initializer-definitio.patch
 0017-idr-relocate-idr_for_each_entry-and-reorganize-id-r-.patch
 0018-idr-remove-_idr_rc_to_errno-hack.patch
 0019-idr-refactor-idr_get_new_above.patch
 0020-idr-implement-idr_preload-_end-and-idr_alloc.patch
 0021-block-fix-synchronization-and-limit-check-in-blk_all.patch
 0022-block-convert-to-idr_alloc.patch
 0023-block-loop-convert-to-idr_alloc.patch
 0024-atm-nicstar-convert-to-idr_alloc.patch
 0025-drbd-convert-to-idr_alloc.patch
 0026-dca-convert-to-idr_alloc.patch
 0027-dmaengine-convert-to-idr_alloc.patch
 0028-firewire-add-minor-number-range-check-to-fw_device_i.patch
 0029-firewire-convert-to-idr_alloc.patch
 0030-gpio-convert-to-idr_alloc.patch
 0031-drm-convert-to-idr_alloc.patch
 0032-drm-exynos-convert-to-idr_alloc.patch
 0033-drm-i915-convert-to-idr_alloc.patch
 0034-drm-sis-convert-to-idr_alloc.patch
 0035-drm-via-convert-to-idr_alloc.patch
 0036-drm-vmwgfx-convert-to-idr_alloc.patch
 0037-i2c-convert-to-idr_alloc.patch
 0038-IB-core-convert-to-idr_alloc.patch
 0039-IB-amso1100-convert-to-idr_alloc.patch
 0040-IB-cxgb3-convert-to-idr_alloc.patch
 0041-IB-cxgb4-convert-to-idr_alloc.patch
 0042-IB-ehca-convert-to-idr_alloc.patch
 0043-IB-ipath-convert-to-idr_alloc.patch
 0044-IB-mlx4-convert-to-idr_alloc.patch
 0045-IB-ocrdma-convert-to-idr_alloc.patch
 0046-IB-qib-convert-to-idr_alloc.patch
 0047-dm-convert-to-idr_alloc.patch
 0048-memstick-convert-to-idr_alloc.patch
 0049-mfd-convert-to-idr_alloc.patch
 0050-misc-c2port-convert-to-idr_alloc.patch
 0051-misc-tifm_core-convert-to-idr_alloc.patch
 0052-mmc-convert-to-idr_alloc.patch
 0053-mtd-convert-to-idr_alloc.patch
 0054-macvtap-convert-to-idr_alloc.patch
 0055-ppp-convert-to-idr_alloc.patch
 0056-power-convert-to-idr_alloc.patch
 0057-pps-convert-to-idr_alloc.patch
 0058-remoteproc-convert-to-idr_alloc.patch
 0059-rpmsg-convert-to-idr_alloc.patch
 0060-scsi-bfa-convert-to-idr_alloc.patch
 0061-scsi-convert-to-idr_alloc.patch
 0062-target-iscsi-convert-to-idr_alloc.patch
 0063-scsi-lpfc-convert-to-idr_alloc.patch
 0064-thermal-convert-to-idr_alloc.patch
 0065-uio-convert-to-idr_alloc.patch
 0066-vfio-convert-to-idr_alloc.patch
 0067-dlm-convert-to-idr_alloc.patch
 0068-inotify-convert-to-idr_alloc.patch
 0069-ocfs2-convert-to-idr_alloc.patch
 0070-ipc-convert-to-idr_alloc.patch
 0071-cgroup-convert-to-idr_alloc.patch
 0072-events-convert-to-idr_alloc.patch
 0073-posix-timers-convert-to-idr_alloc.patch
 0074-net-9p-convert-to-idr_alloc.patch
 0075-mac80211-convert-to-idr_alloc.patch
 0076-sctp-convert-to-idr_alloc.patch
 0077-nfs4client-convert-to-idr_alloc.patch

and is available in the following git branch.

 git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git convert-to-idr_alloc

diffstat follows.

 block/bsg.c                                |   26 --
 block/genhd.c                              |   22 --
 drivers/atm/nicstar.c                      |   25 --
 drivers/block/drbd/drbd_main.c             |   29 +-
 drivers/block/loop.c                       |   24 --
 drivers/dca/dca-sysfs.c                    |   23 --
 drivers/dma/dmaengine.c                    |   16 -
 drivers/firewire/core-cdev.c               |   20 -
 drivers/firewire/core-device.c             |    4 
 drivers/gpio/gpiolib.c                     |   11 -
 drivers/gpu/drm/drm_context.c              |   19 -
 drivers/gpu/drm/drm_crtc.c                 |   20 -
 drivers/gpu/drm/drm_drv.c                  |    1 
 drivers/gpu/drm/drm_gem.c                  |   37 +--
 drivers/gpu/drm/drm_stub.c                 |   19 -
 drivers/gpu/drm/exynos/exynos_drm_ipp.c    |   20 -
 drivers/gpu/drm/i915/i915_gem_context.c    |   21 --
 drivers/gpu/drm/sis/sis_drv.c              |    1 
 drivers/gpu/drm/sis/sis_mm.c               |   13 -
 drivers/gpu/drm/via/via_map.c              |    1 
 drivers/gpu/drm/via/via_mm.c               |   13 -
 drivers/gpu/drm/vmwgfx/vmwgfx_resource.c   |   17 -
 drivers/i2c/i2c-core.c                     |   45 ----
 drivers/infiniband/core/cm.c               |   22 +-
 drivers/infiniband/core/cma.c              |   24 --
 drivers/infiniband/core/sa_query.c         |   18 -
 drivers/infiniband/core/ucm.c              |   16 -
 drivers/infiniband/core/ucma.c             |   32 ---
 drivers/infiniband/core/uverbs_cmd.c       |   17 -
 drivers/infiniband/hw/amso1100/c2_qp.c     |   19 +
 drivers/infiniband/hw/cxgb3/iwch.h         |   24 +-
 drivers/infiniband/hw/cxgb4/iw_cxgb4.h     |   27 +-
 drivers/infiniband/hw/ehca/ehca_cq.c       |   27 --
 drivers/infiniband/hw/ehca/ehca_qp.c       |   34 +--
 drivers/infiniband/hw/ipath/ipath_driver.c |   16 -
 drivers/infiniband/hw/mlx4/cm.c            |   32 +--
 drivers/infiniband/hw/ocrdma/ocrdma_main.c |   14 -
 drivers/infiniband/hw/qib/qib_init.c       |   21 --
 drivers/md/dm.c                            |   55 +----
 drivers/memstick/core/memstick.c           |   21 --
 drivers/memstick/core/mspro_block.c        |   17 -
 drivers/mfd/rtsx_pcr.c                     |   13 -
 drivers/misc/c2port/core.c                 |   22 --
 drivers/misc/tifm_core.c                   |   11 -
 drivers/mmc/core/host.c                    |   11 -
 drivers/mtd/mtdcore.c                      |    9 
 drivers/net/macvtap.c                      |   21 --
 drivers/net/ppp/ppp_generic.c              |   33 ---
 drivers/power/bq2415x_charger.c            |   11 -
 drivers/power/bq27x00_battery.c            |    9 
 drivers/power/ds2782_battery.c             |    9 
 drivers/pps/kapi.c                         |    2 
 drivers/pps/pps.c                          |   36 +--
 drivers/remoteproc/remoteproc_core.c       |   11 -
 drivers/rpmsg/virtio_rpmsg_bus.c           |   31 +--
 drivers/scsi/bfa/bfad_im.c                 |   15 -
 drivers/scsi/ch.c                          |   21 --
 drivers/scsi/lpfc/lpfc_init.c              |   12 -
 drivers/scsi/sg.c                          |   43 +---
 drivers/scsi/st.c                          |   27 --
 drivers/target/iscsi/iscsi_target.c        |   15 -
 drivers/target/iscsi/iscsi_target_login.c  |   15 -
 drivers/thermal/cpu_cooling.c              |   17 -
 drivers/thermal/thermal_sys.c              |   17 -
 drivers/uio/uio.c                          |   19 -
 drivers/vfio/vfio.c                        |   17 -
 fs/dlm/lock.c                              |   18 -
 fs/dlm/lockspace.c                         |    1 
 fs/dlm/recover.c                           |   52 ++---
 fs/nfs/client.c                            |    1 
 fs/nfs/nfs4client.c                        |   13 -
 fs/notify/inotify/inotify_fsnotify.c       |    1 
 fs/notify/inotify/inotify_user.c           |   24 +-
 fs/ocfs2/cluster/tcp.c                     |   32 +--
 include/linux/idr.h                        |  109 +++++++---
 ipc/util.c                                 |   30 --
 kernel/cgroup.c                            |   31 ---
 kernel/events/core.c                       |   10 
 kernel/posix-timers.c                      |   18 -
 lib/idr.c                                  |  298 ++++++++++++++++++++---------
 net/9p/util.c                              |   17 -
 net/mac80211/main.c                        |    2 
 net/mac80211/tx.c                          |   18 -
 net/sctp/associola.c                       |   31 +--
 84 files changed, 832 insertions(+), 1184 deletions(-)

Thanks.

--
tejun

[1] https://lkml.org/lkml/2013/2/2/145
[2] https://lkml.org/lkml/2013/1/25/759
[3] http://thread.gmane.org/gmane.linux.kernel/1434387
--
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