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, Fabian Frederick <fabf@skynet.be>,
	Theodore Tso <tytso@mit.edu>
Subject: [PATCH 4.4 18/25] ext4: fix memory leak in ext4_insert_range()
Date: Fri, 21 Oct 2016 11:16:09 +0200	[thread overview]
Message-ID: <20161021091414.162796066@linuxfoundation.org> (raw)
In-Reply-To: <20161021091413.053290730@linuxfoundation.org>

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

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

From: Fabian Frederick <fabf@skynet.be>

commit edf15aa180d7b98fe16bd3eda42f9dd0e60dee20 upstream.

Running xfstests generic/013 with kmemleak gives the following:

unreferenced object 0xffff8801d3d27de0 (size 96):
  comm "fsstress", pid 4941, jiffies 4294860168 (age 53.485s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<ffffffff818eaaf3>] kmemleak_alloc+0x23/0x40
    [<ffffffff81179805>] __kmalloc+0xf5/0x1d0
    [<ffffffff8122ef5c>] ext4_find_extent+0x1ec/0x2f0
    [<ffffffff8123530c>] ext4_insert_range+0x34c/0x4a0
    [<ffffffff81235942>] ext4_fallocate+0x4e2/0x8b0
    [<ffffffff81181334>] vfs_fallocate+0x134/0x210
    [<ffffffff8118203f>] SyS_fallocate+0x3f/0x60
    [<ffffffff818efa9b>] entry_SYSCALL_64_fastpath+0x13/0x8f
    [<ffffffffffffffff>] 0xffffffffffffffff

Problem seems mitigated by dropping refs and freeing path
when there's no path[depth].p_ext

Signed-off-by: Fabian Frederick <fabf@skynet.be>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/ext4/extents.c |    3 +++
 1 file changed, 3 insertions(+)

--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -5738,6 +5738,9 @@ int ext4_insert_range(struct inode *inod
 			up_write(&EXT4_I(inode)->i_data_sem);
 			goto out_stop;
 		}
+	} else {
+		ext4_ext_drop_refs(path);
+		kfree(path);
 	}
 
 	ret = ext4_es_remove_extent(inode, offset_lblk,



  parent reply	other threads:[~2016-10-21  9:16 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20161021091628uscas1p21e03f35d4481162f8066d9056c8aeb3c@uscas1p2.samsung.com>
2016-10-21  9:15 ` [PATCH 4.4 00/25] 4.4.27-stable review Greg Kroah-Hartman
2016-10-21  9:15   ` [PATCH 4.4 01/25] serial: 8250_dw: Check the data->pclk when get apb_pclk Greg Kroah-Hartman
2016-10-21  9:15   ` [PATCH 4.4 02/25] btrfs: assign error values to the correct bio structs Greg Kroah-Hartman
2016-10-21  9:15   ` [PATCH 4.4 03/25] drivers: base: dma-mapping: page align the size when unmap_kernel_range Greg Kroah-Hartman
2016-10-21  9:15   ` [PATCH 4.4 04/25] fuse: listxattr: verify xattr list Greg Kroah-Hartman
2016-10-21  9:15   ` [PATCH 4.4 06/25] fuse: fix killing s[ug]id in setattr Greg Kroah-Hartman
2016-10-21  9:15   ` [PATCH 4.4 07/25] i40e: avoid NULL pointer dereference and recursive errors on early PCI error Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 09/25] ASoC: Intel: Atom: add a missing star in a memcpy call Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 10/25] reiserfs: Unlock superblock before calling reiserfs_quota_on_mount() Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 11/25] reiserfs: switch to generic_{get,set,remove}xattr() Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 12/25] async_pq_val: fix DMA memory leak Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 13/25] scsi: arcmsr: Buffer overflow in arcmsr_iop_message_xfer() Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 14/25] scsi: arcmsr: Simplify user_len checking Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 15/25] scsi: ibmvfc: Fix I/O hang when port is not mapped Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 16/25] ext4: enforce online defrag restriction for encrypted files Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 17/25] ext4: reinforce check of i_dtime when clearing high fields of uid and gid Greg Kroah-Hartman
2016-10-21  9:16   ` Greg Kroah-Hartman [this message]
2016-10-21  9:16   ` [PATCH 4.4 19/25] ext4: allow DAX writeback for hole punch Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 20/25] ext4: release bh in make_indexed_dir Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 21/25] crypto: ghash-generic - move common definitions to a new header file Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 22/25] crypto: vmx - Fix memory corruption caused by p8_ghash Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 23/25] dlm: free workqueues after the connections Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 24/25] vfs: move permission checking into notify_change() for utimes(NULL) Greg Kroah-Hartman
2016-10-21  9:16   ` [PATCH 4.4 25/25] cfq: fix starvation of asynchronous writes Greg Kroah-Hartman
2016-10-21 15:44   ` [PATCH 4.4 00/25] 4.4.27-stable review Shuah Khan
2016-10-21 19:16   ` Guenter Roeck

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=20161021091414.162796066@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=fabf@skynet.be \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tytso@mit.edu \
    /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).