From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Josef Bacik <josef@toxicpanda.com>,
Filipe Manana <fdmanana@suse.com>,
David Sterba <dsterba@suse.com>
Subject: [PATCH 5.4 099/191] Btrfs: fix infinite loop during nocow writeback due to race
Date: Tue, 7 Jan 2020 21:53:39 +0100 [thread overview]
Message-ID: <20200107205338.288480960@linuxfoundation.org> (raw)
In-Reply-To: <20200107205332.984228665@linuxfoundation.org>
From: Filipe Manana <fdmanana@suse.com>
commit de7999afedff02c6631feab3ea726a0e8f8c3d40 upstream.
When starting writeback for a range that covers part of a preallocated
extent, due to a race with writeback for another range that also covers
another part of the same preallocated extent, we can end up in an infinite
loop.
Consider the following example where for inode 280 we have two dirty
ranges:
range A, from 294912 to 303103, 8192 bytes
range B, from 348160 to 438271, 90112 bytes
and we have the following file extent item layout for our inode:
leaf 38895616 gen 24544 total ptrs 29 free space 13820 owner 5
(...)
item 27 key (280 108 200704) itemoff 14598 itemsize 53
extent data disk bytenr 0 nr 0 type 1 (regular)
extent data offset 0 nr 94208 ram 94208
item 28 key (280 108 294912) itemoff 14545 itemsize 53
extent data disk bytenr 10433052672 nr 81920 type 2 (prealloc)
extent data offset 0 nr 81920 ram 81920
Then the following happens:
1) Writeback starts for range B (from 348160 to 438271), execution of
run_delalloc_nocow() starts;
2) The first iteration of run_delalloc_nocow()'s whil loop leaves us at
the extent item at slot 28, pointing to the prealloc extent item
covering the range from 294912 to 376831. This extent covers part of
our range;
3) An ordered extent is created against that extent, covering the file
range from 348160 to 376831 (28672 bytes);
4) We adjust 'cur_offset' to 376832 and move on to the next iteration of
the while loop;
5) The call to btrfs_lookup_file_extent() leaves us at the same leaf,
pointing to slot 29, 1 slot after the last item (the extent item
we processed in the previous iteration);
6) Because we are a slot beyond the last item, we call btrfs_next_leaf(),
which releases the search path before doing a another search for the
last key of the leaf (280 108 294912);
7) Right after btrfs_next_leaf() released the path, and before it did
another search for the last key of the leaf, writeback for the range
A (from 294912 to 303103) completes (it was previously started at
some point);
8) Upon completion of the ordered extent for range A, the prealloc extent
we previously found got split into two extent items, one covering the
range from 294912 to 303103 (8192 bytes), with a type of regular extent
(and no longer prealloc) and another covering the range from 303104 to
376831 (73728 bytes), with a type of prealloc and an offset of 8192
bytes. So our leaf now has the following layout:
leaf 38895616 gen 24544 total ptrs 31 free space 13664 owner 5
(...)
item 27 key (280 108 200704) itemoff 14598 itemsize 53
extent data disk bytenr 0 nr 0 type 1
extent data offset 0 nr 8192 ram 94208
item 28 key (280 108 208896) itemoff 14545 itemsize 53
extent data disk bytenr 10433142784 nr 86016 type 1
extent data offset 0 nr 86016 ram 86016
item 29 key (280 108 294912) itemoff 14492 itemsize 53
extent data disk bytenr 10433052672 nr 81920 type 1
extent data offset 0 nr 8192 ram 81920
item 30 key (280 108 303104) itemoff 14439 itemsize 53
extent data disk bytenr 10433052672 nr 81920 type 2
extent data offset 8192 nr 73728 ram 81920
9) After btrfs_next_leaf() returns, we have our path pointing to that same
leaf and at slot 30, since it has a key we didn't have before and it's
the first key greater then the key that was previously the last key of
the leaf (key (280 108 294912));
10) The extent item at slot 30 covers the range from 303104 to 376831
which is in our target range, so we process it, despite having already
created an ordered extent against this extent for the file range from
348160 to 376831. This is because we skip to the next extent item only
if its end is less than or equals to the start of our delalloc range,
and not less than or equals to the current offset ('cur_offset');
11) As a result we compute 'num_bytes' as:
num_bytes = min(end + 1, extent_end) - cur_offset;
= min(438271 + 1, 376832) - 376832 = 0
12) We then call create_io_em() for a 0 bytes range starting at offset
376832;
13) Then create_io_em() enters an infinite loop because its calls to
btrfs_drop_extent_cache() do nothing due to the 0 length range
passed to it. So no existing extent maps that cover the offset
376832 get removed, and therefore calls to add_extent_mapping()
return -EEXIST, resulting in an infinite loop. This loop from
create_io_em() is the following:
do {
btrfs_drop_extent_cache(BTRFS_I(inode), em->start,
em->start + em->len - 1, 0);
write_lock(&em_tree->lock);
ret = add_extent_mapping(em_tree, em, 1);
write_unlock(&em_tree->lock);
/*
* The caller has taken lock_extent(), who could race with us
* to add em?
*/
} while (ret == -EEXIST);
Also, each call to btrfs_drop_extent_cache() triggers a warning because
the start offset passed to it (376832) is smaller then the end offset
(376832 - 1) passed to it by -1, due to the 0 length:
[258532.052621] ------------[ cut here ]------------
[258532.052643] WARNING: CPU: 0 PID: 9987 at fs/btrfs/file.c:602 btrfs_drop_extent_cache+0x3f4/0x590 [btrfs]
(...)
[258532.052672] CPU: 0 PID: 9987 Comm: fsx Tainted: G W 5.4.0-rc7-btrfs-next-64 #1
[258532.052673] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-0-ga698c8995f-prebuilt.qemu.org 04/01/2014
[258532.052691] RIP: 0010:btrfs_drop_extent_cache+0x3f4/0x590 [btrfs]
(...)
[258532.052695] RSP: 0018:ffffb4be0153f860 EFLAGS: 00010287
[258532.052700] RAX: ffff975b445ee360 RBX: ffff975b44eb3e08 RCX: 0000000000000000
[258532.052700] RDX: 0000000000038fff RSI: 0000000000039000 RDI: ffff975b445ee308
[258532.052700] RBP: 0000000000038fff R08: 0000000000000000 R09: 0000000000000001
[258532.052701] R10: ffff975b513c5c10 R11: 00000000e3c0cfa9 R12: 0000000000039000
[258532.052703] R13: ffff975b445ee360 R14: 00000000ffffffef R15: ffff975b445ee308
[258532.052705] FS: 00007f86a821de80(0000) GS:ffff975b76a00000(0000) knlGS:0000000000000000
[258532.052707] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[258532.052708] CR2: 00007fdacf0f3ab4 CR3: 00000001f9d26002 CR4: 00000000003606f0
[258532.052712] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[258532.052717] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[258532.052717] Call Trace:
[258532.052718] ? preempt_schedule_common+0x32/0x70
[258532.052722] ? ___preempt_schedule+0x16/0x20
[258532.052741] create_io_em+0xff/0x180 [btrfs]
[258532.052767] run_delalloc_nocow+0x942/0xb10 [btrfs]
[258532.052791] btrfs_run_delalloc_range+0x30b/0x520 [btrfs]
[258532.052812] ? find_lock_delalloc_range+0x221/0x250 [btrfs]
[258532.052834] writepage_delalloc+0xe4/0x140 [btrfs]
[258532.052855] __extent_writepage+0x110/0x4e0 [btrfs]
[258532.052876] extent_write_cache_pages+0x21c/0x480 [btrfs]
[258532.052906] extent_writepages+0x52/0xb0 [btrfs]
[258532.052911] do_writepages+0x23/0x80
[258532.052915] __filemap_fdatawrite_range+0xd2/0x110
[258532.052938] btrfs_fdatawrite_range+0x1b/0x50 [btrfs]
[258532.052954] start_ordered_ops+0x57/0xa0 [btrfs]
[258532.052973] ? btrfs_sync_file+0x225/0x490 [btrfs]
[258532.052988] btrfs_sync_file+0x225/0x490 [btrfs]
[258532.052997] __x64_sys_msync+0x199/0x200
[258532.053004] do_syscall_64+0x5c/0x250
[258532.053007] entry_SYSCALL_64_after_hwframe+0x49/0xbe
[258532.053010] RIP: 0033:0x7f86a7dfd760
(...)
[258532.053014] RSP: 002b:00007ffd99af0368 EFLAGS: 00000246 ORIG_RAX: 000000000000001a
[258532.053016] RAX: ffffffffffffffda RBX: 0000000000000ec9 RCX: 00007f86a7dfd760
[258532.053017] RDX: 0000000000000004 RSI: 000000000000836c RDI: 00007f86a8221000
[258532.053019] RBP: 0000000000021ec9 R08: 0000000000000003 R09: 00007f86a812037c
[258532.053020] R10: 0000000000000001 R11: 0000000000000246 R12: 00000000000074a3
[258532.053021] R13: 00007f86a8221000 R14: 000000000000836c R15: 0000000000000001
[258532.053032] irq event stamp: 1653450494
[258532.053035] hardirqs last enabled at (1653450493): [<ffffffff9dec69f9>] _raw_spin_unlock_irq+0x29/0x50
[258532.053037] hardirqs last disabled at (1653450494): [<ffffffff9d4048ea>] trace_hardirqs_off_thunk+0x1a/0x20
[258532.053039] softirqs last enabled at (1653449852): [<ffffffff9e200466>] __do_softirq+0x466/0x6bd
[258532.053042] softirqs last disabled at (1653449845): [<ffffffff9d4c8a0c>] irq_exit+0xec/0x120
[258532.053043] ---[ end trace 8476fce13d9ce20a ]---
Which results in flooding dmesg/syslog since btrfs_drop_extent_cache()
uses WARN_ON() and not WARN_ON_ONCE().
So fix this issue by changing run_delalloc_nocow()'s loop to move to the
next extent item when the current extent item ends at at offset less than
or equals to the current offset instead of the start offset.
Fixes: 80ff385665b7fc ("Btrfs: update nodatacow code v2")
CC: stable@vger.kernel.org # 4.4+
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
fs/btrfs/inode.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -1439,10 +1439,10 @@ next_slot:
disk_num_bytes =
btrfs_file_extent_disk_num_bytes(leaf, fi);
/*
- * If extent we got ends before our range starts, skip
- * to next extent
+ * If the extent we got ends before our current offset,
+ * skip to the next extent.
*/
- if (extent_end <= start) {
+ if (extent_end <= cur_offset) {
path->slots[0]++;
goto next_slot;
}
next prev parent reply other threads:[~2020-01-07 21:25 UTC|newest]
Thread overview: 204+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-07 20:52 [PATCH 5.4 000/191] 5.4.9-stable review Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 001/191] drm/mcde: dsi: Fix invalid pointer dereference if panel cannot be found Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 002/191] nvme_fc: add module to ops template to allow module references Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 003/191] nvme-fc: fix double-free scenarios on hw queues Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 004/191] drm/amdgpu: add check before enabling/disabling broadcast mode Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 005/191] drm/amdgpu: add header line for power profile on Arcturus Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 006/191] drm/amdgpu: add cache flush workaround to gfx8 emit_fence Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 007/191] drm/amd/display: Map DSC resources 1-to-1 if numbers of OPPs and DSCs are equal Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 008/191] drm/amd/display: Fixed kernel panic when booting with DP-to-HDMI dongle Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 009/191] drm/amd/display: Change the delay time before enabling FEC Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 010/191] drm/amd/display: Reset steer fifo before unblanking the stream Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 011/191] drm/amd/display: update dispclk and dppclk vco frequency Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 012/191] nvme/pci: Fix write and poll queue types Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 013/191] nvme/pci: Fix read queue count Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 014/191] iio: st_accel: Fix unused variable warning Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 015/191] iio: adc: max9611: Fix too short conversion time delay Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 016/191] PM / devfreq: Fix devfreq_notifier_call returning errno Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 017/191] PM / devfreq: Set scaling_max_freq to max on OPP notifier error Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 018/191] PM / devfreq: Dont fail devfreq_dev_release if not in list Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 019/191] afs: Fix afs_find_server lookups for ipv4 peers Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 020/191] afs: Fix SELinux setting security label on /afs Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 021/191] RDMA/cma: add missed unregister_pernet_subsys in init failure Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 022/191] rxe: correctly calculate iCRC for unaligned payloads Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 023/191] scsi: lpfc: Fix memory leak on lpfc_bsg_write_ebuf_set func Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 024/191] scsi: qla2xxx: Use explicit LOGO in target mode Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 025/191] scsi: qla2xxx: Drop superfluous INIT_WORK of del_work Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 026/191] scsi: qla2xxx: Dont call qlt_async_event twice Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 027/191] scsi: qla2xxx: Fix PLOGI payload and ELS IOCB dump length Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 028/191] scsi: qla2xxx: Configure local loop for N2N target Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 029/191] scsi: qla2xxx: Send Notify ACK after N2N PLOGI Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 030/191] scsi: qla2xxx: Dont defer relogin unconditonally Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 031/191] scsi: qla2xxx: Ignore PORT UPDATE after N2N PLOGI Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 032/191] scsi: iscsi: qla4xxx: fix double free in probe Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 033/191] scsi: libsas: stop discovering if oob mode is disconnected Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 034/191] scsi: iscsi: Avoid potential deadlock in iscsi_if_rx func Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 035/191] staging/wlan-ng: add CRC32 dependency in Kconfig Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 036/191] drm/nouveau: Move the declaration of struct nouveau_conn_atom up a bit Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 037/191] drm/nouveau: Fix drm-core using atomic code-paths on pre-nv50 hardware Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 038/191] drm/nouveau/kms/nv50-: fix panel scaling Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 039/191] usb: gadget: fix wrong endpoint desc Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 040/191] net: make socket read/write_iter() honor IOCB_NOWAIT Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 041/191] afs: Fix mountpoint parsing Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 042/191] afs: Fix creation calls in the dynamic root to fail with EOPNOTSUPP Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 043/191] raid5: need to set STRIPE_HANDLE for batch head Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 044/191] md: raid1: check rdev before reference in raid1_sync_request func Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 045/191] s390/cpum_sf: Adjust sampling interval to avoid hitting sample limits Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 046/191] s390/cpum_sf: Avoid SBD overflow condition in irq handler Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 047/191] RDMA/counter: Prevent auto-binding a QP which are not tracked with res Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 048/191] IB/mlx4: Follow mirror sequence of device add during device removal Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 049/191] IB/mlx5: Fix steering rule of drop and count Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 050/191] xen-blkback: prevent premature module unload Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 051/191] xen/balloon: fix ballooned page accounting without hotplug enabled Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 052/191] PM / hibernate: memory_bm_find_bit(): Tighten node optimisation Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 053/191] ALSA: hda/realtek - Add Bass Speaker and fixed dac for bass speaker Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 054/191] ALSA: hda/realtek - Enable the bass speaker of ASUS UX431FLC Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 055/191] PCI: Add a helper to check Power Resource Requirements _PR3 existence Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 056/191] ALSA: hda: Allow HDA to be runtime suspended when dGPU is not bound to a driver Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 057/191] PCI: Fix missing inline for pci_pr3_present() Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 058/191] ALSA: hda - fixup for the bass speaker on Lenovo Carbon X1 7th gen Greg Kroah-Hartman
2020-01-07 20:52 ` [PATCH 5.4 059/191] tcp: fix data-race in tcp_recvmsg() Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 060/191] shmem: pin the file in shmem_fault() if mmap_sem is dropped Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 061/191] taskstats: fix data-race Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 062/191] ALSA: hda - Downgrade error message for single-cmd fallback Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 063/191] netfilter: nft_tproxy: Fix port selector on Big Endian Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 064/191] block: add bio_truncate to fix guard_bio_eod Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 065/191] mm: drop mmap_sem before calling balance_dirty_pages() in write fault Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 066/191] ALSA: ice1724: Fix sleep-in-atomic in Infrasonic Quartet support code Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 067/191] ALSA: usb-audio: fix set_format altsetting sanity check Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 068/191] ALSA: usb-audio: set the interface format after resume on Dell WD19 Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 069/191] ALSA: hda - Apply sync-write workaround to old Intel platforms, too Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 070/191] ALSA: hda/realtek - Add headset Mic no shutup for ALC283 Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 071/191] drm/sun4i: hdmi: Remove duplicate cleanup calls Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 072/191] drm/amdgpu/smu: add metrics table lock Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 073/191] drm/amdgpu/smu: add metrics table lock for arcturus (v2) Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 074/191] drm/amdgpu/smu: add metrics table lock for navi (v2) Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 075/191] drm/amdgpu/smu: add metrics table lock for vega20 (v2) Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 076/191] MIPS: BPF: Disable MIPS32 eBPF JIT Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 077/191] MIPS: BPF: eBPF JIT: check for MIPS ISA compliance in Kconfig Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 078/191] MIPS: Avoid VDSO ABI breakage due to global register variable Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 079/191] media: pulse8-cec: fix lost cec_transmit_attempt_done() call Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 080/191] media: cec: CEC 2.0-only bcast messages were ignored Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 081/191] media: cec: avoid decrementing transmit_queue_sz if it is 0 Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 082/191] media: cec: check transmit_in_progress, not transmitting Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 083/191] mm/memory_hotplug: shrink zones when offlining memory Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 084/191] mm/zsmalloc.c: fix the migrated zspage statistics Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 085/191] memcg: account security cred as well to kmemcg Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 086/191] mm: move_pages: return valid node id in status if the page is already on the target node Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 087/191] mm/oom: fix pgtables units mismatch in Killed process message Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 088/191] ocfs2: fix the crash due to call ocfs2_get_dlm_debug once less Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 089/191] pstore/ram: Write new dumps to start of recycled zones Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 090/191] pstore/ram: Fix error-path memory leak in persistent_ram_new() callers Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 091/191] gcc-plugins: make it possible to disable CONFIG_GCC_PLUGINS again Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 092/191] locks: print unsigned ino in /proc/locks Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 093/191] selftests/seccomp: Zero out seccomp_notif Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 094/191] seccomp: Check that seccomp_notif is zeroed out by the user Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 095/191] samples/seccomp: Zero out members based on seccomp_notif_sizes Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 096/191] selftests/seccomp: Catch garbage on SECCOMP_IOCTL_NOTIF_RECV Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 097/191] dmaengine: Fix access to uninitialized dma_slave_caps Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 098/191] dmaengine: dma-jz4780: Also break descriptor chains on JZ4725B Greg Kroah-Hartman
2020-01-07 20:53 ` Greg Kroah-Hartman [this message]
2020-01-07 20:53 ` [PATCH 5.4 100/191] block: fix splitting segments on boundary masks Greg Kroah-Hartman
2020-01-07 21:00 ` Jens Axboe
2020-01-08 6:42 ` Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 101/191] compat_ioctl: block: handle Persistent Reservations Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 102/191] compat_ioctl: block: handle BLKREPORTZONE/BLKRESETZONE Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 103/191] compat_ioctl: block: handle BLKGETZONESZ/BLKGETNRZONES Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 104/191] bpf: Fix precision tracking for unbounded scalars Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 105/191] ata: libahci_platform: Export again ahci_platform_<en/dis>able_phys() Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 106/191] ata: ahci_brcm: Fix AHCI resources management Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 107/191] ata: ahci_brcm: Add missing clock management during recovery Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 108/191] ata: ahci_brcm: BCM7425 AHCI requires AHCI_HFLAG_DELAY_ENGINE Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 109/191] libata: Fix retrieving of active qcs Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 110/191] gpio: xtensa: fix driver build Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 111/191] gpiolib: fix up emulated open drain outputs Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 112/191] clocksource: riscv: add notrace to riscv_sched_clock Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 113/191] riscv: ftrace: correct the condition logic in function graph tracer Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 114/191] rseq/selftests: Fix: Namespace gettid() for compatibility with glibc 2.30 Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 115/191] tracing: Fix lock inversion in trace_event_enable_tgid_record() Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 116/191] tracing: Avoid memory leak in process_system_preds() Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 117/191] tracing: Have the histogram compare functions convert to u64 first Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 118/191] tracing: Fix endianness bug in histogram trigger Greg Kroah-Hartman
2020-01-07 20:53 ` [PATCH 5.4 119/191] samples/trace_printk: Wait for IRQ work to finish Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 120/191] io_uring: use current task creds instead of allocating a new one Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 121/191] mm/gup: fix memory leak in __gup_benchmark_ioctl Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 122/191] apparmor: fix aa_xattrs_match() may sleep while holding a RCU lock Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 123/191] dmaengine: virt-dma: Fix access after free in vchan_complete() Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 124/191] gen_initramfs_list.sh: fix bad variable name error Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 125/191] ALSA: cs4236: fix error return comparison of an unsigned integer Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 126/191] ALSA: pcm: Yet another missing check of non-cached buffer type Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 127/191] ALSA: firewire-motu: Correct a typo in the clock proc string Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 128/191] scsi: lpfc: Fix rpi release when deleting vport Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 129/191] exit: panic before exit_mm() on global init exit Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 130/191] arm64: Revert support for execute-only user mappings Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 131/191] ftrace: Avoid potential division by zero in function profiler Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 132/191] spi: spi-fsl-dspi: Fix 16-bit word order in 32-bit XSPI mode Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 133/191] drm/msm: include linux/sched/task.h Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 134/191] PM / devfreq: Check NULL governor in available_governors_show Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 135/191] sunrpc: fix crash when cache_head become valid before update Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 136/191] arm64: dts: qcom: msm8998-clamshell: Remove retention idle state Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 137/191] nfsd4: fix up replay_matches_cache() Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 138/191] powerpc: Chunk calls to flush_dcache_range in arch_*_memory Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 139/191] HID: i2c-hid: Reset ALPS touchpads on resume Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 140/191] net/sched: annotate lockless accesses to qdisc->empty Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 141/191] kernel/module.c: wakeup processes in module_wq on module unload Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 142/191] ACPI: sysfs: Change ACPI_MASKABLE_GPE_MAX to 0x100 Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 143/191] perf callchain: Fix segfault in thread__resolve_callchain_sample() Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 144/191] iommu/vt-d: Remove incorrect PSI capability check Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 145/191] of: overlay: add_changeset_property() memory leak Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 146/191] cifs: Fix potential softlockups while refreshing DFS cache Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 147/191] firmware: arm_scmi: Avoid double free in error flow Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 148/191] xfs: dont check for AG deadlock for realtime files in bunmapi Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 149/191] platform/x86: pmc_atom: Add Siemens CONNECT X300 to critclk_systems DMI table Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 150/191] netfilter: nf_queue: enqueue skbs with NULL dst Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 151/191] net, sysctl: Fix compiler warning when only cBPF is present Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 152/191] watchdog: tqmx86_wdt: Fix build error Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 153/191] regulator: axp20x: Fix axp20x_set_ramp_delay Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 154/191] regulator: bd70528: Remove .set_ramp_delay for bd70528_ldo_ops Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 155/191] spi: uniphier: Fix FIFO threshold Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 156/191] regulator: axp20x: Fix AXP22x ELDO2 regulator enable bitmask Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 157/191] powerpc/mm: Mark get_slice_psize() & slice_addr_is_low() as notrace Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 158/191] Bluetooth: btusb: fix PM leak in error case of setup Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 159/191] Bluetooth: delete a stray unlock Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 160/191] Bluetooth: Fix memory leak in hci_connect_le_scan Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 161/191] arm64: dts: meson-gxl-s905x-khadas-vim: fix uart_A bluetooth node Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 162/191] arm64: dts: meson-gxm-khadas-vim2: " Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 163/191] media: flexcop-usb: ensure -EIO is returned on error condition Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 164/191] regulator: ab8500: Remove AB8505 USB regulator Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 165/191] media: usb: fix memory leak in af9005_identify_state Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 166/191] dt-bindings: clock: renesas: rcar-usb2-clock-sel: Fix typo in example Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 167/191] arm64: dts: meson: odroid-c2: Disable usb_otg bus to avoid power failed warning Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 168/191] phy: renesas: rcar-gen3-usb2: Use platform_get_irq_optional() for optional irq Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 169/191] tty: serial: msm_serial: Fix lockup for sysrq and oops Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 170/191] cifs: Fix lookup of root ses in DFS referral cache Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 171/191] fs: cifs: Fix atime update check vs mtime Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 172/191] fix compat handling of FICLONERANGE, FIDEDUPERANGE and FS_IOC_FIEMAP Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 173/191] ath9k_htc: Modify byte order for an error message Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 174/191] ath9k_htc: Discard undersized packets Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 175/191] drm/i915/execlists: Fix annotation for decoupling virtual request Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 176/191] xfs: periodically yield scrub threads to the scheduler Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 177/191] net: add annotations on hh->hh_len lockless accesses Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 178/191] ubifs: ubifs_tnc_start_commit: Fix OOB in layout_in_gaps Greg Kroah-Hartman
2020-01-07 20:54 ` [PATCH 5.4 179/191] btrfs: get rid of unique workqueue helper functions Greg Kroah-Hartman
2020-01-07 20:55 ` [PATCH 5.4 180/191] Btrfs: only associate the locked page with one async_chunk struct Greg Kroah-Hartman
2020-01-07 20:55 ` [PATCH 5.4 181/191] s390/smp: fix physical to logical CPU map for SMT Greg Kroah-Hartman
2020-01-07 20:55 ` [PATCH 5.4 182/191] mm/sparse.c: mark populate_section_memmap as __meminit Greg Kroah-Hartman
2020-01-07 20:55 ` [PATCH 5.4 183/191] xen/blkback: Avoid unmapping unmapped grant pages Greg Kroah-Hartman
2020-01-07 20:55 ` [PATCH 5.4 184/191] lib/ubsan: dont serialize UBSAN report Greg Kroah-Hartman
2020-01-07 20:55 ` [PATCH 5.4 185/191] efi: Dont attempt to map RCI2 config table if it doesnt exist Greg Kroah-Hartman
2020-01-07 20:55 ` [PATCH 5.4 186/191] perf/x86/intel/bts: Fix the use of page_private() Greg Kroah-Hartman
2020-01-07 20:55 ` [PATCH 5.4 187/191] net: annotate lockless accesses to sk->sk_pacing_shift Greg Kroah-Hartman
2020-01-07 20:55 ` [PATCH 5.4 188/191] hsr: avoid debugfs warning message when module is remove Greg Kroah-Hartman
2020-01-07 20:55 ` [PATCH 5.4 189/191] hsr: fix error handling routine in hsr_dev_finalize() Greg Kroah-Hartman
2020-01-07 20:55 ` [PATCH 5.4 190/191] hsr: fix a race condition in node list insertion and deletion Greg Kroah-Hartman
2020-01-07 20:55 ` [PATCH 5.4 191/191] mm/hugetlb: defer freeing of huge pages if in non-task context Greg Kroah-Hartman
2020-01-07 21:24 ` [PATCH 5.4 000/191] 5.4.9-stable review Guenter Roeck
2020-01-08 6:42 ` Greg Kroah-Hartman
2020-01-08 16:34 ` Naresh Kamboju
2020-01-08 18:26 ` Greg Kroah-Hartman
2020-01-08 2:37 ` shuah
2020-01-08 6:41 ` Greg Kroah-Hartman
2020-01-08 15:44 ` Guenter Roeck
2020-01-08 18:23 ` Greg Kroah-Hartman
2020-01-08 16:24 ` Jon Hunter
2020-01-08 18:23 ` 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=20200107205338.288480960@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=dsterba@suse.com \
--cc=fdmanana@suse.com \
--cc=josef@toxicpanda.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).