From: Luis Henriques <luis.henriques@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
kernel-team@lists.ubuntu.com
Cc: Filipe Manana <fdmanana@suse.com>,
Luis Henriques <luis.henriques@canonical.com>
Subject: [PATCH 3.16.y-ckt 070/126] Btrfs: fix race leading to incorrect item deletion when dropping extents
Date: Wed, 9 Dec 2015 09:37:20 +0000 [thread overview]
Message-ID: <1449653896-5236-71-git-send-email-luis.henriques@canonical.com> (raw)
In-Reply-To: <1449653896-5236-1-git-send-email-luis.henriques@canonical.com>
3.16.7-ckt21 -stable review patch. If anyone has any objections, please let me know.
------------------
From: Filipe Manana <fdmanana@suse.com>
commit aeafbf8486c9e2bd53f5cc3c10c0b7fd7149d69c upstream.
While running a stress test I got the following warning triggered:
[191627.672810] ------------[ cut here ]------------
[191627.673949] WARNING: CPU: 8 PID: 8447 at fs/btrfs/file.c:779 __btrfs_drop_extents+0x391/0xa50 [btrfs]()
(...)
[191627.701485] Call Trace:
[191627.702037] [<ffffffff8145f077>] dump_stack+0x4f/0x7b
[191627.702992] [<ffffffff81095de5>] ? console_unlock+0x356/0x3a2
[191627.704091] [<ffffffff8104b3b0>] warn_slowpath_common+0xa1/0xbb
[191627.705380] [<ffffffffa0664499>] ? __btrfs_drop_extents+0x391/0xa50 [btrfs]
[191627.706637] [<ffffffff8104b46d>] warn_slowpath_null+0x1a/0x1c
[191627.707789] [<ffffffffa0664499>] __btrfs_drop_extents+0x391/0xa50 [btrfs]
[191627.709155] [<ffffffff8115663c>] ? cache_alloc_debugcheck_after.isra.32+0x171/0x1d0
[191627.712444] [<ffffffff81155007>] ? kmemleak_alloc_recursive.constprop.40+0x16/0x18
[191627.714162] [<ffffffffa06570c9>] insert_reserved_file_extent.constprop.40+0x83/0x24e [btrfs]
[191627.715887] [<ffffffffa065422b>] ? start_transaction+0x3bb/0x610 [btrfs]
[191627.717287] [<ffffffffa065b604>] btrfs_finish_ordered_io+0x273/0x4e2 [btrfs]
[191627.728865] [<ffffffffa065b888>] finish_ordered_fn+0x15/0x17 [btrfs]
[191627.730045] [<ffffffffa067d688>] normal_work_helper+0x14c/0x32c [btrfs]
[191627.731256] [<ffffffffa067d96a>] btrfs_endio_write_helper+0x12/0x14 [btrfs]
[191627.732661] [<ffffffff81061119>] process_one_work+0x24c/0x4ae
[191627.733822] [<ffffffff810615b0>] worker_thread+0x206/0x2c2
[191627.734857] [<ffffffff810613aa>] ? process_scheduled_works+0x2f/0x2f
[191627.736052] [<ffffffff810613aa>] ? process_scheduled_works+0x2f/0x2f
[191627.737349] [<ffffffff810669a6>] kthread+0xef/0xf7
[191627.738267] [<ffffffff810f3b3a>] ? time_hardirqs_on+0x15/0x28
[191627.739330] [<ffffffff810668b7>] ? __kthread_parkme+0xad/0xad
[191627.741976] [<ffffffff81465592>] ret_from_fork+0x42/0x70
[191627.743080] [<ffffffff810668b7>] ? __kthread_parkme+0xad/0xad
[191627.744206] ---[ end trace bbfddacb7aaada8d ]---
$ cat -n fs/btrfs/file.c
691 int __btrfs_drop_extents(struct btrfs_trans_handle *trans,
(...)
758 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
759 if (key.objectid > ino ||
760 key.type > BTRFS_EXTENT_DATA_KEY || key.offset >= end)
761 break;
762
763 fi = btrfs_item_ptr(leaf, path->slots[0],
764 struct btrfs_file_extent_item);
765 extent_type = btrfs_file_extent_type(leaf, fi);
766
767 if (extent_type == BTRFS_FILE_EXTENT_REG ||
768 extent_type == BTRFS_FILE_EXTENT_PREALLOC) {
(...)
774 } else if (extent_type == BTRFS_FILE_EXTENT_INLINE) {
(...)
778 } else {
779 WARN_ON(1);
780 extent_end = search_start;
781 }
(...)
This happened because the item we were processing did not match a file
extent item (its key type != BTRFS_EXTENT_DATA_KEY), and even on this
case we cast the item to a struct btrfs_file_extent_item pointer and
then find a type field value that does not match any of the expected
values (BTRFS_FILE_EXTENT_[REG|PREALLOC|INLINE]). This scenario happens
due to a tiny time window where a race can happen as exemplified below.
For example, consider the following scenario where we're using the
NO_HOLES feature and we have the following two neighbour leafs:
Leaf X (has N items) Leaf Y
[ ... (257 INODE_ITEM 0) (257 INODE_REF 256) ] [ (257 EXTENT_DATA 8192), ... ]
slot N - 2 slot N - 1 slot 0
Our inode 257 has an implicit hole in the range [0, 8K[ (implicit rather
than explicit because NO_HOLES is enabled). Now if our inode has an
ordered extent for the range [4K, 8K[ that is finishing, the following
can happen:
CPU 1 CPU 2
btrfs_finish_ordered_io()
insert_reserved_file_extent()
__btrfs_drop_extents()
Searches for the key
(257 EXTENT_DATA 4096) through
btrfs_lookup_file_extent()
Key not found and we get a path where
path->nodes[0] == leaf X and
path->slots[0] == N
Because path->slots[0] is >=
btrfs_header_nritems(leaf X), we call
btrfs_next_leaf()
btrfs_next_leaf() releases the path
inserts key
(257 INODE_REF 4096)
at the end of leaf X,
leaf X now has N + 1 keys,
and the new key is at
slot N
btrfs_next_leaf() searches for
key (257 INODE_REF 256), with
path->keep_locks set to 1,
because it was the last key it
saw in leaf X
finds it in leaf X again and
notices it's no longer the last
key of the leaf, so it returns 0
with path->nodes[0] == leaf X and
path->slots[0] == N (which is now
< btrfs_header_nritems(leaf X)),
pointing to the new key
(257 INODE_REF 4096)
__btrfs_drop_extents() casts the
item at path->nodes[0], slot
path->slots[0], to a struct
btrfs_file_extent_item - it does
not skip keys for the target
inode with a type less than
BTRFS_EXTENT_DATA_KEY
(BTRFS_INODE_REF_KEY < BTRFS_EXTENT_DATA_KEY)
sees a bogus value for the type
field triggering the WARN_ON in
the trace shown above, and sets
extent_end = search_start (4096)
does the if-then-else logic to
fixup 0 length extent items created
by a past bug from hole punching:
if (extent_end == key.offset &&
extent_end >= search_start)
goto delete_extent_item;
that evaluates to true and it ends
up deleting the key pointed to by
path->slots[0], (257 INODE_REF 4096),
from leaf X
The same could happen for example for a xattr that ends up having a key
with an offset value that matches search_start (very unlikely but not
impossible).
So fix this by ensuring that keys smaller than BTRFS_EXTENT_DATA_KEY are
skipped, never casted to struct btrfs_file_extent_item and never deleted
by accident. Also protect against the unexpected case of getting a key
for a lower inode number by skipping that key and issuing a warning.
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
fs/btrfs/file.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 39aa46612541..7a71c7885835 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -760,8 +760,16 @@ next_slot:
}
btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
- if (key.objectid > ino ||
- key.type > BTRFS_EXTENT_DATA_KEY || key.offset >= end)
+
+ if (key.objectid > ino)
+ break;
+ if (WARN_ON_ONCE(key.objectid < ino) ||
+ key.type < BTRFS_EXTENT_DATA_KEY) {
+ ASSERT(del_nr == 0);
+ path->slots[0]++;
+ goto next_slot;
+ }
+ if (key.type > BTRFS_EXTENT_DATA_KEY || key.offset >= end)
break;
fi = btrfs_item_ptr(leaf, path->slots[0],
@@ -780,8 +788,8 @@ next_slot:
btrfs_file_extent_inline_len(leaf,
path->slots[0], fi);
} else {
- WARN_ON(1);
- extent_end = search_start;
+ /* can't happen */
+ BUG();
}
/*
next prev parent reply other threads:[~2015-12-09 10:11 UTC|newest]
Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-09 9:36 [3.16.y-ckt stable] Linux 3.16.7-ckt21 stable review Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 001/126] irda: precedence bug in irlmp_seq_hb_idx() Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 002/126] qmi_wwan: add Sierra Wireless MC74xx/EM74xx Luis Henriques
2015-12-09 11:27 ` Bjørn Mork
2015-12-09 11:44 ` Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 003/126] macvtap: unbreak receiving of gro skb with frag list Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 004/126] RDS-TCP: Recover correctly from pskb_pull()/pksb_trim() failure in rds_tcp_data_recv Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 005/126] stmmac: Correctly report PTP capabilities Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 006/126] ipmr: fix possible race resulting from improper usage of IP_INC_STATS_BH() in preemptible context Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 007/126] net: qmi_wwan: add HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 008/126] qmi_wwan: fix entry for HP lt4112 LTE/HSPA+ " Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 009/126] sit: fix sit0 percpu double allocations Luis Henriques
2015-12-12 4:18 ` Ben Hutchings
2015-12-13 18:54 ` Luis Henriques
2015-12-13 20:20 ` Ben Hutchings
2015-12-13 20:43 ` Eric Dumazet
2015-12-13 21:22 ` Ben Hutchings
2015-12-13 21:44 ` Eric Dumazet
2015-12-13 21:49 ` Ben Hutchings
2015-12-13 22:45 ` Eric Dumazet
2015-12-13 23:03 ` Ben Hutchings
2015-12-13 21:32 ` Luis Henriques
2015-12-13 22:14 ` David Miller
2015-12-13 22:22 ` Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 010/126] packet: race condition in packet_bind Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 011/126] net: avoid NULL deref in inet_ctl_sock_destroy() Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 012/126] net: fix a race in dst_release() Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 013/126] Failing to send a CLOSE if file is opened WRONLY and server reboots on a 4.x mount Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 014/126] x86/xen: Do not clip xen_e820_map to xen_e820_map_entries when sanitizing map Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 015/126] HID: core: Avoid uninitialized buffer access Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 016/126] [media] v4l2-compat-ioctl32: fix alignment for ARM64 Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 017/126] net: mvneta: Fix CPU_MAP registers initialisation Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 018/126] mtd: mtdpart: fix add_mtd_partitions error path Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 019/126] ARM: 8426/1: dma-mapping: add missing range check in dma_mmap() Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 020/126] ARM: 8427/1: dma-mapping: add support for offset parameter " Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 021/126] mm: Check if section present during memory block (un)registering Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 022/126] spi: ti-qspi: Fix data corruption seen on r/w stress test Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 023/126] lockd: create NSM handles per net namespace Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 024/126] Revert "mm: Check if section present during memory block (un)registering" Luis Henriques
2015-12-12 4:37 ` Ben Hutchings
2015-12-13 18:57 ` Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 025/126] Btrfs: fix file corruption and data loss after cloning inline extents Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 026/126] ARM: common: edma: Fix channel parameter for irq callbacks Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 027/126] iommu/vt-d: Fix ATSR handling for Root-Complex integrated endpoints Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 028/126] Btrfs: fix truncation of compressed and inlined extents Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 029/126] ext4: fix potential use after free in __ext4_journal_stop Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 030/126] [PATCH] fix calculation of meta_bg descriptor backups Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 031/126] ext4, jbd2: ensure entering into panic after recording an error in superblock Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 032/126] vTPM: fix memory allocation flag for rtce buffer at kernel boot Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 033/126] spi: dw: explicitly free IRQ handler in dw_spi_remove_host() Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 034/126] [media] media: vb2 dma-contig: Fully cache synchronise buffers in prepare and finish Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 035/126] Bluetooth: hidp: fix device disconnect on idle timeout Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 036/126] Bluetooth: ath3k: Add new AR3012 0930:021c id Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 037/126] Bluetooth: ath3k: Add support of AR3012 0cf3:817b device Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 038/126] spi: atmel: Fix DMA-setup for transfers with more than 8 bits per word Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 039/126] USB: qcserial: add Sierra Wireless MC74xx/EM74xx Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 040/126] staging: rtl8712: Add device ID for Sitecom WLA2100 Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 041/126] ACPI: Use correct IRQ when uninstalling ACPI interrupt handler Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 042/126] ALSA: hda/realtek - Dell XPS one ALC3260 speaker no sound after resume back Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 043/126] MAINTAINERS: Add public mailing list for ARC Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 044/126] megaraid_sas: Do not use PAGE_SIZE for max_sectors Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 045/126] KVM: s390: SCA must not cross page boundaries Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 046/126] arm64: Fix compat register mappings Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 047/126] can: Use correct type in sizeof() in nla_put() Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 048/126] mtd: blkdevs: fix potential deadlock + lockdep warnings Luis Henriques
2015-12-09 9:36 ` [PATCH 3.16.y-ckt 049/126] Revert "dm mpath: fix stalls when handling invalid ioctls" Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 050/126] drm/i915: add quirk to enable backlight on Dell Chromebook 11 (2015) Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 051/126] crypto: algif_hash - Only export and import on sockets with data Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 052/126] xtensa: fixes for configs without loop option Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 053/126] megaraid_sas : SMAP restriction--do not access user memory from IOCTL code Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 054/126] mac80211: fix divide by zero when NOA update Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 055/126] mac80211: allow null chandef in tracing Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 056/126] xtensa: fix secondary core boot in SMP Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 057/126] recordmcount: Fix endianness handling bug for nop_mcount Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 058/126] KVM: VMX: fix SMEP and SMAP without EPT Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 059/126] thermal: exynos: Fix unbalanced regulator disable on probe failure Luis Henriques
2015-12-09 13:22 ` Krzysztof Kozlowski
2015-12-09 13:59 ` Luis Henriques
2015-12-10 0:48 ` Krzysztof Kozlowski
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 060/126] ALSA: hda - Apply pin fixup for HP ProBook 6550b Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 061/126] ALSA: hda - Add Intel Lewisburg device IDs Audio Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 062/126] firewire: ohci: fix JMicron JMB38x IT context discovery Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 063/126] scsi: restart list search after unlock in scsi_remove_target Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 064/126] mm: slab: only move management objects off-slab for sizes larger than KMALLOC_MIN_SIZE Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 065/126] Input: elantech - add Fujitsu Lifebook U745 to force crc_enabled Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 066/126] proc: actually make proc_fd_permission() thread-friendly Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 067/126] x86/setup: Extend low identity map to cover whole kernel range Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 068/126] x86/setup: Fix low identity map for >= 2GB " Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 069/126] x86/cpu: Call verify_cpu() after having entered long mode too Luis Henriques
2015-12-09 9:37 ` Luis Henriques [this message]
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 071/126] Btrfs: fix race leading to BUG_ON when running delalloc for nodatacow Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 072/126] perf: Fix inherited events vs. tracepoint filters Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 073/126] scsi_sysfs: Fix queue_ramp_up_period return code Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 074/126] Btrfs: fix race when listing an inode's xattrs Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 075/126] ideapad-laptop: Add Lenovo Yoga 900 to no_hw_rfkill dmi list Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 076/126] storvsc: Don't set the SRB_FLAGS_QUEUE_ACTION_ENABLE flag Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 077/126] KVM: x86: Defining missing x86 vectors Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 078/126] KVM: x86: work around infinite loop in microcode when #AC is delivered Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 079/126] KVM: svm: unconditionally intercept #DB Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 080/126] drivers: of: of_reserved_mem: fixup the alignment with CMA setup Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 081/126] drm/ast: Initialized data needed to map fbdev memory Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 082/126] FS-Cache: Increase reference of parent after registering, netfs success Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 083/126] FS-Cache: Don't override netfs's primary_index if registering failed Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 084/126] binfmt_elf: Don't clobber passed executable's file header Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 085/126] fs/pipe.c: return error code rather than 0 in pipe_write() Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 086/126] splice: sendfile() at once fails for big files Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 087/126] mac80211: fix driver RSSI event calculations Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 088/126] wm831x_power: Use IRQF_ONESHOT to request threaded IRQs Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 089/126] mwifiex: fix mwifiex_rdeeprom_read() Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 090/126] dmaengine: dw: convert to __ffs() Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 091/126] usb: ehci-orion: fix probe for !GENERIC_PHY Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 092/126] devres: fix a for loop bounds check Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 093/126] netfilter: remove dead code Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 094/126] ipv4: Fix ip_queue_xmit to pass sk into ip_local_out_sk Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 095/126] packet: fix match_fanout_group() Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 096/126] hsi: fix double kfree Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 097/126] hsi: omap_ssi_port: Prevent warning if cawake_gpio is not defined Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 098/126] ARM: pxa: remove incorrect __init annotation on pxa27x_set_pwrmode Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 099/126] ALSA: fireworks/bebob/oxfw/dice: enable to make as built-in Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 100/126] drm: Fix return value of drm_framebuffer_init() Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 101/126] ALSA: fireworks: use u32 type for be32_to_cpup() macro Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 102/126] ALSA: bebob: use correct type for __be32 data Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 103/126] tcp: apply Kern's check on RTTs used for congestion control Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 104/126] clk: versatile-icst: fix memory leak Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 105/126] MIPS: atomic: Fix comment describing atomic64_add_unless's return value Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 106/126] mfd: twl6040: Fix deferred probe handling for clk32k Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 107/126] of/fdt: fix error checking for earlycon address Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 108/126] netfilter: nfnetlink: don't probe module if it exists Luis Henriques
2015-12-09 9:37 ` [PATCH 3.16.y-ckt 109/126] xprtrdma: Re-arm after missed events Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 110/126] ceph: fix message length computation Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 111/126] ipv6: fix tunnel error handling Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 112/126] perf trace: Fix documentation for -i Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 113/126] bonding: fix panic on non-ARPHRD_ETHER enslave failure Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 114/126] rtc: ds1307: Fix alarm programming for mcp794xx Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 115/126] TPM: Avoid reference to potentially freed memory Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 116/126] xtensa: nommu: provide _PAGE_CHG_MASK definition Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 117/126] md/raid0: update queue parameter in a safer location Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 118/126] md/raid0: apply base queue limits *before* disk_stack_limits Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 119/126] drm/radeon: add quirk for MSI R7 370 Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 120/126] drm/radeon: add quirk for ASUS " Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 121/126] drm/radeon: fix quirk for MSI R7 370 Armor 2X Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 122/126] tty: fix stall caused by missing memory barrier in drivers/tty/n_tty.c Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 123/126] fs/proc, core/debug: Don't expose absolute kernel addresses via wchan Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 124/126] ALSA: hda - Disable 64bit address for Creative HDA controllers Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 125/126] printk: prevent userland from spoofing kernel messages Luis Henriques
2015-12-09 9:38 ` [PATCH 3.16.y-ckt 126/126] FS-Cache: Handle a write to the page immediately beyond the EOF marker Luis Henriques
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=1449653896-5236-71-git-send-email-luis.henriques@canonical.com \
--to=luis.henriques@canonical.com \
--cc=fdmanana@suse.com \
--cc=kernel-team@lists.ubuntu.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
all inboxes | Powered by JetHome®