stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	"Eric W. Biederman" <ebiederm@xmission.com>
Subject: [PATCH 4.1 061/123] mnt: In detach_mounts detach the appropriate unmounted mount
Date: Sat,  8 Aug 2015 15:08:59 -0700	[thread overview]
Message-ID: <20150808220720.011255332@linuxfoundation.org> (raw)
In-Reply-To: <20150808220717.771230091@linuxfoundation.org>

4.1-stable review patch.  If anyone has any objections, please let me know.

------------------

From: "Eric W. Biederman" <ebiederm@xmission.com>

commit fe78fcc85a2046c51f1535710996860557eeec20 upstream.

The handling of in detach_mounts of unmounted but connected mounts is
buggy and can lead to an infinite loop.

Correct the handling of unmounted mounts in detach_mount.  When the
mountpoint of an unmounted but connected mount is connected to a
dentry, and that dentry is deleted we need to disconnect that mount
from the parent mount and the deleted dentry.

Nothing changes for the unmounted and connected children.  They can be
safely ignored.

Fixes: ce07d891a0891d3c0d0c2d73d577490486b809e1 mnt: Honor MNT_LOCKED when detaching mounts
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/namespace.c |    7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -1554,11 +1554,8 @@ void __detach_mounts(struct dentry *dent
 	while (!hlist_empty(&mp->m_list)) {
 		mnt = hlist_entry(mp->m_list.first, struct mount, mnt_mp_list);
 		if (mnt->mnt.mnt_flags & MNT_UMOUNT) {
-			struct mount *p, *tmp;
-			list_for_each_entry_safe(p, tmp, &mnt->mnt_mounts,  mnt_child) {
-				hlist_add_head(&p->mnt_umount.s_list, &unmounted);
-				umount_mnt(p);
-			}
+			hlist_add_head(&mnt->mnt_umount.s_list, &unmounted);
+			umount_mnt(mnt);
 		}
 		else umount_tree(mnt, UMOUNT_CONNECTED);
 	}



  parent reply	other threads:[~2015-08-08 22:08 UTC|newest]

Thread overview: 139+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-08 22:07 [PATCH 4.1 000/123] 4.1.5-stable review Greg Kroah-Hartman
2015-08-08 22:07 ` [PATCH 4.1 001/123] cxl: Fix off by one error allowing subsequent mmap page to be accessed Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 002/123] cxl: Check if afu is not null in cxl_slbia Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 003/123] powerpc/powernv: Fix race in updating core_idle_state Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 004/123] Revert "Input: synaptics - allocate 3 slots to keep stability in image sensors" Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 005/123] parisc: Fix some PTE/TLB race conditions and optimize __flush_tlb_range based on timing results Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 006/123] parisc: mm: Fix a memory leak related to pmd not attached to the pgd Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 007/123] ARM: pxa: fix dm9000 platform data regression Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 008/123] ARM: dts: dra7x-evm: Prevent glitch on DCAN1 pinmux Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 009/123] ARM: dts: am57xx-beagle-x15: Provide supply for usb2_phy2 Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 010/123] ARM: 8404/1: dma-mapping: fix off-by-one error in bitmap size check Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 011/123] ARM: imx6: gpc: always enable PU domain if CONFIG_PM is not set Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 012/123] MIPS: Fix erroneous JR emulation for MIPS R6 Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 013/123] MIPS: c-r4k: Fix cache flushing for MT cores Greg Kroah-Hartman
2015-08-10 18:36   ` [4.1,013/123] " Leonid Yegoshin
2015-08-10 18:49     ` gregkh
2015-08-10 19:12       ` Leonid Yegoshin
2015-08-10 19:17         ` Markos Chandras
2015-08-10 19:19         ` gregkh
2015-08-10 19:22           ` Leonid Yegoshin
2015-08-08 22:08 ` [PATCH 4.1 014/123] MIPS: Require O32 FP64 support for MIPS64 with O32 compat Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 015/123] MIPS: fpu.h: Allow 64-bit FPU on a 64-bit MIPS R6 CPU Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 016/123] can: replace timestamp as unique skb attribute Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 017/123] can: rcar_can: fix IRQ check Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 018/123] can: c_can: Fix default pinmux glitch at init Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 019/123] can: rcar_can: print signed IRQ # Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 020/123] can: mcp251x: fix resume when device is down Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 021/123] freeing unlinked file indefinitely delayed Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 022/123] x86/init: Clear init_level4_pgt earlier Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 023/123] x86/kasan: Fix KASAN shadow region page tables Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 024/123] x86/kasan: Flush TLBs after switching CR3 Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 025/123] x86/kasan: Fix boot crash on AMD processors Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 026/123] crypto: omap-des - Fix unmapping of dma channels Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 027/123] s390/process: fix sfpc inline assembly Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 028/123] s390/sclp: clear upper register halves in _sclp_print_early Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 029/123] s390/nmi: fix vector register corruption Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 030/123] s390/bpf: clear correct BPF accumulator register Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 031/123] s390/cachinfo: add missing facility check to init_cache_level() Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 032/123] ARC: Override toplevel default -O2 with -O3 Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 033/123] ARC: make sure instruction_pointer() returns unsigned value Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 034/123] kbuild: Allow arch Makefiles to override {cpp,ld,c}flags Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 035/123] bio integrity: do not assume bio_integrity_pool exists if bioset exists Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 036/123] dma-debug: skip debug_dma_assert_idle() when disabled Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 039/123] ALSA: line6: Fix -EBUSY error during active monitoring Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 040/123] ALSA: pcm: Fix lockdep warning with nonatomic PCM ops Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 041/123] ALSA: hda - Add headset mic support for Acer Aspire V5-573G Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 042/123] ALSA: hda: add new AMD PCI IDs with proper driver caps Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 043/123] ALSA: hda - Add new GPU codec ID 0x10de007d to snd-hda Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 044/123] ALSA: hda - Add headset mic pin quirk for a Dell device Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 045/123] ALSA: hda - Apply fixup for another Toshiba Satellite S50D Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 046/123] ALSA: hda - Apply a fixup to Dell Vostro 5480 Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 047/123] ALSA: usb-audio: add dB range mapping for some devices Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 048/123] ALSA: hda - Fix MacBook Pro 5,2 quirk Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 049/123] x86, perf: Fix static_key bug in load_mm_cr4() Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 050/123] Revert "dm: only run the queue on completion if congested or no requests pending" Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 051/123] irqchip/gicv3-its: Fix mapping of LPIs to collections Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 052/123] scsi: fix host max depth checking for the queue_depth sysfs interface Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 053/123] scsi: fix memory leak with scsi-mq Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 055/123] drivers: clk: st: Fix flexgen lock init Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 056/123] drivers: clk: st: Fix mux bit-setting for Cortex A9 clocks Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 057/123] drivers: clk: st: Incorrect register offset used for lock_status Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 058/123] mac80211: clear subdir_stations when removing debugfs Greg Kroah-Hartman
2015-08-08 22:08 ` [PATCH 4.1 060/123] mnt: Clarify and correct the disconnect logic in umount_tree Greg Kroah-Hartman
2015-08-08 22:08 ` Greg Kroah-Hartman [this message]
2015-08-08 22:09 ` [PATCH 4.1 062/123] ftrace: Fix breakage of set_ftrace_pid Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 063/123] iommu/vt-d: Fix VM domain ID leak Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 064/123] mmc: omap_hsmmc: Fix DTO and DCRC handling Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 065/123] mmc: sdhci check parameters before call dma_free_coherent Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 066/123] mmc: sdhci-esdhc: Make 8BIT bus work Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 067/123] mmc: sdhci-pxav3: fix platform_data is not initialized Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 068/123] HID: cp2112: fix to force single data-report reply Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 069/123] iwlwifi: mvm: fix antenna selection when BT is active Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 070/123] iwlwifi: nvm: remove mac address byte swapping in 8000 family Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 071/123] iwlwifi: pcie: prepare the device before accessing it Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 072/123] md/raid1: fix test for was read error from last working device Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 073/123] spi: img-spfi: fix support for speeds up to 1/4th input clock Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 074/123] spi: imx: Fix small DMA transfers Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 075/123] tile: use free_bootmem_late() for initrd Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 076/123] Input: zforce - dont overwrite the stack Greg Kroah-Hartman
2015-08-08 22:37   ` Dmitry Torokhov
2015-08-10 19:12     ` Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 077/123] Input: usbtouchscreen - avoid unresponsive TSC-30 touch screen Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 078/123] blkcg: fix gendisk reference leak in blkg_conf_prep() Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 079/123] regulator: s2mps11: Fix GPIO suspend enable shift wrapping bug Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 080/123] ata: pmp: add quirk for Marvell 4140 SATA PMP Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 081/123] usb-storage: ignore ZTE MF 823 card reader in mode 0x1225 Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 082/123] Revert "serial: imx: initialized DMA w/o HW flow enabled" Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 083/123] serial: core: Fix crashes while echoing when closing Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 084/123] xhci: Calculate old endpoints correctly on device reset Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 085/123] xhci: report U3 when link is in resume state Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 086/123] xhci: prevent bus_suspend if SS port resuming in phase 1 Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 087/123] xhci: do not report PLC when link is in internal resume state Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 088/123] mei: prevent unloading mei hw modules while the device is opened Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 089/123] x86/mm: Add parenthesis for TLB tracepoint size calculation Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 090/123] efi: Handle memory error structures produced based on old versions of standard Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 091/123] arm64/efi: map the entire UEFI vendor string before reading it Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 092/123] efi: Check for NULL efi kernel parameters Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 093/123] x86/efi: Use all 64 bit of efi_memmap in setup_e820() Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 094/123] ARC: Reduce bitops lines of code using macros Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 095/123] ARC: Make ARC bitops "safer" (add anti-optimization) Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 096/123] rds: rds_ib_device.refcount overflow Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 097/123] n_tty: signal and flush atomically Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 098/123] blk-mq: set default timeout as 30 seconds Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 099/123] perf hists browser: Take the --comm, --dsos, etc filters into account Greg Kroah-Hartman
2015-08-09 18:12   ` Andre Tomt (LKML)
2015-08-10 19:11     ` Greg Kroah-Hartman
2015-08-11  8:52     ` Luis Henriques
2015-08-11 16:35       ` Kamal Mostafa
2015-08-08 22:09 ` [PATCH 4.1 100/123] perf/x86/intel/cqm: Return cached counter value from IRQ context Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 102/123] hwmon: (nct7802) Fix integer overflow seen when writing voltage limits Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 103/123] hwmon: (nct7904) Rename pwm attributes to match hwmon ABI Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 104/123] NFS: Dont revalidate the mapping if both size and change attr are up to date Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 105/123] avr32: handle NULL as a valid clock object Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 106/123] NFSv4: We must set NFS_OPEN_STATE flag in nfs_resync_open_stateid_locked Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 107/123] NFS: Fix a memory leak in nfs_do_recoalesce Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 108/123] IB/ipoib: Fix CONFIG_INFINIBAND_IPOIB_CM Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 109/123] iscsi-target: Fix use-after-free during TPG session shutdown Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 110/123] iscsi-target: Fix iscsit_start_kthreads failure OOPs Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 111/123] iscsi-target: Fix iser explicit logout TX kthread leak Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 112/123] intel_pstate: Add get_scaling cpu_defaults param to Knights Landing Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 113/123] qla2xxx: Fix hardware lock/unlock issue causing kernel panic Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 114/123] qla2xxx: release request queue reservation Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 115/123] qla2xxx: Remove msleep in qlt_send_term_exchange Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 116/123] qla2xxx: fix command initialization in target mode Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 117/123] qla2xxx: kill sessions/log out initiator on RSCN and port down events Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 118/123] drm/nouveau/fbcon/nv11-: correctly account for ring space usage Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 119/123] drm/nouveau/kms/nv50-: guard against enabling cursor on disabled heads Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 120/123] drm/nouveau: hold mutex when calling nouveau_abi16_fini() Greg Kroah-Hartman
2015-08-08 22:09 ` [PATCH 4.1 121/123] drm/nouveau/drm/nv04-nv40/instmem: protect access to priv->heap by mutex Greg Kroah-Hartman
2015-08-08 22:10 ` [PATCH 4.1 122/123] xfs: remote attribute headers contain an invalid LSN Greg Kroah-Hartman
2015-08-08 22:10 ` [PATCH 4.1 123/123] xfs: remote attributes need to be considered data Greg Kroah-Hartman
2015-08-09  3:21 ` [PATCH 4.1 000/123] 4.1.5-stable review Guenter Roeck
2015-08-10 19:09   ` Greg Kroah-Hartman
2015-08-10  5:42 ` Sudip Mukherjee
2015-08-10 19:09   ` Greg Kroah-Hartman
2015-08-10 18:14 ` Shuah Khan
2015-08-10 19:09   ` Greg Kroah-Hartman
     [not found] ` <55c913d2.6ad3b40a.22fe2.0751@mx.google.com>
2015-08-10 21:19   ` Kevin Hilman
2015-08-10 21:34     ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150808220720.011255332@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ebiederm@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).