linux-kernel.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, Filipe Manana <fdmanana@suse.com>,
	Chris Mason <clm@fb.com>
Subject: [PATCH 3.19 071/177] Btrfs: fix fsync race leading to ordered extent memory leaks
Date: Mon, 16 Mar 2015 15:07:58 +0100	[thread overview]
Message-ID: <20150316140816.328834988@linuxfoundation.org> (raw)
In-Reply-To: <20150316140813.085032723@linuxfoundation.org>

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

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

From: Filipe Manana <fdmanana@suse.com>

commit 4d884fceaa2c838abb598778813e93f6d9fea723 upstream.

We can have multiple fsync operations against the same file during the
same transaction and they can collect the same ordered extents while they
don't complete (still accessible from the inode's ordered tree). If this
happens, those ordered extents will never get their reference counts
decremented to 0, leading to memory leaks and inode leaks (an iput for an
ordered extent's inode is scheduled only when the ordered extent's refcount
drops to 0). The following sequence diagram explains this race:

         CPU 1                                         CPU 2

btrfs_sync_file()

                                                 btrfs_sync_file()

  mutex_lock(inode->i_mutex)
  btrfs_log_inode()
    btrfs_get_logged_extents()
      --> collects ordered extent X
      --> increments ordered
          extent X's refcount
    btrfs_submit_logged_extents()
  mutex_unlock(inode->i_mutex)

                                                   mutex_lock(inode->i_mutex)
  btrfs_sync_log()
     btrfs_wait_logged_extents()
       --> list_del_init(&ordered->log_list)
                                                     btrfs_log_inode()
                                                       btrfs_get_logged_extents()
                                                         --> Adds ordered extent X
                                                             to logged_list because
                                                             at this point:
                                                             list_empty(&ordered->log_list)
                                                             && test_bit(BTRFS_ORDERED_LOGGED,
                                                                         &ordered->flags) == 0
                                                         --> Increments ordered extent
                                                             X's refcount
       --> check if ordered extent's io is
           finished or not, start it if
           necessary and wait for it to finish
       --> sets bit BTRFS_ORDERED_LOGGED
           on ordered extent X's flags
           and adds it to trans->ordered
  btrfs_sync_log() finishes

                                                       btrfs_submit_logged_extents()
                                                     btrfs_log_inode() finishes
                                                   mutex_unlock(inode->i_mutex)

btrfs_sync_file() finishes

                                                   btrfs_sync_log()
                                                      btrfs_wait_logged_extents()
                                                        --> Sees ordered extent X has the
                                                            bit BTRFS_ORDERED_LOGGED set in
                                                            its flags
                                                        --> X's refcount is untouched
                                                   btrfs_sync_log() finishes

                                                 btrfs_sync_file() finishes

btrfs_commit_transaction()
  --> called by transaction kthread for e.g.
  btrfs_wait_pending_ordered()
    --> waits for ordered extent X to
        complete
    --> decrements ordered extent X's
        refcount by 1 only, corresponding
        to the increment done by the fsync
        task ran by CPU 1

In the scenario of the above diagram, after the transaction commit,
the ordered extent will remain with a refcount of 1 forever, leaking
the ordered extent structure and preventing the i_count of its inode
from ever decreasing to 0, since the delayed iput is scheduled only
when the ordered extent's refcount drops to 0, preventing the inode
from ever being evicted by the VFS.

Fix this by using the flag BTRFS_ORDERED_LOGGED differently. Use it to
mean that an ordered extent is already being processed by an fsync call,
which will attach it to the current transaction, preventing it from being
collected by subsequent fsync operations against the same inode.

This race was introduced with the following change (added in 3.19 and
backported to stable 3.18 and 3.17):

  Btrfs: make sure logged extents complete in the current transaction V3
  commit 50d9aa99bd35c77200e0e3dd7a72274f8304701f

I ran into this issue while running xfstests/generic/113 in a loop, which
failed about 1 out of 10 runs with the following warning in dmesg:

