From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:35287 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753368AbbLKUX7 (ORCPT ); Fri, 11 Dec 2015 15:23:59 -0500 Subject: Patch "debugfs: fix refcount imbalance in start_creating" has been added to the 4.1-stable tree To: daniel@iogearbox.net, gregkh@linuxfoundation.org, viro@zeniv.linux.org.uk Cc: , From: Date: Fri, 11 Dec 2015 09:19:42 -0800 Message-ID: <14498543821281@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: This is a note to let you know that I've just added the patch titled debugfs: fix refcount imbalance in start_creating to the 4.1-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: debugfs-fix-refcount-imbalance-in-start_creating.patch and it can be found in the queue-4.1 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >>From 0ee9608c89e81a1ccee52ecb58a7ff040e2522d9 Mon Sep 17 00:00:00 2001 From: Daniel Borkmann Date: Thu, 5 Nov 2015 00:01:51 +0100 Subject: debugfs: fix refcount imbalance in start_creating From: Daniel Borkmann commit 0ee9608c89e81a1ccee52ecb58a7ff040e2522d9 upstream. In debugfs' start_creating(), we pin the file system to safely access its root. When we failed to create a file, we unpin the file system via failed_creating() to release the mount count and eventually the reference of the vfsmount. However, when we run into an error during lookup_one_len() when still in start_creating(), we only release the parent's mutex but not so the reference on the mount. Looks like it was done in the past, but after splitting portions of __create_file() into start_creating() and end_creating() via 190afd81e4a5 ("debugfs: split the beginning and the end of __create_file() off"), this seemed missed. Noticed during code review. Fixes: 190afd81e4a5 ("debugfs: split the beginning and the end of __create_file() off") Signed-off-by: Daniel Borkmann Signed-off-by: Al Viro Signed-off-by: Greg Kroah-Hartman --- fs/debugfs/inode.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) --- a/fs/debugfs/inode.c +++ b/fs/debugfs/inode.c @@ -276,8 +276,12 @@ static struct dentry *start_creating(con dput(dentry); dentry = ERR_PTR(-EEXIST); } - if (IS_ERR(dentry)) + + if (IS_ERR(dentry)) { mutex_unlock(&d_inode(parent)->i_mutex); + simple_release_fs(&debugfs_mount, &debugfs_mount_count); + } + return dentry; } Patches currently in stable-queue which might be from daniel@iogearbox.net are queue-4.1/packet-infer-protocol-from-ethernet-header-if-unset.patch queue-4.1/debugfs-fix-refcount-imbalance-in-start_creating.patch queue-4.1/bpf-array-fix-heap-out-of-bounds-access-when-updating-elements.patch queue-4.1/ipv6-sctp-implement-sctp_v6_destroy_sock.patch queue-4.1/packet-only-allow-extra-vlan-len-on-ethernet-devices.patch queue-4.1/net-scm-fix-pax-detected-msg_controllen-overflow-in-scm_detach_fds.patch queue-4.1/packet-fix-tpacket_snd-max-frame-len.patch queue-4.1/packet-always-probe-for-transport-header.patch queue-4.1/packet-do-skb_probe_transport_header-when-we-actually-have-data.patch queue-4.1/tools-net-use-include-uapi-with-__exported_headers__.patch