The patch titled procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix has been removed from the -mm tree. Its filename was procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix.patch This patch was dropped because it was folded into procfs-fix-race-between-proc_readdir-and-remove_proc_entry.patch ------------------------------------------------------ Subject: procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix From: Andrew Morton <akpm@xxxxxxxx> nfi what went wrong there. Cc: Darrick J. Wong <djwong@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/proc/inode.c | 9 +-------- include/linux/proc_fs.h | 9 +++++++++ 2 files changed, 10 insertions(+), 8 deletions(-) diff -puN fs/proc/inode.c~procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix fs/proc/inode.c --- a/fs/proc/inode.c~procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix +++ a/fs/proc/inode.c @@ -21,17 +21,10 @@ #include "internal.h" -static inline struct proc_dir_entry * de_get(struct proc_dir_entry *de) -{ - if (de) - atomic_inc(&de->count); - return de; -} - /* * Decrements the use count and checks for deferred deletion. */ -static void de_put(struct proc_dir_entry *de) +void de_put(struct proc_dir_entry *de) { if (de) { lock_kernel(); diff -puN include/linux/proc_fs.h~procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix include/linux/proc_fs.h --- a/include/linux/proc_fs.h~procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix +++ a/include/linux/proc_fs.h @@ -274,4 +274,13 @@ struct proc_maps_private { #endif }; +static inline struct proc_dir_entry * de_get(struct proc_dir_entry *de) +{ + if (de) + atomic_inc(&de->count); + return de; +} + +void de_put(struct proc_dir_entry *de); + #endif /* _LINUX_PROC_FS_H */ _ Patches currently in -mm which might be from akpm@xxxxxxxx are origin.patch macintosh-mangle-caps-lock-events-on-adb-keyboards.patch git-ia64.patch git-ieee1394.patch sata_nv-add-back-some-verbosity-into-adma-error_handler.patch git-ubi.patch update-smc91x-driver-with-arm-versatile-board-info.patch drivers-net-ns83820c-add-paramter-to-disable-auto.patch net-uninline-skb_put.patch git-ioat-vs-git-md-accel.patch ioat-warning-fix.patch drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch scsi-cover-up-bugs-fix-up-compiler-warnings-in-megaraid-driver.patch git-ipwireless_cs.patch arch-i386-kernel-alternativec-dont-include-bugsh.patch deprecate-smbfs-in-favour-of-cifs.patch procfs-fix-race-between-proc_readdir-and-remove_proc_entry.patch procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix.patch factor-outstanding-i-o-error-handling-tidy.patch block_write_full_page-handle-enospc.patch filesystem-disk-errors-at-boot-time-caused-by-probe.patch allow-access-to-proc-pid-fd-after-setuid-fix.patch fix-__d_path-for-lazy-unmounts-and-make-it-unambiguous-tidy.patch consolidate-generic_writepages-and-mpage_writepages-tidy.patch sync_sb_inodes-propagate-errors.patch mips-convert-to-use-shared-apm-emulation-fix.patch schedule_on_each_cpu-use-preempt_disable.patch implement-flush_work-sanity.patch implement-flush_work_keventd.patch flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch aio-use-flush_work.patch kblockd-use-flush_work.patch relayfs-use-flush_keventd_work.patch tg3-use-flush_keventd_work.patch e1000-use-flush_keventd_work.patch libata-use-flush_work.patch phy-use-flush_work.patch extend-notifier_call_chain-to-count-nr_calls-made.patch extend-notifier_call_chain-to-count-nr_calls-made-fixes-2.patch define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix.patch eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch move-page-writeback-acounting-out-of-macros.patch per-backing_dev-dirty-and-writeback-page-accounting.patch ext2-reservations.patch edac-new-opteron-athlon64-memory-controller-driver.patch aio-is-unlikely.patch sched2-sched-domain-sysctl-use-ctl_unnumbered.patch mm-implement-swap-prefetching-use-ctl_unnumbered.patch swap_prefetch-vs-zoned-counters.patch add-include-linux-freezerh-and-move-definitions-from-prefetch.patch rcu-preemptible-rcu.patch atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix.patch atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc-fix-2.patch local_t-powerpc-extension-fix.patch local_t-powerpc-extension-fix-build-fix.patch readahead-kconfig-options-fix.patch readahead-minmax_ra_pages.patch readahead-sysctl-parameters.patch readahead-sysctl-parameters-use-ctl_unnumbered.patch readahead-context-based-method-locking-fix.patch readahead-context-based-method-locking-fix-2.patch readahead-call-scheme-ifdef-fix.patch readahead-call-scheme-build-fix.patch readahead-nfsd-case-fix.patch make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch resier4-add-include-linux-freezerh-and-move-definitions-from.patch make-kmem_cache_destroy-return-void-reiser4.patch reiser4-hardirq-include-fix.patch reiser4-run-truncate_inode_pages-in-reiser4_delete_inode.patch reiser4-get_sb_dev-fix.patch reiser4-vs-zoned-allocator.patch reiser4-temp-fix.patch reiser4-kmem_cache_t-removal.patch reiser4-test_clear_page_dirty.patch statistics-infrastructure-fix-buffer-overflow-in-histogram-with-linear-tidy.patch slim-main-include-fix.patch nr_blockdev_pages-in_interrupt-warning.patch device-suspend-debug.patch mutex-subsystem-synchro-test-module-fix.patch slab-leaks3-default-y.patch vdso-print-fatal-signals-use-ctl_unnumbered.patch restore-rogue-readahead-printk.patch put_bh-debug.patch e1000-printk-warning-fixes.patch acpi_format_exception-debug.patch add-debugging-aid-for-memory-initialisation-problems-fix.patch kmap_atomic-debugging.patch shrink_slab-handle-bad-shrinkers.patch ia64-enable-config_debug_spinlock_sleep.patch squash-ipc-warnings.patch squash-udf-warnings.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html