[ 2612.440038] WARNING: CPU: 4 PID: 22057 at fs/btrfs/disk-io.c:3558 free_fs_root+0x36/0x133 [btrfs]()
[ 2612.442810] Modules linked in: btrfs crc32c_generic xor raid6_pq nfsd auth_rpcgss oid_registry nfs_acl nfs lockd grace fscache sunrpc loop processor parport_pc parport psmouse therma
l_sys i2c_piix4 serio_raw pcspkr evdev microcode button i2c_core ext4 crc16 jbd2 mbcache sd_mod sg sr_mod cdrom virtio_scsi ata_generic virtio_pci ata_piix virtio_ring libata virtio flo
ppy e1000 scsi_mod [last unloaded: btrfs]
[ 2612.452711] CPU: 4 PID: 22057 Comm: umount Tainted: G        W      3.19.0-rc5-btrfs-next-4+ #1
[ 2612.454921] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5-0-ge51488c-20140602_164612-nilsson.home.kraxel.org 04/01/2014
[ 2612.457709]  0000000000000009 ffff8801342c3c78 ffffffff8142425e ffff88023ec8f2d8
[ 2612.459829]  0000000000000000 ffff8801342c3cb8 ffffffff81045308 ffff880046460000
[ 2612.461564]  ffffffffa036da56 ffff88003d07b000 ffff880046460000 ffff880046460068
[ 2612.463163] Call Trace:
[ 2612.463719]  [<ffffffff8142425e>] dump_stack+0x4c/0x65
[ 2612.464789]  [<ffffffff81045308>] warn_slowpath_common+0xa1/0xbb
[ 2612.466026]  [<ffffffffa036da56>] ? free_fs_root+0x36/0x133 [btrfs]
[ 2612.467247]  [<ffffffff810453c5>] warn_slowpath_null+0x1a/0x1c
[ 2612.468416]  [<ffffffffa036da56>] free_fs_root+0x36/0x133 [btrfs]
[ 2612.469625]  [<ffffffffa036f2a7>] btrfs_drop_and_free_fs_root+0x93/0x9b [btrfs]
[ 2612.471251]  [<ffffffffa036f353>] btrfs_free_fs_roots+0xa4/0xd6 [btrfs]
[ 2612.472536]  [<ffffffff8142612e>] ? wait_for_completion+0x24/0x26
[ 2612.473742]  [<ffffffffa0370bbc>] close_ctree+0x1f3/0x33c [btrfs]
[ 2612.475477]  [<ffffffff81059d1d>] ? destroy_workqueue+0x148/0x1ba
[ 2612.476695]  [<ffffffffa034e3da>] btrfs_put_super+0x19/0x1b [btrfs]
[ 2612.477911]  [<ffffffff81153e53>] generic_shutdown_super+0x73/0xef
[ 2612.479106]  [<ffffffff811540e2>] kill_anon_super+0x13/0x1e
[ 2612.480226]  [<ffffffffa034e1e3>] btrfs_kill_super+0x17/0x23 [btrfs]
[ 2612.481471]  [<ffffffff81154307>] deactivate_locked_super+0x3b/0x50
[ 2612.482686]  [<ffffffff811547a7>] deactivate_super+0x3f/0x43
[ 2612.483791]  [<ffffffff8116b3ed>] cleanup_mnt+0x59/0x78
[ 2612.484842]  [<ffffffff8116b44c>] __cleanup_mnt+0x12/0x14
[ 2612.485900]  [<ffffffff8105d019>] task_work_run+0x8f/0xbc
[ 2612.486960]  [<ffffffff810028d8>] do_notify_resume+0x5a/0x6b
[ 2612.488083]  [<ffffffff81236e5b>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[ 2612.489333]  [<ffffffff8142a17f>] int_signal+0x12/0x17
[ 2612.490353] ---[ end trace 54a960a6bdcb8d93 ]---
[ 2612.557253] VFS: Busy inodes after unmount of sdb. Self-destruct in 5 seconds.  Have a nice day...

Kmemleak confirmed the ordered extent leak (and btrfs inode specific
structures such as delayed nodes):

$ cat /sys/kernel/debug/kmemleak
unreferenced object 0xffff880154290db0 (size 576):
  comm "btrfsck", pid 21980, jiffies 4295542503 (age 1273.412s)
  hex dump (first 32 bytes):
    01 40 00 00 01 00 00 00 b0 1d f1 4e 01 88 ff ff  .@.........N....
    00 00 00 00 00 00 00 00 c8 0d 29 54 01 88 ff ff  ..........)T....
  backtrace:
    [<ffffffff8141d74d>] kmemleak_update_trace+0x4c/0x6a
    [<ffffffff8122f2c0>] radix_tree_node_alloc+0x6d/0x83
    [<ffffffff8122fb26>] __radix_tree_create+0x109/0x190
    [<ffffffff8122fbdd>] radix_tree_insert+0x30/0xac
    [<ffffffffa03b9bde>] btrfs_get_or_create_delayed_node+0x130/0x187 [btrfs]
    [<ffffffffa03bb82d>] btrfs_delayed_delete_inode_ref+0x32/0xac [btrfs]
    [<ffffffffa0379dae>] __btrfs_unlink_inode+0xee/0x288 [btrfs]
    [<ffffffffa037c715>] btrfs_unlink_inode+0x1e/0x40 [btrfs]
    [<ffffffffa037c797>] btrfs_unlink+0x60/0x9b [btrfs]
    [<ffffffff8115d7f0>] vfs_unlink+0x9c/0xed
    [<ffffffff8115f5de>] do_unlinkat+0x12c/0x1fa
    [<ffffffff811601a7>] SyS_unlinkat+0x29/0x2b
    [<ffffffff81429e92>] system_call_fastpath+0x12/0x17
    [<ffffffffffffffff>] 0xffffffffffffffff
