From: Willy Tarreau <w@1wt.eu>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Ilya Dryomov <idryomov@gmail.com>, Willy Tarreau <w@1wt.eu>
Subject: [PATCH 3.10 044/180] libceph: apply new_state before new_up_client on incrementals
Date: Sun, 21 Aug 2016 17:29:34 +0200 [thread overview]
Message-ID: <1471793510-13022-45-git-send-email-w@1wt.eu> (raw)
In-Reply-To: <1471793510-13022-1-git-send-email-w@1wt.eu>
From: Ilya Dryomov <idryomov@gmail.com>
commit 930c532869774ebf8af9efe9484c597f896a7d46 upstream.
Currently, osd_weight and osd_state fields are updated in the encoding
order. This is wrong, because an incremental map may look like e.g.
new_up_client: { osd=6, addr=... } # set osd_state and addr
new_state: { osd=6, xorstate=EXISTS } # clear osd_state
Suppose osd6's current osd_state is EXISTS (i.e. osd6 is down). After
applying new_up_client, osd_state is changed to EXISTS | UP. Carrying
on with the new_state update, we flip EXISTS and leave osd6 in a weird
"!EXISTS but UP" state. A non-existent OSD is considered down by the
mapping code
2087 for (i = 0; i < pg->pg_temp.len; i++) {
2088 if (ceph_osd_is_down(osdmap, pg->pg_temp.osds[i])) {
2089 if (ceph_can_shift_osds(pi))
2090 continue;
2091
2092 temp->osds[temp->size++] = CRUSH_ITEM_NONE;
and so requests get directed to the second OSD in the set instead of
the first, resulting in OSD-side errors like:
[WRN] : client.4239 192.168.122.21:0/2444980242 misdirected client.4239.1:2827 pg 2.5df899f2 to osd.4 not [1,4,6] in e680/680
and hung rbds on the client:
[ 493.566367] rbd: rbd0: write 400000 at 11cc00000 (0)
[ 493.566805] rbd: rbd0: result -6 xferred 400000
[ 493.567011] blk_update_request: I/O error, dev rbd0, sector 9330688
The fix is to decouple application from the decoding and:
- apply new_weight first
- apply new_state before new_up_client
- twiddle osd_state flags if marking in
- clear out some of the state if osd is destroyed
Fixes: http://tracker.ceph.com/issues/14901
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
[idryomov@gmail.com: backport to 3.10-3.14: strip primary-affinity]
Signed-off-by: Willy Tarreau <w@1wt.eu>
---
net/ceph/osdmap.c | 152 ++++++++++++++++++++++++++++++++++++++----------------
1 file changed, 108 insertions(+), 44 deletions(-)
diff --git a/net/ceph/osdmap.c b/net/ceph/osdmap.c
index 7ec4e05..c1de8d4 100644
--- a/net/ceph/osdmap.c
+++ b/net/ceph/osdmap.c
@@ -798,6 +798,110 @@ bad:
}
/*
+ * Encoding order is (new_up_client, new_state, new_weight). Need to
+ * apply in the (new_weight, new_state, new_up_client) order, because
+ * an incremental map may look like e.g.
+ *
+ * new_up_client: { osd=6, addr=... } # set osd_state and addr
+ * new_state: { osd=6, xorstate=EXISTS } # clear osd_state
+ */
+static int decode_new_up_state_weight(void **p, void *end,
+ struct ceph_osdmap *map)
+{
+ void *new_up_client;
+ void *new_state;
+ void *new_weight_end;
+ u32 len;
+
+ new_up_client = *p;
+ ceph_decode_32_safe(p, end, len, e_inval);
+ len *= sizeof(u32) + sizeof(struct ceph_entity_addr);
+ ceph_decode_need(p, end, len, e_inval);
+ *p += len;
+
+ new_state = *p;
+ ceph_decode_32_safe(p, end, len, e_inval);
+ len *= sizeof(u32) + sizeof(u8);
+ ceph_decode_need(p, end, len, e_inval);
+ *p += len;
+
+ /* new_weight */
+ ceph_decode_32_safe(p, end, len, e_inval);
+ while (len--) {
+ s32 osd;
+ u32 w;
+
+ ceph_decode_need(p, end, 2*sizeof(u32), e_inval);
+ osd = ceph_decode_32(p);
+ w = ceph_decode_32(p);
+ BUG_ON(osd >= map->max_osd);
+ pr_info("osd%d weight 0x%x %s\n", osd, w,
+ w == CEPH_OSD_IN ? "(in)" :
+ (w == CEPH_OSD_OUT ? "(out)" : ""));
+ map->osd_weight[osd] = w;
+
+ /*
+ * If we are marking in, set the EXISTS, and clear the
+ * AUTOOUT and NEW bits.
+ */
+ if (w) {
+ map->osd_state[osd] |= CEPH_OSD_EXISTS;
+ map->osd_state[osd] &= ~(CEPH_OSD_AUTOOUT |
+ CEPH_OSD_NEW);
+ }
+ }
+ new_weight_end = *p;
+
+ /* new_state (up/down) */
+ *p = new_state;
+ len = ceph_decode_32(p);
+ while (len--) {
+ s32 osd;
+ u8 xorstate;
+
+ osd = ceph_decode_32(p);
+ xorstate = ceph_decode_8(p);
+ if (xorstate == 0)
+ xorstate = CEPH_OSD_UP;
+ BUG_ON(osd >= map->max_osd);
+ if ((map->osd_state[osd] & CEPH_OSD_UP) &&
+ (xorstate & CEPH_OSD_UP))
+ pr_info("osd%d down\n", osd);
+ if ((map->osd_state[osd] & CEPH_OSD_EXISTS) &&
+ (xorstate & CEPH_OSD_EXISTS)) {
+ pr_info("osd%d does not exist\n", osd);
+ map->osd_weight[osd] = CEPH_OSD_IN;
+ memset(map->osd_addr + osd, 0, sizeof(*map->osd_addr));
+ map->osd_state[osd] = 0;
+ } else {
+ map->osd_state[osd] ^= xorstate;
+ }
+ }
+
+ /* new_up_client */
+ *p = new_up_client;
+ len = ceph_decode_32(p);
+ while (len--) {
+ s32 osd;
+ struct ceph_entity_addr addr;
+
+ osd = ceph_decode_32(p);
+ ceph_decode_copy(p, &addr, sizeof(addr));
+ ceph_decode_addr(&addr);
+ BUG_ON(osd >= map->max_osd);
+ pr_info("osd%d up\n", osd);
+ map->osd_state[osd] |= CEPH_OSD_EXISTS | CEPH_OSD_UP;
+ map->osd_addr[osd] = addr;
+ }
+
+ *p = new_weight_end;
+ return 0;
+
+e_inval:
+ return -EINVAL;
+}
+
+/*
* decode and apply an incremental map update.
*/
struct ceph_osdmap *osdmap_apply_incremental(void **p, void *end,
@@ -912,50 +1016,10 @@ struct ceph_osdmap *osdmap_apply_incremental(void **p, void *end,
__remove_pg_pool(&map->pg_pools, pi);
}
- /* new_up */
- err = -EINVAL;
- ceph_decode_32_safe(p, end, len, bad);
- while (len--) {
- u32 osd;
- struct ceph_entity_addr addr;
- ceph_decode_32_safe(p, end, osd, bad);
- ceph_decode_copy_safe(p, end, &addr, sizeof(addr), bad);
- ceph_decode_addr(&addr);
- pr_info("osd%d up\n", osd);
- BUG_ON(osd >= map->max_osd);
- map->osd_state[osd] |= CEPH_OSD_UP;
- map->osd_addr[osd] = addr;
- }
-
- /* new_state */
- ceph_decode_32_safe(p, end, len, bad);
- while (len--) {
- u32 osd;
- u8 xorstate;
- ceph_decode_32_safe(p, end, osd, bad);
- xorstate = **(u8 **)p;
- (*p)++; /* clean flag */
- if (xorstate == 0)
- xorstate = CEPH_OSD_UP;
- if (xorstate & CEPH_OSD_UP)
- pr_info("osd%d down\n", osd);
- if (osd < map->max_osd)
- map->osd_state[osd] ^= xorstate;
- }
-
- /* new_weight */
- ceph_decode_32_safe(p, end, len, bad);
- while (len--) {
- u32 osd, off;
- ceph_decode_need(p, end, sizeof(u32)*2, bad);
- osd = ceph_decode_32(p);
- off = ceph_decode_32(p);
- pr_info("osd%d weight 0x%x %s\n", osd, off,
- off == CEPH_OSD_IN ? "(in)" :
- (off == CEPH_OSD_OUT ? "(out)" : ""));
- if (osd < map->max_osd)
- map->osd_weight[osd] = off;
- }
+ /* new_up_client, new_state, new_weight */
+ err = decode_new_up_state_weight(p, end, map);
+ if (err)
+ goto bad;
/* new_pg_temp */
ceph_decode_32_safe(p, end, len, bad);
--
2.8.0.rc2.1.gbe9624a
next prev parent reply other threads:[~2016-08-21 15:55 UTC|newest]
Thread overview: 192+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-21 15:28 [PATCH 3.10 000/180] 3.10.103-stable review Willy Tarreau
2016-08-21 15:28 ` [PATCH 3.10 001/180] X.509: remove possible code fragility: enumeration values not handled Willy Tarreau
2016-08-21 15:28 ` [PATCH 3.10 002/180] x86, asmlinkage, apm: Make APM data structure used from assembler visible Willy Tarreau
2016-08-21 15:28 ` [PATCH 3.10 003/180] netfilter: x_tables: validate e->target_offset early Willy Tarreau
2016-08-21 15:28 ` [PATCH 3.10 004/180] netfilter: x_tables: make sure e->next_offset covers remaining blob size Willy Tarreau
2016-08-21 15:28 ` [PATCH 3.10 005/180] netfilter: x_tables: fix unconditional helper Willy Tarreau
2016-08-21 15:28 ` [PATCH 3.10 006/180] netfilter: x_tables: don't move to non-existent next rule Willy Tarreau
2016-08-21 15:28 ` [PATCH 3.10 007/180] netfilter: x_tables: validate targets of jumps Willy Tarreau
2016-08-21 19:57 ` Willy Tarreau
2016-08-21 20:16 ` Florian Westphal
2016-08-21 21:21 ` Willy Tarreau
2016-08-21 15:28 ` [PATCH 3.10 008/180] netfilter: x_tables: add and use xt_check_entry_offsets Willy Tarreau
2016-08-21 15:28 ` [PATCH 3.10 009/180] netfilter: x_tables: kill check_entry helper Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 010/180] netfilter: x_tables: assert minimum target size Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 011/180] netfilter: x_tables: add compat version of xt_check_entry_offsets Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 012/180] netfilter: x_tables: check standard target size too Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 013/180] netfilter: x_tables: check for bogus target offset Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 014/180] netfilter: x_tables: validate all offsets and sizes in a rule Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 015/180] netfilter: x_tables: don't reject valid target size on some architectures Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 016/180] netfilter: arp_tables: simplify translate_compat_table args Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 017/180] netfilter: ip_tables: " Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 018/180] netfilter: ip6_tables: " Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 019/180] netfilter: x_tables: xt_compat_match_from_user doesn't need a retval Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 020/180] netfilter: ensure number of counters is >0 in do_replace() Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 021/180] netfilter: x_tables: do compat validation via translate_table Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 022/180] Revert "netfilter: ensure number of counters is >0 in do_replace()" Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 023/180] netfilter: x_tables: introduce and use xt_copy_counters_from_user Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 024/180] perf/x86: Honor the architectural performance monitoring version Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 025/180] perf/x86: Fix undefined shift on 32-bit kernels Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 026/180] signal: remove warning about using SI_TKILL in rt_[tg]sigqueueinfo Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 027/180] PCI/ACPI: Fix _OSC ordering to allow PCIe hotplug use when available Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 028/180] udp: properly support MSG_PEEK with truncated buffers Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 029/180] USB: fix invalid memory access in hub_activate() Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 030/180] USB: usbfs: fix potential infoleak in devio Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 031/180] USB: fix up faulty backports Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 032/180] USB: EHCI: declare hostpc register as zero-length array Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 033/180] USB: serial: option: add support for Telit LE910 PID 0x1206 Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 034/180] usb: musb: Stop bulk endpoint while queue is rotated Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 035/180] usb: musb: Ensure rx reinit occurs for shared_fifo endpoints Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 036/180] usb: renesas_usbhs: protect the CFIFOSEL setting in usbhsg_ep_enable() Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 037/180] x86/mm: Add barriers and document switch_mm()-vs-flush synchronization Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 038/180] pipe: limit the per-user amount of pages allocated in pipes Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 039/180] cdc_ncm: do not call usbnet_link_change from cdc_ncm_bind Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 040/180] KEYS: potential uninitialized variable Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 041/180] mm: migrate dirty page without clear_page_dirty_for_io etc Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 042/180] printk: do cond_resched() between lines while outputting to consoles Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 043/180] HID: hiddev: validate num_values for HIDIOCGUSAGES, HIDIOCSUSAGES commands Willy Tarreau
2016-08-21 15:29 ` Willy Tarreau [this message]
2016-08-21 15:29 ` [PATCH 3.10 045/180] tmpfs: don't undo fallocate past its last page Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 046/180] tmpfs: fix regression hang in fallocate undo Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 047/180] tcp: make challenge acks less predictable Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 048/180] tcp: record TLP and ER timer stats in v6 stats Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 049/180] tcp: consider recv buf for the initial window scale Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 050/180] MIPS: KVM: Fix mapped fault broken commpage handling Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 051/180] MIPS: KVM: Add missing gfn range check Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 052/180] MIPS: KVM: Fix gfn range check in kseg0 tlb faults Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 053/180] MIPS: KVM: Propagate kseg0/mapped tlb fault errors Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 054/180] MIPS: math-emu: Fix jalr emulation when rd == $0 Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 055/180] MIPS: Fix siginfo.h to use strict posix types Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 056/180] MIPS: ath79: make bootconsole wait for both THRE and TEMT Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 057/180] MIPS: Fix 64k page support for 32 bit kernels Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 058/180] MIPS: KVM: Fix modular KVM under QEMU Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 059/180] Input: uinput - handle compat ioctl for UI_SET_PHYS Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 060/180] Input: wacom_w8001 - w8001_MAX_LENGTH should be 13 Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 061/180] Input: xpad - validate USB endpoint count during probe Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 062/180] ath5k: Change led pin configuration for compaq c700 laptop Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 063/180] aacraid: Relinquish CPU during timeout wait Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 064/180] aacraid: Fix for aac_command_thread hang Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 065/180] PCI: Disable all BAR sizing for devices with non-compliant BARs Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 066/180] rtlwifi: Fix logic error in enter/exit power-save mode Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 067/180] powerpc/book3s64: Fix branching to OOL handlers in relocatable kernel Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 068/180] powerpc: Fix definition of SIAR and SDAR registers Willy Tarreau
2016-08-21 15:29 ` [PATCH 3.10 069/180] powerpc: Use privileged SPR number for MMCR2 Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 070/180] powerpc/pseries/eeh: Handle RTAS delay requests in configure_bridge Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 071/180] powerpc/iommu: Remove the dependency on EEH struct in DDW mechanism Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 072/180] powerpc/pseries: Fix PCI config address for DDW Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 073/180] powerpc/tm: Always reclaim in start_thread() for exec() class syscalls Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 074/180] sunrpc: fix stripping of padded MIC tokens Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 075/180] drm/gma500: Fix possible out of bounds read Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 076/180] drm/fb_helper: Fix references to dev->mode_config.num_connector Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 077/180] drm/radeon: fix asic initialization for virtualized environments Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 078/180] drm/radeon: add a delay after ATPX dGPU power off Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 079/180] drm/radeon: Poll for both connect/disconnect on analog connectors Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 080/180] drm/radeon: fix firmware info version checks Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 081/180] ext4: fix hang when processing corrupted orphaned inode list Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 082/180] ext4: address UBSAN warning in mb_find_order_for_block() Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 083/180] ext4: silence UBSAN in ext4_mb_init() Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 084/180] ext4: verify extent header depth Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 085/180] ext4: check for extents that wrap around Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 086/180] ext4: don't call ext4_should_journal_data() on the journal inode Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 087/180] ext4: short-cut orphan cleanup on error Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 088/180] ext4: fix reference counting bug on block allocation error Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 089/180] dma-debug: avoid spinlock recursion when disabling dma-debug Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 090/180] xfs: xfs_iflush_cluster fails to abort on error Willy Tarreau
2016-08-22 4:21 ` Dave Chinner
2016-08-22 5:18 ` Willy Tarreau
2016-08-22 5:26 ` Willy Tarreau
2016-08-22 10:55 ` Dave Chinner
2016-08-22 11:08 ` Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 091/180] xfs: fix inode validity check in xfs_iflush_cluster Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 092/180] xfs: skip stale inodes " Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 093/180] KVM: x86: fix OOPS after invalid KVM_SET_DEBUGREGS Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 094/180] ARM: fix PTRACE_SETVFPREGS on SMP systems Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 095/180] arm: oabi compat: add missing access checks Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 096/180] parisc: Fix pagefault crash in unaligned __get_user() call Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 097/180] ecryptfs: forbid opening files without mmap handler Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 098/180] wext: Fix 32 bit iwpriv compatibility issue with 64 bit Kernel Willy Tarreau
2016-08-22 5:35 ` Johannes Berg
2016-08-22 5:47 ` Willy Tarreau
2016-09-22 8:33 ` Jiri Slaby
2016-08-21 15:30 ` [PATCH 3.10 099/180] fix d_walk()/non-delayed __d_free() race Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 100/180] xfs: fix up backport error in fs/xfs/xfs_inode.c Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 101/180] crypto: ux500 - memmove the right size Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 102/180] crypto: gcm - Filter out async ghash if necessary Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 103/180] crypto: scatterwalk - Fix test in scatterwalk_done Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 104/180] sit: correct IP protocol used in ipip6_err Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 105/180] ipmr/ip6mr: Initialize the last assert time of mfc entries Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 106/180] net: alx: Work around the DMA RX overflow issue Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 107/180] mac80211: mesh: flush mesh paths unconditionally Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 108/180] mac80211_hwsim: Add missing check for HWSIM_ATTR_SIGNAL Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 109/180] IB/mlx4: Properly initialize GRH TClass and FlowLabel in AHs Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 110/180] IB/security: Restrict use of the write() interface Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 111/180] IB/IPoIB: Don't update neigh validity for unresolved entries Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 112/180] IB/mlx4: Fix the SQ size of an RC QP Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 113/180] x86, build: copy ldlinux.c32 to image.iso Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 114/180] kprobes/x86: Clear TF bit in fault on single-stepping Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 115/180] x86/amd_nb: Fix boot crash on non-AMD systems Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 116/180] NFS: Fix another OPEN_DOWNGRADE bug Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 117/180] mm: Export migrate_page_move_mapping and migrate_page_copy Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 118/180] UBIFS: Implement ->migratepage() Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 119/180] cdc_ncm: workaround for EM7455 "silent" data interface Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 120/180] kvm: Fix irq route entries exceeding KVM_MAX_IRQ_ROUTES Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 121/180] tracing: Handle NULL formats in hold_module_trace_bprintk_format() Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 122/180] base: make module_create_drivers_dir race-free Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 123/180] iio: Fix error handling in iio_trigger_attach_poll_func Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 124/180] staging: iio: accel: fix error check Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 125/180] iio: accel: kxsd9: fix the usage of spi_w8r8() Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 126/180] iio:ad7266: Fix broken regulator error handling Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 127/180] iio:ad7266: Fix probe deferral for vref Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 128/180] tty/vt/keyboard: fix OOB access in do_compute_shiftstate() Willy Tarreau
2016-08-21 15:30 ` [PATCH 3.10 129/180] ALSA: dummy: Fix a use-after-free at closing Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 130/180] ALSA: au88x0: Fix calculation in vortex_wtdma_bufshift() Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 131/180] ALSA: ctl: Stop notification after disconnection Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 132/180] ALSA: timer: Fix leak in SNDRV_TIMER_IOCTL_PARAMS Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 133/180] ALSA: timer: Fix leak in events via snd_timer_user_ccallback Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 134/180] ALSA: timer: Fix leak in events via snd_timer_user_tinterrupt Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 135/180] scsi: fix race between simultaneous decrements of ->host_failed Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 136/180] scsi: remove scsi_end_request Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 137/180] Fix reconnect to not defer smb3 session reconnect long after socket reconnect Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 138/180] xen/acpi: allow xen-acpi-processor driver to load on Xen 4.7 Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 139/180] s390/seccomp: fix error return for filtered system calls Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 140/180] fs/nilfs2: fix potential underflow in call to crc32_le Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 141/180] arc: unwind: warn only once if DW2_UNWIND is disabled Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 142/180] xen/pciback: Fix conf_space read/write overlap check Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 143/180] Revert "ecryptfs: forbid opening files without mmap handler" Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 144/180] ecryptfs: don't allow mmap when the lower fs doesn't support it Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 145/180] ARC: use ASL assembler mnemonic Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 146/180] qeth: delete napi struct when removing a qeth device Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 147/180] mmc: block: fix packed command header endianness Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 148/180] can: at91_can: RX queue could get stuck at high bus load Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 149/180] can: fix oops caused by wrong rtnl dellink usage Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 150/180] ipr: Clear interrupt on croc/crocodile when running with LSI Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 151/180] net: mvneta: set real interrupt per packet for tx_done Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 152/180] sctp: Prevent soft lockup when sctp_accept() is called during a timeout event Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 153/180] x86/mm: Improve switch_mm() barrier comments Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 154/180] KEYS: 64-bit MIPS needs to use compat_sys_keyctl for 32-bit userspace Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 155/180] scsi_lib: correctly retry failed zero length REQ_TYPE_FS commands Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 156/180] block: fix use-after-free in seq file Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 157/180] fuse: fix wrong assignment of ->flags in fuse_send_init() Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 158/180] net/irda: fix NULL pointer dereference on memory allocation failure Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 159/180] gpio: pca953x: Fix NBANK calculation for PCA9536 Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 160/180] hp-wmi: Fix wifi cannot be hard-unblocked Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 161/180] s5p-mfc: Set device name for reserved memory region devs Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 162/180] s5p-mfc: Add release callback for " Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 163/180] Bluetooth: Fix l2cap_sock_setsockopt() with optname BT_RCVMTU Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 164/180] cifs: Check for existing directory when opening file with O_CREAT Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 165/180] netlabel: add address family checks to netlbl_{sock,req}_delattr() Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 166/180] balloon: check the number of available pages in leak balloon Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 167/180] ftrace/recordmcount: Work around for addition of metag magic but not relocations Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 168/180] metag: Fix __cmpxchg_u32 asm constraint for CMP Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 169/180] ubi: Make volume resize power cut aware Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 170/180] ubi: Fix race condition between ubi device creation and udev Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 171/180] dm flakey: error READ bios during the down_interval Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 172/180] module: Invalidate signatures on force-loaded modules Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 173/180] be2iscsi: Fix bogus WARN_ON length check Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 174/180] squash mm: Export migrate_page_... : also make it non-static Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 175/180] HID: hid-input: Add parentheses to quell gcc warning Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 176/180] ALSA: oxygen: Fix logical-not-parentheses warning Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 177/180] net: rfkill: Do not ignore errors from regulator_enable() Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 178/180] isdn: hfcpci_softirq: get func return to suppress compiler warning Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 179/180] stb6100: fix buffer length check in stb6100_write_reg_range() Willy Tarreau
2016-08-21 15:31 ` [PATCH 3.10 180/180] spi: spi-xilinx: cleanup a check in xilinx_spi_txrx_bufs() Willy Tarreau
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=1471793510-13022-45-git-send-email-w@1wt.eu \
--to=w@1wt.eu \
--cc=idryomov@gmail.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).