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>,
Liu Bo <bo.li.liu@oracle.com>, David Sterba <dsterba@suse.com>
Subject: [PATCH 4.12 030/196] Btrfs: fix invalid extent maps due to hole punching
Date: Tue, 25 Jul 2017 12:20:29 -0700 [thread overview]
Message-ID: <20170725192047.780597233@linuxfoundation.org> (raw)
In-Reply-To: <20170725192046.422343510@linuxfoundation.org>
4.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Filipe Manana <fdmanana@suse.com>
commit 609805d809733d0c669f21f710bdac308cc63cba upstream.
While punching a hole in a range that is not aligned with the sector size
(currently the same as the page size) we can end up leaving an extent map
in memory with a length that is smaller then the sector size or with a
start offset that is not aligned to the sector size. Both cases are not
expected and can lead to problems. This issue is easily detected
after the patch from commit a7e3b975a0f9 ("Btrfs: fix reported number of
inode blocks"), introduced in kernel 4.12-rc1, in a scenario like the
following for example:
$ mkfs.btrfs -f /dev/sdb
$ mount /dev/sdb /mnt
$ xfs_io -c "pwrite -S 0xaa -b 100K 0 100K" /mnt/foo
$ xfs_io -c "fpunch 60K 90K" /mnt/foo
$ xfs_io -c "pwrite -S 0xbb -b 100K 50K 100K" /mnt/foo
$ xfs_io -c "pwrite -S 0xcc -b 50K 100K 50K" /mnt/foo
$ umount /mnt
After the unmount operation we can see several warnings emmitted due to
underflows related to space reservation counters:
[ 2837.443299] ------------[ cut here ]------------
[ 2837.447395] WARNING: CPU: 8 PID: 2474 at fs/btrfs/inode.c:9444 btrfs_destroy_inode+0xe8/0x27e [btrfs]
[ 2837.452108] Modules linked in: dm_flakey dm_mod ppdev parport_pc psmouse parport sg pcspkr acpi_cpufreq tpm_tis tpm_tis_core i2c_piix4 i2c_core evdev tpm button se
rio_raw sunrpc loop autofs4 ext4 crc16 jbd2 mbcache btrfs raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c crc32c_gene
ric raid1 raid0 multipath linear md_mod sr_mod cdrom sd_mod ata_generic virtio_scsi ata_piix libata virtio_pci virtio_ring virtio e1000 scsi_mod floppy
[ 2837.458389] CPU: 8 PID: 2474 Comm: umount Tainted: G W 4.10.0-rc8-btrfs-next-43+ #1
[ 2837.459754] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.9.1-0-gb3ef39f-prebuilt.qemu-project.org 04/01/2014
[ 2837.462379] Call Trace:
[ 2837.462379] dump_stack+0x68/0x92
[ 2837.462379] __warn+0xc2/0xdd
[ 2837.462379] warn_slowpath_null+0x1d/0x1f
[ 2837.462379] btrfs_destroy_inode+0xe8/0x27e [btrfs]
[ 2837.462379] destroy_inode+0x3d/0x55
[ 2837.462379] evict+0x177/0x17e
[ 2837.462379] dispose_list+0x50/0x71
[ 2837.462379] evict_inodes+0x132/0x141
[ 2837.462379] generic_shutdown_super+0x3f/0xeb
[ 2837.462379] kill_anon_super+0x12/0x1c
[ 2837.462379] btrfs_kill_super+0x16/0x21 [btrfs]
[ 2837.462379] deactivate_locked_super+0x30/0x68
[ 2837.462379] deactivate_super+0x36/0x39
[ 2837.462379] cleanup_mnt+0x58/0x76
[ 2837.462379] __cleanup_mnt+0x12/0x14
[ 2837.462379] task_work_run+0x77/0x9b
[ 2837.462379] prepare_exit_to_usermode+0x9d/0xc5
[ 2837.462379] syscall_return_slowpath+0x196/0x1b9
[ 2837.462379] entry_SYSCALL_64_fastpath+0xab/0xad
[ 2837.462379] RIP: 0033:0x7f3ef3e6b9a7
[ 2837.462379] RSP: 002b:00007ffdd0d8de58 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6
[ 2837.462379] RAX: 0000000000000000 RBX: 0000556f76a39060 RCX: 00007f3ef3e6b9a7
[ 2837.462379] RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000556f76a3f910
[ 2837.462379] RBP: 0000556f76a3f910 R08: 0000556f76a3e670 R09: 0000000000000015
[ 2837.462379] R10: 00000000000006b4 R11: 0000000000000246 R12: 00007f3ef436ce64
[ 2837.462379] R13: 0000000000000000 R14: 0000556f76a39240 R15: 00007ffdd0d8e0e0
[ 2837.519355] ---[ end trace e79345fe24b30b8d ]---
[ 2837.596256] ------------[ cut here ]------------
[ 2837.597625] WARNING: CPU: 8 PID: 2474 at fs/btrfs/extent-tree.c:5699 btrfs_free_block_groups+0x246/0x3eb [btrfs]
[ 2837.603547] Modules linked in: dm_flakey dm_mod ppdev parport_pc psmouse parport sg pcspkr acpi_cpufreq tpm_tis tpm_tis_core i2c_piix4 i2c_core evdev tpm button serio_raw sunrpc loop autofs4 ext4 crc16 jbd2 mbcache btrfs raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c crc32c_generic raid1 raid0 multipath linear md_mod sr_mod cdrom sd_mod ata_generic virtio_scsi ata_piix libata virtio_pci virtio_ring virtio e1000 scsi_mod floppy
[ 2837.659372] CPU: 8 PID: 2474 Comm: umount Tainted: G W 4.10.0-rc8-btrfs-next-43+ #1
[ 2837.663359] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.9.1-0-gb3ef39f-prebuilt.qemu-project.org 04/01/2014
[ 2837.663359] Call Trace:
[ 2837.663359] dump_stack+0x68/0x92
[ 2837.663359] __warn+0xc2/0xdd
[ 2837.663359] warn_slowpath_null+0x1d/0x1f
[ 2837.663359] btrfs_free_block_groups+0x246/0x3eb [btrfs]
[ 2837.663359] close_ctree+0x1dd/0x2e1 [btrfs]
[ 2837.663359] ? evict_inodes+0x132/0x141
[ 2837.663359] btrfs_put_super+0x15/0x17 [btrfs]
[ 2837.663359] generic_shutdown_super+0x6a/0xeb
[ 2837.663359] kill_anon_super+0x12/0x1c
[ 2837.663359] btrfs_kill_super+0x16/0x21 [btrfs]
[ 2837.663359] deactivate_locked_super+0x30/0x68
[ 2837.663359] deactivate_super+0x36/0x39
[ 2837.663359] cleanup_mnt+0x58/0x76
[ 2837.663359] __cleanup_mnt+0x12/0x14
[ 2837.663359] task_work_run+0x77/0x9b
[ 2837.663359] prepare_exit_to_usermode+0x9d/0xc5
[ 2837.663359] syscall_return_slowpath+0x196/0x1b9
[ 2837.663359] entry_SYSCALL_64_fastpath+0xab/0xad
[ 2837.663359] RIP: 0033:0x7f3ef3e6b9a7
[ 2837.663359] RSP: 002b:00007ffdd0d8de58 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6
[ 2837.663359] RAX: 0000000000000000 RBX: 0000556f76a39060 RCX: 00007f3ef3e6b9a7
[ 2837.663359] RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000556f76a3f910
[ 2837.663359] RBP: 0000556f76a3f910 R08: 0000556f76a3e670 R09: 0000000000000015
[ 2837.663359] R10: 00000000000006b4 R11: 0000000000000246 R12: 00007f3ef436ce64
[ 2837.663359] R13: 0000000000000000 R14: 0000556f76a39240 R15: 00007ffdd0d8e0e0
[ 2837.739445] ---[ end trace e79345fe24b30b8e ]---
[ 2837.745595] ------------[ cut here ]------------
[ 2837.746412] WARNING: CPU: 8 PID: 2474 at fs/btrfs/extent-tree.c:5700 btrfs_free_block_groups+0x261/0x3eb [btrfs]
[ 2837.747955] Modules linked in: dm_flakey dm_mod ppdev parport_pc psmouse parport sg pcspkr acpi_cpufreq tpm_tis tpm_tis_core i2c_piix4 i2c_core evdev tpm button serio_raw sunrpc loop autofs4 ext4 crc16 jbd2 mbcache btrfs raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c crc32c_generic raid1 raid0 multipath linear md_mod sr_mod cdrom sd_mod ata_generic virtio_scsi ata_piix libata virtio_pci virtio_ring virtio e1000 scsi_mod floppy
[ 2837.755395] CPU: 8 PID: 2474 Comm: umount Tainted: G W 4.10.0-rc8-btrfs-next-43+ #1
[ 2837.756769] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.9.1-0-gb3ef39f-prebuilt.qemu-project.org 04/01/2014
[ 2837.758526] Call Trace:
[ 2837.758925] dump_stack+0x68/0x92
[ 2837.759383] __warn+0xc2/0xdd
[ 2837.759383] warn_slowpath_null+0x1d/0x1f
[ 2837.759383] btrfs_free_block_groups+0x261/0x3eb [btrfs]
[ 2837.759383] close_ctree+0x1dd/0x2e1 [btrfs]
[ 2837.759383] ? evict_inodes+0x132/0x141
[ 2837.759383] btrfs_put_super+0x15/0x17 [btrfs]
[ 2837.759383] generic_shutdown_super+0x6a/0xeb
[ 2837.759383] kill_anon_super+0x12/0x1c
[ 2837.759383] btrfs_kill_super+0x16/0x21 [btrfs]
[ 2837.759383] deactivate_locked_super+0x30/0x68
[ 2837.759383] deactivate_super+0x36/0x39
[ 2837.759383] cleanup_mnt+0x58/0x76
[ 2837.759383] __cleanup_mnt+0x12/0x14
[ 2837.759383] task_work_run+0x77/0x9b
[ 2837.759383] prepare_exit_to_usermode+0x9d/0xc5
[ 2837.759383] syscall_return_slowpath+0x196/0x1b9
[ 2837.759383] entry_SYSCALL_64_fastpath+0xab/0xad
[ 2837.759383] RIP: 0033:0x7f3ef3e6b9a7
[ 2837.759383] RSP: 002b:00007ffdd0d8de58 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6
[ 2837.759383] RAX: 0000000000000000 RBX: 0000556f76a39060 RCX: 00007f3ef3e6b9a7
[ 2837.759383] RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000556f76a3f910
[ 2837.759383] RBP: 0000556f76a3f910 R08: 0000556f76a3e670 R09: 0000000000000015
[ 2837.759383] R10: 00000000000006b4 R11: 0000000000000246 R12: 00007f3ef436ce64
[ 2837.759383] R13: 0000000000000000 R14: 0000556f76a39240 R15: 00007ffdd0d8e0e0
[ 2837.777063] ---[ end trace e79345fe24b30b8f ]---
[ 2837.778235] ------------[ cut here ]------------
[ 2837.778856] WARNING: CPU: 8 PID: 2474 at fs/btrfs/extent-tree.c:9825 btrfs_free_block_groups+0x348/0x3eb [btrfs]
[ 2837.791385] Modules linked in: dm_flakey dm_mod ppdev parport_pc psmouse parport sg pcspkr acpi_cpufreq tpm_tis tpm_tis_core i2c_piix4 i2c_core evdev tpm button serio_raw sunrpc loop autofs4 ext4 crc16 jbd2 mbcache btrfs raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c crc32c_generic raid1 raid0 multipath linear md_mod sr_mod cdrom sd_mod ata_generic virtio_scsi ata_piix libata virtio_pci virtio_ring virtio e1000 scsi_mod floppy
[ 2837.797711] CPU: 8 PID: 2474 Comm: umount Tainted: G W 4.10.0-rc8-btrfs-next-43+ #1
[ 2837.798594] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.9.1-0-gb3ef39f-prebuilt.qemu-project.org 04/01/2014
[ 2837.800118] Call Trace:
[ 2837.800515] dump_stack+0x68/0x92
[ 2837.801015] __warn+0xc2/0xdd
[ 2837.801471] warn_slowpath_null+0x1d/0x1f
[ 2837.801698] btrfs_free_block_groups+0x348/0x3eb [btrfs]
[ 2837.801698] close_ctree+0x1dd/0x2e1 [btrfs]
[ 2837.801698] ? evict_inodes+0x132/0x141
[ 2837.801698] btrfs_put_super+0x15/0x17 [btrfs]
[ 2837.801698] generic_shutdown_super+0x6a/0xeb
[ 2837.801698] kill_anon_super+0x12/0x1c
[ 2837.801698] btrfs_kill_super+0x16/0x21 [btrfs]
[ 2837.801698] deactivate_locked_super+0x30/0x68
[ 2837.801698] deactivate_super+0x36/0x39
[ 2837.801698] cleanup_mnt+0x58/0x76
[ 2837.801698] __cleanup_mnt+0x12/0x14
[ 2837.801698] task_work_run+0x77/0x9b
[ 2837.801698] prepare_exit_to_usermode+0x9d/0xc5
[ 2837.801698] syscall_return_slowpath+0x196/0x1b9
[ 2837.801698] entry_SYSCALL_64_fastpath+0xab/0xad
[ 2837.801698] RIP: 0033:0x7f3ef3e6b9a7
[ 2837.801698] RSP: 002b:00007ffdd0d8de58 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6
[ 2837.801698] RAX: 0000000000000000 RBX: 0000556f76a39060 RCX: 00007f3ef3e6b9a7
[ 2837.801698] RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000556f76a3f910
[ 2837.801698] RBP: 0000556f76a3f910 R08: 0000556f76a3e670 R09: 0000000000000015
[ 2837.801698] R10: 00000000000006b4 R11: 0000000000000246 R12: 00007f3ef436ce64
[ 2837.801698] R13: 0000000000000000 R14: 0000556f76a39240 R15: 00007ffdd0d8e0e0
[ 2837.818441] ---[ end trace e79345fe24b30b90 ]---
[ 2837.818991] BTRFS info (device sdc): space_info 1 has 7974912 free, is not full
[ 2837.819830] BTRFS info (device sdc): space_info total=8388608, used=417792, pinned=0, reserved=0, may_use=18446744073709547520, readonly=0
What happens in the above example is the following:
1) When punching the hole, at btrfs_punch_hole(), the variable tail_len
is set to 2048 (as tail_start is 148Kb + 1 and offset + len is 150Kb).
This results in the creation of an extent map with a length of 2Kb
starting at file offset 148Kb, through find_first_non_hole() ->
btrfs_get_extent().
2) The second write (first write after the hole punch operation), sets
the range [50Kb, 152Kb[ to delalloc.
3) The third write, at btrfs_find_new_delalloc_bytes(), sees the extent
map covering the range [148Kb, 150Kb[ and ends up calling
set_extent_bit() for the same range, which results in splitting an
existing extent state record, covering the range [148Kb, 152Kb[ into
two 2Kb extent state records, covering the ranges [148Kb, 150Kb[ and
[150Kb, 152Kb[.
4) Finally at lock_and_cleanup_extent_if_need(), immediately after calling
btrfs_find_new_delalloc_bytes() we clear the delalloc bit from the
range [100Kb, 152Kb[ which results in the btrfs_clear_bit_hook()
callback being invoked against the two 2Kb extent state records that
cover the ranges [148Kb, 150Kb[ and [150Kb, 152Kb[. When called against
the first 2Kb extent state, it calls btrfs_delalloc_release_metadata()
with a length argument of 2048 bytes. That function rounds up the length
to a sector size aligned length, so it ends up considering a length of
4096 bytes, and then calls calc_csum_metadata_size() which results in
decrementing the inode's csum_bytes counter by 4096 bytes, so after
it stays a value of 0 bytes. Then the same happens when
btrfs_clear_bit_hook() is called against the second extent state that
has a length of 2Kb, covering the range [150Kb, 152Kb[, the length is
rounded up to 4096 and calc_csum_metadata_size() ends up being called
to decrement 4096 bytes from the inode's csum_bytes counter, which
at that time has a value of 0, leading to an underflow, which is
exactly what triggers the first warning, at btrfs_destroy_inode().
All the other warnings relate to several space accounting counters
that underflow as well due to similar reasons.
A similar case but where the hole punching operation creates an extent map
with a start offset not aligned to the sector size is the following:
$ mkfs.btrfs -f /dev/sdb
$ mount /dev/sdb /mnt
$ xfs_io -f -c "fpunch 695K 820K" $SCRATCH_MNT/bar
$ xfs_io -c "pwrite -S 0xaa 1008K 307K" $SCRATCH_MNT/bar
$ xfs_io -c "pwrite -S 0xbb -b 630K 1073K 630K" $SCRATCH_MNT/bar
$ xfs_io -c "pwrite -S 0xcc -b 459K 1068K 459K" $SCRATCH_MNT/bar
$ umount /mnt
During the unmount operation we get similar traces for the same reasons as
in the first example.
So fix the hole punching operation to make sure it never creates extent
maps with a length that is not aligned to the sector size nor with a start
offset that is not aligned to the sector size, as this breaks all
assumptions and it's a land mine.
Fixes: d77815461f04 ("btrfs: Avoid trucating page or punching hole in a already existed hole.")
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: Liu Bo <bo.li.liu@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
fs/btrfs/file.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -2390,10 +2390,13 @@ out:
*/
static int find_first_non_hole(struct inode *inode, u64 *start, u64 *len)
{
+ struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
struct extent_map *em;
int ret = 0;
- em = btrfs_get_extent(BTRFS_I(inode), NULL, 0, *start, *len, 0);
+ em = btrfs_get_extent(BTRFS_I(inode), NULL, 0,
+ round_down(*start, fs_info->sectorsize),
+ round_up(*len, fs_info->sectorsize), 0);
if (IS_ERR(em))
return PTR_ERR(em);
next prev parent reply other threads:[~2017-07-25 19:23 UTC|newest]
Thread overview: 189+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-25 19:19 [PATCH 4.12 000/196] 4.12.4-stable review Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 001/196] disable new gcc-7.1.1 warnings for now Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 002/196] [media] ir-core: fix gcc-7 warning on bool arithmetic Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 003/196] [media] s5p-jpeg: dont return a random width/height Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 004/196] thermal: max77620: fix device-node reference imbalance Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 005/196] thermal: cpu_cooling: Avoid accessing potentially freed structures Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 006/196] ath9k: fix tx99 use after free Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 007/196] ath9k: fix tx99 bus error Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 008/196] ath9k: fix an invalid pointer dereference in ath9k_rng_stop() Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 009/196] iwlwifi: mvm: fix the recovery flow while connecting Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 010/196] NFC: fix broken device allocation Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 011/196] NFC: nfcmrvl_uart: add missing tty-device sanity check Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 012/196] NFC: nfcmrvl: do not use device-managed resources Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 013/196] NFC: nfcmrvl: use nfc-device for firmware download Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 014/196] NFC: nfcmrvl: fix firmware-management initialisation Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 015/196] nfc: Ensure presence of required attributes in the activate_target handler Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 016/196] nfc: Fix the sockaddr length sanitization in llcp_sock_connect Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 017/196] NFC: Add sockaddr length checks before accessing sa_family in bind handlers Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 018/196] perf intel-pt: Move decoder error setting into one condition Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 019/196] perf intel-pt: Improve sample timestamp Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 020/196] perf intel-pt: Fix missing stack clear Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 021/196] perf intel-pt: Ensure IP is zero when state is INTEL_PT_STATE_NO_IP Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 022/196] perf intel-pt: Fix last_ip usage Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 023/196] perf intel-pt: Ensure never to set last_ip when packet count is zero Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 024/196] perf intel-pt: Use FUP always when scanning for an IP Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 025/196] perf intel-pt: Clear FUP flag on error Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 026/196] Bluetooth: use constant time memory comparison for secret values Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 027/196] wlcore: fix 64K page support Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 028/196] pstore: Dont warn if data is uncompressed and type is not PSTORE_TYPE_DMESG Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 029/196] mwifiex: fixup error cases in mwifiex_add_virtual_intf() Greg Kroah-Hartman
2017-07-25 19:20 ` Greg Kroah-Hartman [this message]
2017-07-25 19:20 ` [PATCH 4.12 031/196] btrfs: Dont clear SGID when inheriting ACLs Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 032/196] Btrfs: incremental send, fix invalid memory access Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 033/196] igb: Explicitly select page 0 at initialization Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 034/196] spi: atmel: fix corrupted data issue on SAM9 family SoCs Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 035/196] ASoC: zx-i2s: flip I2S master/slave mode Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 036/196] ASoC: compress: Derive substream from stream based on direction Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 037/196] ASoC: atmel: tse850: fix off-by-one in the "ANA" enumeration count Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 038/196] PM / Domains: Fix unsafe iteration over modified list of device links Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 039/196] PM / Domains: Fix unsafe iteration over modified list of domain providers Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 040/196] PM / Domains: Fix unsafe iteration over modified list of domains Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 041/196] scsi: ses: do not add a device to an enclosure if enclosure_add_links() fails Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 042/196] scsi: virtio_scsi: let host do exception handling Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 043/196] scsi: qla2xxx: Allow ABTS, PURX, RIDA on ATIOQ for ISP83XX/27XX Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 044/196] scsi: Add STARGET_CREATED_REMOVE state to scsi_target_state Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 045/196] scsi: Avoid that scsi_exit_rq() triggers a use-after-free Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 046/196] iscsi-target: Add login_keys_workaround attribute for non RFC initiators Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 047/196] xen/scsiback: Fix a TMR related use-after-free Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 048/196] scsi: virtio_scsi: always read VPD pages for multiqueue too Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 049/196] powerpc/mm/radix: Only add X for pages overlapping kernel text Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 050/196] powerpc/pseries: Fix passing of pp0 in updatepp() and updateboltedpp() Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 051/196] powerpc/mm/radix: Fix execute permissions for interrupt_vectors Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 052/196] powerpc/64: Fix atomic64_inc_not_zero() to return an int Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 053/196] powerpc: Fix emulation of mcrf in emulate_step() Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 054/196] powerpc: Fix emulation of mfocrf " Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 055/196] powerpc/asm: Mark cr0 as clobbered in mftb() Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 056/196] powerpc/mm/radix: Properly clear process table entry Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 057/196] powerpc/perf: Fix SDAR_MODE value for continous sampling on Power9 Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 058/196] xen/x86: fix cpu hotplug Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 059/196] PCI: vmd: Move SRCU cleanup after bus, child device removal Greg Kroah-Hartman
2017-07-25 19:20 ` [PATCH 4.12 060/196] PCI: Work around poweroff & suspend-to-RAM issue on Macbook Pro 11 Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 061/196] PCI: rockchip: Use normal register bank for config accessors Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 062/196] PCI/PM: Restore the status of PCI devices across hibernation Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 063/196] PCI/MSI: Ignore affinity if pre/post vector count is more than min_vecs Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 064/196] usb: xhci: fix spinlock recursion for USB2 test mode Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 065/196] xhci: fix memleak in xhci_run() Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 066/196] xhci: fix 20000ms port resume timeout Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 067/196] xhci: Fix NULL pointer dereference when cleaning up streams for removed host Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 068/196] xhci: Bad Ethernet performance plugged in ASM1042A host Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 069/196] [media] mxl111sf: Fix driver to use heap allocate buffers for USB messages Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 070/196] usb: storage: return on error to avoid a null pointer dereference Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 071/196] USB: cdc-acm: add device-id for quirky printer Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 072/196] usb: renesas_usbhs: fix usbhsc_resume() for !USBHSF_RUNTIME_PWCTRL Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 073/196] usb: renesas_usbhs: gadget: disable all eps when the driver stops Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 074/196] HID: multitouch: do not blindly set EV_KEY or EV_ABS bits Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 075/196] md: dont use flush_signals in userspace processes Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 076/196] md: fix deadlock between mddev_suspend() and md_write_start() Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 078/196] [media] cx88: Fix regression in initial video standard setting Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 080/196] tools/testing/nvdimm: fix nfit_test buffer overflow Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 081/196] libnvdimm, btt: fix btt_rw_page not returning errors Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 082/196] libnvdimm: fix the clear-error check in nsio_rw_bytes Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 083/196] libnvdimm: fix badblock range handling of ARS range Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 084/196] ext2: Dont clear SGID when inheriting ACLs Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 085/196] dm raid: stop using BUG() in __rdev_sectors() Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 086/196] Raid5 should update rdev->sectors after reshape Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 087/196] s390/syscalls: Fix out of bounds arguments access Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 088/196] drm/amdgpu/gfx8: drop per-APU CU limits Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 097/196] drm/etnaviv: Expose our reservation object when exporting a dmabuf Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 098/196] ipmi: use rcu lock around call to intf->handlers->sender() Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 099/196] ipmi:ssif: Add missing unlock in error branch Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 100/196] xfs: Dont clear SGID when inheriting ACLs Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 101/196] CIFS: Reconnect expired SMB sessions Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 102/196] f2fs: load inodes flag from disk Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 103/196] f2fs: wake up all waiters in f2fs_submit_discard_endio Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 104/196] f2fs: sanity check checkpoint segno and blkoff Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 105/196] f2fs: try to freeze in gc and discard threads Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 106/196] f2fs: Do not issue small discards in LFS mode Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 107/196] f2fs: sanity check size of nat and sit cache Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 108/196] f2fs: use spin_{,un}lock_irq{save,restore} Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 109/196] f2fs: Dont clear SGID when inheriting ACLs Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 110/196] serial: st-asc: Potential error pointer dereference Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 111/196] serial: sh-sci: Uninitialized variables in sysfs files Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 112/196] ovl: mark parent impure on ovl_link() Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 113/196] ovl: fix random return value on mount Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 114/196] drm/amd/powerplay: fix memory leak in cz_hwmgr backend Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 116/196] vfio: Fix group release deadlock Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 117/196] vfio: New external user group/file match Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 118/196] vfio: Remove unnecessary uses of vfio_container.group_lock Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 119/196] nvme-rdma: remove race conditions from IB signalling Greg Kroah-Hartman
2017-07-25 19:21 ` [PATCH 4.12 120/196] ftrace: Fix uninitialized variable in match_records() Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 121/196] iommu/arm-smmu: Plumb in new ACPI identifiers Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 122/196] drm/i915/gvt: Fix inconsistent locks holding sequence Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 123/196] drm/atomic: Add missing drm_atomic_state_clear to atomic_remove_fb Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 124/196] MIPS: Fix mips_atomic_set() retry condition Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 125/196] MIPS: Fix mips_atomic_set() with EVA Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 126/196] MIPS: Negate error syscall return in trace Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 127/196] mtd: nand: tango: Fix incorrect use of SEQIN command Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 128/196] ubifs: Correctly evict xattr inodes Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 129/196] ubifs: Dont leak kernel memory to the MTD Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 130/196] ubifs: Dont encrypt special files on creation Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 131/196] ubifs: Set double hash cookie also for RENAME_EXCHANGE Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 132/196] ACPI / EC: Drop EC noirq hooks to fix a regression Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 133/196] Revert "ACPI / EC: Enable event freeze mode..." " Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 134/196] x86/acpi: Prevent out of bound access caused by broken ACPI tables Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 135/196] x86/ioapic: Pass the correct data to unmask_ioapic_irq() Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 136/196] MIPS: Fix MIPS I ISA /proc/cpuinfo reporting Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 137/196] MIPS: Save static registers before sysmips Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 138/196] MIPS: Actually decode JALX in `__compute_return_epc_for_insn Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 139/196] MIPS: Fix unaligned PC interpretation in `compute_return_epc Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 140/196] MIPS: math-emu: Prevent wrong ISA mode instruction emulation Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 141/196] MIPS: Send SIGILL for BPOSGE32 in `__compute_return_epc_for_insn Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 142/196] MIPS: Rename `sigill_r6 to `sigill_r2r6 " Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 143/196] MIPS: Send SIGILL for linked branches " Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 144/196] MIPS: Send SIGILL for R6 " Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 145/196] MIPS: Fix a typo: s/preset/present/ in r2-to-r6 emulation error message Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 146/196] Input: i8042 - fix crash at boot time Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 147/196] IB/iser: Fix connection teardown race condition Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 148/196] IB/core: Namespace is mandatory input for address resolution Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 149/196] sunrpc: use constant time memory comparison for mac Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 150/196] net/sunrpc/xprt_sock: fix regression in connection error reporting Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 151/196] NFS: Fix initialization of nfs_page_array->npages Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 152/196] PNFS fix EACCESS on commit to DS handling Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 153/196] NFS: only invalidate dentrys that are clearly invalid Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 154/196] udf: Fix races with i_size changes during readpage Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 155/196] udf: Fix deadlock between writeback and udf_setsize() Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 156/196] target: Fix COMPARE_AND_WRITE caw_sem leak during se_cmd quiesce Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 157/196] iser-target: Avoid isert_conn->cm_id dereference in isert_login_recv_done Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 159/196] perf/core: Fix scheduling regression of pinned groups Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 160/196] Revert "perf/core: Drop kernel samples even though :u is specified" Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 161/196] staging: rtl8188eu: add TL-WN722N v2 support Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 163/196] staging: sm750fb: avoid conflicting vesafb Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 164/196] staging: lustre: ko2iblnd: check copy_from_iter/copy_to_iter return code Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 165/196] ceph: fix race in concurrent readdir Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 166/196] RDMA/uverbs: Fix the check for port number Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 167/196] RDMA/core: Initialize port_num in qp_attr Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 168/196] drm/mst: Fix error handling during MST sideband message reception Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 169/196] drm/mst: Avoid dereferencing a NULL mstb in drm_dp_mst_handle_up_req() Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 170/196] drm/mst: Avoid processing partially received up/down message transactions Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 171/196] drm/i915: Make DP-MST connector info work Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 172/196] mlx5: Avoid that mlx5_ib_sg_to_klms() overflows the klms[] array Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 173/196] hfsplus: Dont clear SGID when inheriting ACLs Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 174/196] vtime, sched/cputime: Remove vtime_account_user() Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 175/196] sched/cputime: Always set tsk->vtime_snap_whence after accounting vtime Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 176/196] sched/cputime: Rename vtime fields Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 177/196] sched/cputime: Move the vtime task fields to their own struct Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 178/196] sched/cputime: Accumulate vtime on top of nsec clocksource Greg Kroah-Hartman
2017-07-26 14:21 ` Mel Gorman
2017-07-26 19:55 ` Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 179/196] sched/fair: Fix load_balance() affinity redo path Greg Kroah-Hartman
2017-07-25 19:22 ` [PATCH 4.12 180/196] percpu_counter: Rename __percpu_counter_add to percpu_counter_add_batch Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 181/196] writeback: rework wb_[dec|inc]_stat family of functions Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 182/196] kernel/fork.c: virtually mapped stacks: do not disable interrupts Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 183/196] acpi/nfit: Fix memory corruption/Unregister mce decoder on failure Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 184/196] vmbus: re-enable channel tasklet Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 185/196] cpufreq: intel_pstate: Correct the busy calculation for KNL Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 186/196] spmi: Include OF based modalias in device uevent Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 187/196] reiserfs: Dont clear SGID when inheriting ACLs Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 188/196] device-dax: fix sysfs duplicate warnings Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 189/196] drm/imx: parallel-display: Accept drm_of_find_panel_or_bridge failure Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 190/196] PM / Domains: defer dev_pm_domain_set() until genpd->attach_dev succeeds if present Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 191/196] tracing: Fix kmemleak in instance_rmdir Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 192/196] drm/i915/fbdev: Check for existence of ifbdev->vma before operations Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 193/196] drm/i915: Hold RPM wakelock while initializing OA buffer Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 195/196] smp/hotplug: Move unparking of percpu threads to the control CPU Greg Kroah-Hartman
2017-07-25 19:23 ` [PATCH 4.12 196/196] smp/hotplug: Replace BUG_ON and react useful Greg Kroah-Hartman
2017-07-26 2:57 ` [PATCH 4.12 000/196] 4.12.4-stable review Guenter Roeck
2017-07-26 19:54 ` Greg Kroah-Hartman
2017-07-26 14:25 ` Shuah Khan
2017-07-26 16:20 ` 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=20170725192047.780597233@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=bo.li.liu@oracle.com \
--cc=dsterba@suse.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).