unreferenced object 0xffff88014ef11db0 (size 576):
  comm "rm", pid 22009, jiffies 4295542593 (age 1273.052s)
  hex dump (first 32 bytes):
    02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 c8 1d f1 4e 01 88 ff ff  ...........N....
  backtrace:
    [<ffffffff8141d74d>] kmemleak_update_trace+0x4c/0x6a
    [<ffffffff8122f2c0>] radix_tree_node_alloc+0x6d/0x83
    [<ffffffff8122fb26>] __radix_tree_create+0x109/0x190
    [<ffffffff8122fbdd>] radix_tree_insert+0x30/0xac
    [<ffffffffa03b9bde>] btrfs_get_or_create_delayed_node+0x130/0x187 [btrfs]
    [<ffffffffa03bb82d>] btrfs_delayed_delete_inode_ref+0x32/0xac [btrfs]
    [<ffffffffa0379dae>] __btrfs_unlink_inode+0xee/0x288 [btrfs]
    [<ffffffffa037c715>] btrfs_unlink_inode+0x1e/0x40 [btrfs]
    [<ffffffffa037c797>] btrfs_unlink+0x60/0x9b [btrfs]
    [<ffffffff8115d7f0>] vfs_unlink+0x9c/0xed
    [<ffffffff8115f5de>] do_unlinkat+0x12c/0x1fa
    [<ffffffff811601a7>] SyS_unlinkat+0x29/0x2b
    [<ffffffff81429e92>] system_call_fastpath+0x12/0x17
    [<ffffffffffffffff>] 0xffffffffffffffff
unreferenced object 0xffff8800336feda8 (size 584):
  comm "aio-stress", pid 22031, jiffies 4295543006 (age 1271.400s)
  hex dump (first 32 bytes):
    00 40 3e 00 00 00 00 00 00 00 8f 42 00 00 00 00  .@>........B....
    00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00  ................
  backtrace:
    [<ffffffff8114eb34>] create_object+0x172/0x29a
    [<ffffffff8141d790>] kmemleak_alloc+0x25/0x41
    [<ffffffff81141ae6>] kmemleak_alloc_recursive.constprop.52+0x16/0x18
    [<ffffffff81145288>] kmem_cache_alloc+0xf7/0x198
    [<ffffffffa0389243>] __btrfs_add_ordered_extent+0x43/0x309 [btrfs]
    [<ffffffffa038968b>] btrfs_add_ordered_extent_dio+0x12/0x14 [btrfs]
    [<ffffffffa03810e2>] btrfs_get_blocks_direct+0x3ef/0x571 [btrfs]
    [<ffffffff81181349>] do_blockdev_direct_IO+0x62a/0xb47
    [<ffffffff8118189a>] __blockdev_direct_IO+0x34/0x36
    [<ffffffffa03776e5>] btrfs_direct_IO+0x16a/0x1e8 [btrfs]
    [<ffffffff81100373>] generic_file_direct_write+0xb8/0x12d
    [<ffffffffa038615c>] btrfs_file_write_iter+0x24b/0x42f [btrfs]
    [<ffffffff8118bb0d>] aio_run_iocb+0x2b7/0x32e
    [<ffffffff8118c99a>] do_io_submit+0x26e/0x2ff
    [<ffffffff8118ca3b>] SyS_io_submit+0x10/0x12
    [<ffffffff81429e92>] system_call_fastpath+0x12/0x17

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Chris Mason <clm@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

--- a/fs/btrfs/ordered-data.c
+++ b/fs/btrfs/ordered-data.c
@@ -452,9 +452,7 @@ void btrfs_get_logged_extents(struct ino
 			continue;
 		if (entry_end(ordered) <= start)
 			break;
-		if (!list_empty(&ordered->log_list))
-			continue;
-		if (test_bit(BTRFS_ORDERED_LOGGED, &ordered->flags))
+		if (test_and_set_bit(BTRFS_ORDERED_LOGGED, &ordered->flags))
 			continue;
 		list_add(&ordered->log_list, logged_list);
 		atomic_inc(&ordered->refs);
@@ -511,8 +509,7 @@ void btrfs_wait_logged_extents(struct bt
 		wait_event(ordered->wait, test_bit(BTRFS_ORDERED_IO_DONE,
 						   &ordered->flags));
 
-		if (!test_and_set_bit(BTRFS_ORDERED_LOGGED, &ordered->flags))
-			list_add_tail(&ordered->trans_list, &trans->ordered);
+		list_add_tail(&ordered->trans_list, &trans->ordered);
 		spin_lock_irq(&log->log_extents_lock[index]);
 	}
 	spin_unlock_irq(&log->log_extents_lock[index]);



  parent reply	other threads:[~2015-03-16 14:14 UTC|newest]

Thread overview: 164+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-16 14:06 [PATCH 3.19 000/177] 3.19.2-stable review Greg Kroah-Hartman
2015-03-16 14:06 ` [PATCH 3.19 002/177] ipv6: addrconf: add missing validate_link_af handler Greg Kroah-Hartman
2015-03-16 14:06 ` [PATCH 3.19 003/177] pktgen: fix UDP checksum computation Greg Kroah-Hartman
2015-03-16 14:06 ` [PATCH 3.19 004/177] rtnetlink: ifla_vf_policy: fix misuses of NLA_BINARY Greg Kroah-Hartman
2015-03-16 14:06 ` [PATCH 3.19 005/177] ipv6: Fix fragment id assignment on LE arches Greg Kroah-Hartman
2015-03-16 14:06 ` [PATCH 3.19 006/177] ipv6: Make __ipv6_select_ident static Greg Kroah-Hartman
2015-03-16 14:06 ` [PATCH 3.19 007/177] tcp: make sure skb is not shared before using skb_get() Greg Kroah-Hartman
2015-03-16 14:06 ` [PATCH 3.19 008/177] ipv6: fix ipv6_cow_metrics for non DST_HOST case Greg Kroah-Hartman
2015-03-16 14:06 ` [PATCH 3.19 009/177] rtnetlink: call ->dellink on failure when ->newlink exists Greg Kroah-Hartman
2015-03-16 14:06 ` [PATCH 3.19 011/177] ipv4: ip_check_defrag should correctly check return value of skb_copy_bits Greg Kroah-Hartman
2015-03-16 14:06 ` [PATCH 3.19 012/177] ipv4: ip_check_defrag should not assume that skb_network_offset is zero Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 013/177] net: phy: Fix verification of EEE support in phy_init_eee Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 015/177] openvswitch: Fix net exit Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 016/177] sock: sock_dequeue_err_skb() needs hard irq safety Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 017/177] net: reject creation of netdev names with colons Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 018/177] Revert "r8169: add support for Byte Queue Limits" Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 019/177] net: pktgen: disable xmit_clone on virtual devices Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 020/177] team: fix possible null pointer dereference in team_handle_frame Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 021/177] net: compat: Ignore MSG_CMSG_COMPAT in compat_sys_{send, recv}msg Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 022/177] macvtap: make sure neighbour code can push ethernet header Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 023/177] net: bcmgenet: fix throughtput regression Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 024/177] net: bcmgenet: fix software maintained statistics Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 025/177] sh_eth: Fix lost MAC address on kexec Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 026/177] net: do not use rcu in rtnl_dump_ifinfo() Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 027/177] usb: plusb: Add support for National Instruments host-to-host cable Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 028/177] udp: only allow UFO for packets from SOCK_DGRAM sockets Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 029/177] net: ping: Return EAFNOSUPPORT when appropriate Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 030/177] team: dont traverse port list using rcu in team_set_mac_address Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 031/177] mm/hugetlb: fix getting refcount 0 page in hugetlb_fault() Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 032/177] mm/hugetlb: add migration/hwpoisoned entry check in hugetlb_change_protection Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 033/177] mm/hugetlb: add migration entry check in __unmap_hugepage_range Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 034/177] mm, hugetlb: remove unnecessary lower bound on sysctl handlers"? Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 035/177] mm: when stealing freepages, also take pages created by splitting buddy page Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 036/177] mm/mmap.c: fix arithmetic overflow in __vm_enough_memory() Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 037/177] mm/nommu.c: " Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 038/177] mm/compaction: fix wrong order check in compact_finished() Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 039/177] mm/memory.c: actually remap enough memory Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 040/177] mm: hwpoison: drop lru_add_drain_all() in __soft_offline_page() Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 041/177] mm: fix negative nr_isolated counts Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 042/177] mm/nommu: fix memory leak Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 043/177] mm: page_alloc: revert inadvertent !__GFP_FS retry behavior change Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 044/177] drm/tegra: Use correct relocation target offsets Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 048/177] drm/radeon/dp: Set EDP_CONFIGURATION_SET for bridge chips if necessary Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 049/177] drm/radeon: fix voltage setup on hawaii Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 050/177] drm/i915: Insert a command barrier on BLT/BSD cache flushes Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 051/177] drm/i915: Drop vblank wait from intel_dp_link_down Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 054/177] drm/i915: Clamp efficient frequency to valid range Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 055/177] target: Fix PR_APTPL_BUF_LEN buffer size limitation Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 056/177] target: Add missing WRITE_SAME end-of-device sanity check Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 057/177] target: Check for LBA + sectors wrap-around in sbc_parse_cdb Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 058/177] x86/asm/entry/64: Remove a bogus ret_from_fork optimization Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 059/177] x86/fpu/xsaves: Fix improper uses of __ex_table Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 060/177] iio: mxs-lradc: fix iio channel map regression Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 061/177] iio: imu: adis16400: Fix sign extension Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 067/177] iio:adc:mcp3422 Fix incorrect scales table Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 068/177] IIO: si7020: Allocate correct amount of memory in devm_iio_device_alloc Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 069/177] Revert "iio:humidity:si7020: fix pointer to i2c client" Greg Kroah-Hartman
2015-03-16 14:07 ` [PATCH 3.19 070/177] mei: make device disabled on stop unconditionally Greg Kroah-Hartman
2015-03-16 14:07 ` Greg Kroah-Hartman [this message]
2015-03-16 14:07 ` [PATCH 3.19 072/177] btrfs: fix lost return value due to variable shadowing Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 073/177] Btrfs: fix data loss in the fast fsync path Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 074/177] Btrfs:__add_inode_ref: out of bounds memory read when looking for extended ref Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 075/177] KVM: emulate: fix CMPXCHG8B on 32-bit hosts Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 076/177] KVM: MIPS: Fix trace event to save PC directly Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 077/177] uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS539 Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 078/177] Revert "USB: serial: make bulk_out_size a lower limit" Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 079/177] USB: serial: cp210x: Adding Seletek device ids Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 080/177] USB: mxuport: fix null deref when used as a console Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 081/177] USB: usbfs: dont leak kernel data in siginfo Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 082/177] USB: ftdi_sio: add PIDs for Actisense USB devices Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 083/177] usb: ftdi_sio: Add jtag quirk support for Cyber Cortex AV boards Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 084/177] usb: dwc3: dwc3-omap: Fix disable IRQ Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 085/177] usb: gadget: configfs: dont NUL-terminate (sub)compatible ids Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 086/177] usb: XHCI: platform: Move the Marvell quirks after the enabling the clocks Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 087/177] xhci: Allocate correct amount of scratchpad buffers Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 088/177] xhci: fix reporting of 0-sized URBs in control endpoint Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 089/177] xhci: Workaround for PME stuck issues in Intel xhci Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 090/177] mac80211: Send EAPOL frames at lowest rate Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 091/177] mac80211: notify channel switch at the end of ieee80211_chswitch_post_beacon() Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 092/177] net: irda: fix wait_until_sent poll timeout Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 093/177] USB: serial: fix infinite wait_until_sent timeout Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 094/177] TTY: fix tty_wait_until_sent on 64-bit machines Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 095/177] USB: serial: fix potential use-after-free after failed probe Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 096/177] USB: serial: fix tty-device error handling at probe Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 097/177] autofs4 copy_dev_ioctl(): keep the value of ->size wed used for allocation Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 098/177] autofs4: Wrong format for printing dentry Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 099/177] debugfs: leave freeing a symlink body until inode eviction Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 100/177] procfs: fix race between symlink removals and traversals Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 101/177] sunrpc: fix braino in ->poll() Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 102/177] SUNRPC: Always manipulate rpc_rqst::rq_bc_pa_list under xprt->bc_pa_lock Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 103/177] ARC: Fix KSTK_ESP() Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 104/177] tty: fix up atime/mtime mess, take four Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 105/177] serial: 8250: Revert "tty: serial: 8250_core: read only RX if there is something in the FIFO" Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 106/177] ALSA: pcm: Dont leave PREPARED state after draining Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 107/177] ALSA: hda - Add pin configs for ASUS mobo with IDT 92HD73XX codec Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 108/177] ALSA: fireworks/bebob/dice/oxfw: add reference-counting for FireWire unit Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 109/177] ALSA: firewire-lib: remove reference counting Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 110/177] ALSA: fireworks/bebob/dice/oxfw: allow stream destructor after releasing runtime Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 111/177] ALSA: fireworks/bebob/dice/oxfw: make it possible to shutdown safely Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 112/177] ALSA: hda: controller code - do not export static functions Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 113/177] ALSA: hda - Disable runtime PM for Panther Point again Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 114/177] ALSA: oxfw: fix a condition and return code in start_stream() Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 115/177] ALSA: hda - One more Dell macine needs DELL1_MIC_NO_PRESENCE quirk Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 116/177] locking/rtmutex: Avoid a NULL pointer dereference on deadlock Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 117/177] sg: fix read() error reporting Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 118/177] IB/qib: Do not write EEPROM Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 119/177] IB/iser: Fix memory regions possible leak Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 120/177] IB/iser: Use correct dma direction when unmapping SGs Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 121/177] IB/mlx5: Fix error code in get_port_caps() Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 122/177] IB/mlx4: Fix memory leak in __mlx4_ib_modify_qp Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 123/177] IB/mlx4: Fix wrong usage of IPv4 protocol for multicast attach/detach Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 124/177] IB/core: Fix deadlock on uverbs modify_qp error flow Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 125/177] IB/core: Properly handle registration of on-demand paging MRs after dereg Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 126/177] IB/core: When marshaling ucma path from user-space, clear unused fields Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 127/177] nilfs2: fix potential memory overrun on inode Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 128/177] wd719x: add missing .module to wd719x_template Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 129/177] fixed invalid assignment of 64bit mask to host dma_boundary for scatter gather segment boundary limit Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 130/177] clk: zynq: Force CPU_2X clock to be ungated Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 131/177] clk: Fix debugfs clk removal before inited Greg Kroah-Hartman
2015-03-16 14:08 ` [PATCH 3.19 132/177] sunxi: clk: Set sun6i-pll1 n_start = 1 Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 133/177] staging: comedi: comedi_compat32.c: fix COMEDI_CMD copy back Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 134/177] dm mirror: do not degrade the mirror on discard error Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 135/177] dm io: reject unsupported DISCARD requests with EOPNOTSUPP Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 136/177] dm: fix a race condition in dm_get_md Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 137/177] dm snapshot: fix a possible invalid memory access on unload Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 138/177] firmware: dmi_scan: Fix dmi_len type Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 139/177] firmware: dmi_scan: Fix dmi scan to handle "End of Table" structure Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 140/177] staging: comedi: cb_pcidas64: fix incorrect AI range code handling Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 141/177] HID: input: fix confusion on conflicting mappings Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 142/177] HID: fixup the conflicting keyboard mappings quirk Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 143/177] HID: wacom: Report ABS_MISC event for Cintiq Companion Hybrid Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 144/177] drm/radeon: enable native backlight control on old macs Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 145/177] drm/radeon: use drm_mode_vrefresh() rather than mode->vrefresh Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 146/177] drm/radeon: fix 1 RB harvest config setup for TN/RL Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 147/177] drm/i915/bdw: PCI IDs ending in 0xb are ULT Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 148/177] drm/i915: Check obj->vma_list under the struct_mutex Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 149/177] drm/i915: Dell Chromebook 11 has PWM backlight Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 150/177] drm/i915: avoid processing spurious/shared interrupts in low-power states Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 151/177] drm/i915: Check for driver readyness before handling an underrun interrupt Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 153/177] nfsd: fix clp->cl_revoked list deletion causing softlock in nfsd Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 154/177] efi: Small leak on error in runtime map code Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 155/177] efi/libstub: Fix boundary checking in efi_high_alloc() Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 156/177] eCryptfs: dont pass fs-specific ioctl commands through Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 157/177] ACPI / video: Load the module even if ACPI is disabled Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 158/177] ACPI / LPSS: provide con_id for the clkdev Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 159/177] NFS: Dont invalidate a submounted dentry in nfs_prime_dcache() Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 160/177] NFSv4: Dont call put_rpccred() under the rcu_read_lock() Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 161/177] ASoC: omap-pcm: Correct dma mask Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 162/177] ASoC: rt5670: Set RT5670_IRQ_CTRL1 non volatile Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 163/177] stable_kernel_rules: reorganize and update submission options Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 164/177] coresight-etm: unlock on error paths in mode_store() Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 165/177] sched: Fix hrtick_start() on UP Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 166/177] of/pci: Free resources on failure in of_pci_get_host_bridge_resources() Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 167/177] GFS2: Fix crash during ACL deletion in acl max entry check in gfs2_set_acl() Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 168/177] ath5k: fix spontaneus AR5312 freezes Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 171/177] vmstat: do not use deferrable delayed work for vmstat_update Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 172/177] sched/autogroup: Fix failure to set cpu.rt_runtime_us Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 173/177] clk-gate: fix bit # check in clk_register_gate() Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 174/177] cxl: Use image state defaults for reloading FPGA Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 175/177] cxl: Fix device_node reference counting Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 176/177] cxl: Add missing return statement after handling AFU errror Greg Kroah-Hartman
2015-03-16 14:09 ` [PATCH 3.19 177/177] Revert "netfilter: xt_recent: relax ip_pkt_list_tot restrictions" Greg Kroah-Hartman
2015-03-16 19:59 ` [PATCH 3.19 000/177] 3.19.2-stable review Guenter Roeck
2015-03-16 20:16   ` 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=20150316140816.328834988@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=clm@fb.com \
    --cc=fdmanana@suse.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).