All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Naresh Kamboju <naresh.kamboju@linaro.org>,
	Eric Dumazet <eric.dumazet@gmail.com>,
	Martin KaFai Lau <kafai@fb.com>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 4.14 102/135] bpf: fix lockdep false positive in percpu_freelist
Date: Tue, 12 Mar 2019 10:09:09 -0700	[thread overview]
Message-ID: <20190312170350.580124803@linuxfoundation.org> (raw)
In-Reply-To: <20190312170341.127810985@linuxfoundation.org>

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

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

[ Upstream commit a89fac57b5d080771efd4d71feaae19877cf68f0 ]

Lockdep warns about false positive:
[   12.492084] 00000000e6b28347 (&head->lock){+...}, at: pcpu_freelist_push+0x2a/0x40
[   12.492696] but this lock was taken by another, HARDIRQ-safe lock in the past:
[   12.493275]  (&rq->lock){-.-.}
[   12.493276]
[   12.493276]
[   12.493276] and interrupts could create inverse lock ordering between them.
[   12.493276]
[   12.494435]
[   12.494435] other info that might help us debug this:
[   12.494979]  Possible interrupt unsafe locking scenario:
[   12.494979]
[   12.495518]        CPU0                    CPU1
[   12.495879]        ----                    ----
[   12.496243]   lock(&head->lock);
[   12.496502]                                local_irq_disable();
[   12.496969]                                lock(&rq->lock);
[   12.497431]                                lock(&head->lock);
[   12.497890]   <Interrupt>
[   12.498104]     lock(&rq->lock);
[   12.498368]
[   12.498368]  *** DEADLOCK ***
[   12.498368]
[   12.498837] 1 lock held by dd/276:
[   12.499110]  #0: 00000000c58cb2ee (rcu_read_lock){....}, at: trace_call_bpf+0x5e/0x240
[   12.499747]
[   12.499747] the shortest dependencies between 2nd lock and 1st lock:
[   12.500389]  -> (&rq->lock){-.-.} {
[   12.500669]     IN-HARDIRQ-W at:
[   12.500934]                       _raw_spin_lock+0x2f/0x40
[   12.501373]                       scheduler_tick+0x4c/0xf0
[   12.501812]                       update_process_times+0x40/0x50
[   12.502294]                       tick_periodic+0x27/0xb0
[   12.502723]                       tick_handle_periodic+0x1f/0x60
[   12.503203]                       timer_interrupt+0x11/0x20
[   12.503651]                       __handle_irq_event_percpu+0x43/0x2c0
[   12.504167]                       handle_irq_event_percpu+0x20/0x50
[   12.504674]                       handle_irq_event+0x37/0x60
[   12.505139]                       handle_level_irq+0xa7/0x120
[   12.505601]                       handle_irq+0xa1/0x150
[   12.506018]                       do_IRQ+0x77/0x140
[   12.506411]                       ret_from_intr+0x0/0x1d
[   12.506834]                       _raw_spin_unlock_irqrestore+0x53/0x60
[   12.507362]                       __setup_irq+0x481/0x730
[   12.507789]                       setup_irq+0x49/0x80
[   12.508195]                       hpet_time_init+0x21/0x32
[   12.508644]                       x86_late_time_init+0xb/0x16
[   12.509106]                       start_kernel+0x390/0x42a
[   12.509554]                       secondary_startup_64+0xa4/0xb0
[   12.510034]     IN-SOFTIRQ-W at:
[   12.510305]                       _raw_spin_lock+0x2f/0x40
[   12.510772]                       try_to_wake_up+0x1c7/0x4e0
[   12.511220]                       swake_up_locked+0x20/0x40
[   12.511657]                       swake_up_one+0x1a/0x30
[   12.512070]                       rcu_process_callbacks+0xc5/0x650
[   12.512553]                       __do_softirq+0xe6/0x47b
[   12.512978]                       irq_exit+0xc3/0xd0
[   12.513372]                       smp_apic_timer_interrupt+0xa9/0x250
[   12.513876]                       apic_timer_interrupt+0xf/0x20
[   12.514343]                       default_idle+0x1c/0x170
[   12.514765]                       do_idle+0x199/0x240
[   12.515159]                       cpu_startup_entry+0x19/0x20
[   12.515614]                       start_kernel+0x422/0x42a
[   12.516045]                       secondary_startup_64+0xa4/0xb0
[   12.516521]     INITIAL USE at:
[   12.516774]                      _raw_spin_lock_irqsave+0x38/0x50
[   12.517258]                      rq_attach_root+0x16/0xd0
[   12.517685]                      sched_init+0x2f2/0x3eb
[   12.518096]                      start_kernel+0x1fb/0x42a
[   12.518525]                      secondary_startup_64+0xa4/0xb0
[   12.518986]   }
[   12.519132]   ... key      at: [<ffffffff82b7bc28>] __key.71384+0x0/0x8
[   12.519649]   ... acquired at:
[   12.519892]    pcpu_freelist_pop+0x7b/0xd0
[   12.520221]    bpf_get_stackid+0x1d2/0x4d0
[   12.520563]    ___bpf_prog_run+0x8b4/0x11a0
[   12.520887]
[   12.521008] -> (&head->lock){+...} {
[   12.521292]    HARDIRQ-ON-W at:
[   12.521539]                     _raw_spin_lock+0x2f/0x40
[   12.521950]                     pcpu_freelist_push+0x2a/0x40
[   12.522396]                     bpf_get_stackid+0x494/0x4d0
[   12.522828]                     ___bpf_prog_run+0x8b4/0x11a0
[   12.523296]    INITIAL USE at:
[   12.523537]                    _raw_spin_lock+0x2f/0x40
[   12.523944]                    pcpu_freelist_populate+0xc0/0x120
[   12.524417]                    htab_map_alloc+0x405/0x500
[   12.524835]                    __do_sys_bpf+0x1a3/0x1a90
[   12.525253]                    do_syscall_64+0x4a/0x180
[   12.525659]                    entry_SYSCALL_64_after_hwframe+0x49/0xbe
[   12.526167]  }
[   12.526311]  ... key      at: [<ffffffff838f7668>] __key.13130+0x0/0x8
[   12.526812]  ... acquired at:
[   12.527047]    __lock_acquire+0x521/0x1350
[   12.527371]    lock_acquire+0x98/0x190
[   12.527680]    _raw_spin_lock+0x2f/0x40
[   12.527994]    pcpu_freelist_push+0x2a/0x40
[   12.528325]    bpf_get_stackid+0x494/0x4d0
[   12.528645]    ___bpf_prog_run+0x8b4/0x11a0
[   12.528970]
[   12.529092]
[   12.529092] stack backtrace:
[   12.529444] CPU: 0 PID: 276 Comm: dd Not tainted 5.0.0-rc3-00018-g2fa53f892422 #475
[   12.530043] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.0-2.el7 04/01/2014
[   12.530750] Call Trace:
[   12.530948]  dump_stack+0x5f/0x8b
[   12.531248]  check_usage_backwards+0x10c/0x120
[   12.531598]  ? ___bpf_prog_run+0x8b4/0x11a0
[   12.531935]  ? mark_lock+0x382/0x560
[   12.532229]  mark_lock+0x382/0x560
[   12.532496]  ? print_shortest_lock_dependencies+0x180/0x180
[   12.532928]  __lock_acquire+0x521/0x1350
[   12.533271]  ? find_get_entry+0x17f/0x2e0
[   12.533586]  ? find_get_entry+0x19c/0x2e0
[   12.533902]  ? lock_acquire+0x98/0x190
[   12.534196]  lock_acquire+0x98/0x190
[   12.534482]  ? pcpu_freelist_push+0x2a/0x40
[   12.534810]  _raw_spin_lock+0x2f/0x40
[   12.535099]  ? pcpu_freelist_push+0x2a/0x40
[   12.535432]  pcpu_freelist_push+0x2a/0x40
[   12.535750]  bpf_get_stackid+0x494/0x4d0
[   12.536062]  ___bpf_prog_run+0x8b4/0x11a0

It has been explained that is a false positive here:
https://lkml.org/lkml/2018/7/25/756
Recap:
- stackmap uses pcpu_freelist
- The lock in pcpu_freelist is a percpu lock
- stackmap is only used by tracing bpf_prog
- A tracing bpf_prog cannot be run if another bpf_prog
  has already been running (ensured by the percpu bpf_prog_active counter).

Eric pointed out that this lockdep splats stops other
legit lockdep splats in selftests/bpf/test_progs.c.

Fix this by calling local_irq_save/restore for stackmap.

Another false positive had also been worked around by calling
local_irq_save in commit 89ad2fa3f043 ("bpf: fix lockdep splat").
That commit added unnecessary irq_save/restore to fast path of
bpf hash map. irqs are already disabled at that point, since htab
is holding per bucket spin_lock with irqsave.

Let's reduce overhead for htab by introducing __pcpu_freelist_push/pop
function w/o irqsave and convert pcpu_freelist_push/pop to irqsave
to be used elsewhere (right now only in stackmap).
It stops lockdep false positive in stackmap with a bit of acceptable overhead.

Fixes: 557c0c6e7df8 ("bpf: convert stackmap to pre-allocation")
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Reported-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 kernel/bpf/hashtab.c         |  4 ++--
 kernel/bpf/percpu_freelist.c | 41 +++++++++++++++++++++++++-----------
 kernel/bpf/percpu_freelist.h |  4 ++++
 3 files changed, 35 insertions(+), 14 deletions(-)

diff --git a/kernel/bpf/hashtab.c b/kernel/bpf/hashtab.c
index 3d0ecc273cc6..84237f640789 100644
--- a/kernel/bpf/hashtab.c
+++ b/kernel/bpf/hashtab.c
@@ -655,7 +655,7 @@ static void free_htab_elem(struct bpf_htab *htab, struct htab_elem *l)
 	}
 
 	if (htab_is_prealloc(htab)) {
-		pcpu_freelist_push(&htab->freelist, &l->fnode);
+		__pcpu_freelist_push(&htab->freelist, &l->fnode);
 	} else {
 		atomic_dec(&htab->count);
 		l->htab = htab;
@@ -717,7 +717,7 @@ static struct htab_elem *alloc_htab_elem(struct bpf_htab *htab, void *key,
 		} else {
 			struct pcpu_freelist_node *l;
 
-			l = pcpu_freelist_pop(&htab->freelist);
+			l = __pcpu_freelist_pop(&htab->freelist);
 			if (!l)
 				return ERR_PTR(-E2BIG);
 			l_new = container_of(l, struct htab_elem, fnode);
diff --git a/kernel/bpf/percpu_freelist.c b/kernel/bpf/percpu_freelist.c
index 673fa6fe2d73..0c1b4ba9e90e 100644
--- a/kernel/bpf/percpu_freelist.c
+++ b/kernel/bpf/percpu_freelist.c
@@ -28,8 +28,8 @@ void pcpu_freelist_destroy(struct pcpu_freelist *s)
 	free_percpu(s->freelist);
 }
 
-static inline void __pcpu_freelist_push(struct pcpu_freelist_head *head,
-					struct pcpu_freelist_node *node)
+static inline void ___pcpu_freelist_push(struct pcpu_freelist_head *head,
+					 struct pcpu_freelist_node *node)
 {
 	raw_spin_lock(&head->lock);
 	node->next = head->first;
@@ -37,12 +37,22 @@ static inline void __pcpu_freelist_push(struct pcpu_freelist_head *head,
 	raw_spin_unlock(&head->lock);
 }
 
-void pcpu_freelist_push(struct pcpu_freelist *s,
+void __pcpu_freelist_push(struct pcpu_freelist *s,
 			struct pcpu_freelist_node *node)
 {
 	struct pcpu_freelist_head *head = this_cpu_ptr(s->freelist);
 
-	__pcpu_freelist_push(head, node);
+	___pcpu_freelist_push(head, node);
+}
+
+void pcpu_freelist_push(struct pcpu_freelist *s,
+			struct pcpu_freelist_node *node)
+{
+	unsigned long flags;
+
+	local_irq_save(flags);
+	__pcpu_freelist_push(s, node);
+	local_irq_restore(flags);
 }
 
 void pcpu_freelist_populate(struct pcpu_freelist *s, void *buf, u32 elem_size,
@@ -63,7 +73,7 @@ void pcpu_freelist_populate(struct pcpu_freelist *s, void *buf, u32 elem_size,
 	for_each_possible_cpu(cpu) {
 again:
 		head = per_cpu_ptr(s->freelist, cpu);
-		__pcpu_freelist_push(head, buf);
+		___pcpu_freelist_push(head, buf);
 		i++;
 		buf += elem_size;
 		if (i == nr_elems)
@@ -74,14 +84,12 @@ void pcpu_freelist_populate(struct pcpu_freelist *s, void *buf, u32 elem_size,
 	local_irq_restore(flags);
 }
 
-struct pcpu_freelist_node *pcpu_freelist_pop(struct pcpu_freelist *s)
+struct pcpu_freelist_node *__pcpu_freelist_pop(struct pcpu_freelist *s)
 {
 	struct pcpu_freelist_head *head;
 	struct pcpu_freelist_node *node;
-	unsigned long flags;
 	int orig_cpu, cpu;
 
-	local_irq_save(flags);
 	orig_cpu = cpu = raw_smp_processor_id();
 	while (1) {
 		head = per_cpu_ptr(s->freelist, cpu);
@@ -89,16 +97,25 @@ struct pcpu_freelist_node *pcpu_freelist_pop(struct pcpu_freelist *s)
 		node = head->first;
 		if (node) {
 			head->first = node->next;
-			raw_spin_unlock_irqrestore(&head->lock, flags);
+			raw_spin_unlock(&head->lock);
 			return node;
 		}
 		raw_spin_unlock(&head->lock);
 		cpu = cpumask_next(cpu, cpu_possible_mask);
 		if (cpu >= nr_cpu_ids)
 			cpu = 0;
-		if (cpu == orig_cpu) {
-			local_irq_restore(flags);
+		if (cpu == orig_cpu)
 			return NULL;
-		}
 	}
 }
+
+struct pcpu_freelist_node *pcpu_freelist_pop(struct pcpu_freelist *s)
+{
+	struct pcpu_freelist_node *ret;
+	unsigned long flags;
+
+	local_irq_save(flags);
+	ret = __pcpu_freelist_pop(s);
+	local_irq_restore(flags);
+	return ret;
+}
diff --git a/kernel/bpf/percpu_freelist.h b/kernel/bpf/percpu_freelist.h
index 3049aae8ea1e..c3960118e617 100644
--- a/kernel/bpf/percpu_freelist.h
+++ b/kernel/bpf/percpu_freelist.h
@@ -22,8 +22,12 @@ struct pcpu_freelist_node {
 	struct pcpu_freelist_node *next;
 };
 
+/* pcpu_freelist_* do spin_lock_irqsave. */
 void pcpu_freelist_push(struct pcpu_freelist *, struct pcpu_freelist_node *);
 struct pcpu_freelist_node *pcpu_freelist_pop(struct pcpu_freelist *);
+/* __pcpu_freelist_* do spin_lock only. caller must disable irqs. */
+void __pcpu_freelist_push(struct pcpu_freelist *, struct pcpu_freelist_node *);
+struct pcpu_freelist_node *__pcpu_freelist_pop(struct pcpu_freelist *);
 void pcpu_freelist_populate(struct pcpu_freelist *s, void *buf, u32 elem_size,
 			    u32 nr_elems);
 int pcpu_freelist_init(struct pcpu_freelist *);
-- 
2.19.1




  parent reply	other threads:[~2019-03-12 17:36 UTC|newest]

Thread overview: 144+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-12 17:07 [PATCH 4.14 000/135] 4.14.106-stable review Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 001/135] cpufreq: Use struct kobj_attribute instead of struct global_attr Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 002/135] USB: serial: option: add Telit ME910 ECM composition Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 003/135] USB: serial: cp210x: add ID for Ingenico 3070 Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 004/135] USB: serial: ftdi_sio: add ID for Hjelmslund Electronics USB485 Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 005/135] staging: comedi: ni_660x: fix missing break in switch statement Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 006/135] staging: wilc1000: fix to set correct value for vif_num Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 007/135] staging: android: ion: fix sys heap pools gfp_flags Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 008/135] ip6mr: Do not call __IP6_INC_STATS() from preemptible context Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 009/135] net: dsa: mv88e6xxx: handle unknown duplex modes gracefully in mv88e6xxx_port_set_duplex Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 010/135] net-sysfs: Fix mem leak in netdev_register_kobject Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 011/135] sky2: Disable MSI on Dell Inspiron 1545 and Gateway P-79 Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 012/135] team: Free BPF filter when unregistering netdev Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 013/135] tipc: fix RDM/DGRAM connect() regression Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 014/135] bnxt_en: Drop oversize TX packets to prevent errors Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 015/135] geneve: correctly handle ipv6.disable module parameter Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 016/135] hv_netvsc: Fix IP header checksum for coalesced packets Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 017/135] net: dsa: mv88e6xxx: Fix u64 statistics Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 018/135] netlabel: fix out-of-bounds memory accesses Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 019/135] net: netem: fix skb length BUG_ON in __skb_to_sgvec Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 020/135] net: nfc: Fix NULL dereference on nfc_llcp_build_tlv fails Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 021/135] net: phy: phylink: fix uninitialized variable in phylink_get_mac_state Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 022/135] net: sit: fix memory leak in sit_init_net() Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 023/135] net: socket: set sock->sk to NULL after calling proto_ops::release() Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 024/135] xen-netback: dont populate the hash cache on XenBus disconnect Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 025/135] xen-netback: fix occasional leak of grant ref mappings under memory pressure Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 026/135] net: Add __icmp_send helper Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 027/135] net: avoid use IPCB in cipso_v4_error Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 028/135] ipv4: Return error for RTA_VIA attribute Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 029/135] ipv6: " Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 030/135] mpls: Return error for RTA_GATEWAY attribute Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 031/135] tun: fix blocking read Greg Kroah-Hartman
2019-03-12 17:07 ` [PATCH 4.14 032/135] tun: remove unnecessary memory barrier Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 033/135] net: phy: Micrel KSZ8061: link failure after cable connect Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 034/135] net: dsa: mv88e6xxx: Fix statistics on mv88e6161 Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 035/135] x86/CPU/AMD: Set the CPB bit unconditionally on F17h Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 036/135] applicom: Fix potential Spectre v1 vulnerabilities Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 037/135] MIPS: irq: Allocate accurate order pages for irq stack Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 038/135] hugetlbfs: fix races and page leaks during migration Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 039/135] xtensa: fix get_wchan Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 040/135] Bluetooth: Fix locking in bt_accept_enqueue() for BH context Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 041/135] exec: Fix mem leak in kernel_read_file Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 042/135] scsi: core: reset host byte in DID_NEXUS_FAILURE case Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 043/135] media: uvcvideo: Fix type check leading to overflow Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 044/135] vti4: Fix a ipip packet processing bug in IPCOMP virtual tunnel Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 045/135] perf core: Fix perf_proc_update_handler() bug Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 046/135] perf tools: Handle TOPOLOGY headers with no CPU Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 047/135] IB/{hfi1, qib}: Fix WC.byte_len calculation for UD_SEND_WITH_IMM Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 048/135] iommu/amd: Call free_iova_fast with pfn in map_sg Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 049/135] iommu/amd: Unmap all mapped pages in error path of map_sg Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 050/135] ipvs: Fix signed integer overflow when setsockopt timeout Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 051/135] iommu/amd: Fix IOMMU page flush when detach device from a domain Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 052/135] xtensa: SMP: fix ccount_timer_shutdown Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 053/135] selftests: cpu-hotplug: fix case where CPUs offline > CPUs present Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 054/135] xtensa: SMP: fix secondary CPU initialization Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 055/135] xtensa: smp_lx200_defconfig: fix vectors clash Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 056/135] xtensa: SMP: mark each possible CPU as present Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 057/135] xtensa: SMP: limit number of possible CPUs by NR_CPUS Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 058/135] net: altera_tse: fix msgdma_tx_completion on non-zero fill_level case Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 059/135] net: hns: Fix for missing of_node_put() after of_parse_phandle() Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 060/135] net: hns: Restart autoneg need return failed when autoneg off Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 061/135] net: hns: Fix wrong read accesses via Clause 45 MDIO protocol Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 062/135] net: stmmac: dwmac-rk: fix error handling in rk_gmac_powerup() Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 063/135] netfilter: ebtables: compat: un-break 32bit setsockopt when no rules are present Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 064/135] gpio: vf610: Mask all GPIO interrupts Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 065/135] selftests: timers: use LDLIBS instead of LDFLAGS Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 066/135] nfs: Fix NULL pointer dereference of dev_name Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 067/135] qed: Fix bug in tx promiscuous mode settings Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 068/135] qed: Fix LACP pdu drops for VFs Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 069/135] qed: Fix VF probe failure while FLR Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 070/135] qed: Fix system crash in ll2 xmit Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 071/135] qed: Fix stack out of bounds bug Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 072/135] scsi: libfc: free skb when receiving invalid flogi resp Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 073/135] scsi: 53c700: pass correct "dev" to dma_alloc_attrs() Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 074/135] platform/x86: Fix unmet dependency warning for SAMSUNG_Q10 Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 075/135] cifs: fix computation for MAX_SMB2_HDR_SIZE Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 076/135] x86/microcode/amd: Dont falsely trick the late loading mechanism Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 077/135] arm64: kprobe: Always blacklist the KVM world-switch code Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 078/135] apparmor: Fix aa_label_build() error handling for failed merges Greg Kroah-Hartman
     [not found] ` <20190312170341.127810985-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
2019-03-12 17:08   ` [PATCH 4.14 079/135] x86/kexec: Dont setup EFI info if EFI runtime is not enabled Greg Kroah-Hartman
2019-03-12 17:08     ` Greg Kroah-Hartman
2019-03-12 17:08     ` Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 080/135] x86_64: increase stack size for KASAN_EXTRA Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 081/135] mm, memory_hotplug: is_mem_section_removable do not pass the end of a zone Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 082/135] mm, memory_hotplug: test_pages_in_a_zone do not pass the end of zone Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 083/135] lib/test_kmod.c: potential double free in error handling Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 084/135] fs/drop_caches.c: avoid softlockups in drop_pagecache_sb() Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 085/135] autofs: drop dentry reference only when it is never used Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 086/135] autofs: fix error return in autofs_fill_super() Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 087/135] ARM: dts: omap4-droid4: Fix typo in cpcap IRQ flags Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 088/135] arm64: dts: renesas: r8a7796: Enable DMA for SCIF2 Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 089/135] soc: fsl: qbman: avoid race in clearing QMan interrupt Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 090/135] bpf: sock recvbuff must be limited by rmem_max in bpf_setsockopt() Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 091/135] ARM: pxa: ssp: unneeded to free devm_ allocated data Greg Kroah-Hartman
2019-03-12 17:08 ` [PATCH 4.14 092/135] arm64: dts: add msm8996 compatible to gicv3 Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 093/135] DTS: CI20: Fix bugs in ci20s device tree Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 094/135] usb: phy: fix link errors Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 095/135] irqchip/mmp: Only touch the PJ4 IRQ & FIQ bits on enable/disable Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 096/135] net: stmmac: Fallback to Platform Data clock in Watchdog conversion Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 097/135] net: stmmac: Send TSO packets always from Queue 0 Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 098/135] net: stmmac: Disable EEE mode earlier in XMIT callback Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 099/135] irqchip/gic-v3-its: Fix ITT_entry_size accessor Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 100/135] relay: check return of create_buf_file() properly Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 101/135] bpf, selftests: fix handling of sparse CPU allocations Greg Kroah-Hartman
2019-03-12 17:09 ` Greg Kroah-Hartman [this message]
2019-03-12 17:09 ` [PATCH 4.14 103/135] drm/sun4i: tcon: Prepare and enable TCON channel 0 clock at init Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 104/135] dmaengine: at_xdmac: Fix wrongfull report of a channel as in use Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 105/135] vsock/virtio: fix kernel panic after device hot-unplug Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 106/135] vsock/virtio: reset connected sockets on device removal Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 107/135] dmaengine: dmatest: Abort test in case of mapping error Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 108/135] selftests: netfilter: fix config fragment CONFIG_NF_TABLES_INET Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 109/135] selftests: netfilter: add simple masq/redirect test cases Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 110/135] netfilter: nf_nat: skip nat clash resolution for same-origin entries Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 111/135] s390/qeth: fix use-after-free in error path Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 112/135] perf symbols: Filter out hidden symbols from labels Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 113/135] perf trace: Support multiple "vfs_getname" probes Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 114/135] MIPS: Loongson: Introduce and use loongson_llsc_mb() Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 115/135] MIPS: Remove function size check in get_frame_info() Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 116/135] i2c: omap: Use noirq system sleep pm ops to idle device for suspend Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 117/135] fs: ratelimit __find_get_block_slow() failure message Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 118/135] qed: Fix EQ full firmware assert Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 119/135] qed: Consider TX tcs while deriving the max num_queues for PF Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 120/135] Input: wacom_serial4 - add support for Wacom ArtPad II tablet Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 121/135] Input: elan_i2c - add id for touchpad found in Lenovo s21e-20 Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 122/135] iscsi_ibft: Fix missing break in switch statement Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 123/135] scsi: aacraid: " Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 124/135] arm64: dts: hikey: Give wifi some time after power-on Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 125/135] ARM: dts: exynos: Fix pinctrl definition for eMMC RTSN line on Odroid X2/U3 Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 126/135] ARM: dts: exynos: Add minimal clkout parameters to Exynos3250 PMU Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 127/135] drm: disable uncached DMA optimization for ARM and arm64 Greg Kroah-Hartman
2019-03-12 17:09   ` Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 128/135] ARM: 8781/1: Fix Thumb-2 syscall return for binutils 2.29+ Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 129/135] gfs2: Fix missed wakeups in find_insert_glock Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 130/135] ath9k: Avoid OF no-EEPROM quirks without qca,no-eeprom Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 131/135] driver core: Postpone DMA tear-down until after devres release Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 132/135] perf/x86/intel: Make cpuc allocations consistent Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 133/135] perf/x86/intel: Generalize dynamic constraint creation Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 134/135] x86: Add TSX Force Abort CPUID/MSR Greg Kroah-Hartman
2019-03-12 17:09 ` [PATCH 4.14 135/135] perf/x86/intel: Implement support for TSX Force Abort Greg Kroah-Hartman
2019-03-12 22:42 ` [PATCH 4.14 000/135] 4.14.106-stable review kernelci.org bot
2019-03-13  3:52 ` Naresh Kamboju
2019-03-13 17:35 ` Jon Hunter
2019-03-13 17:35   ` Jon Hunter
2019-03-13 20:35 ` Guenter Roeck

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=20190312170350.580124803@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ast@kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=eric.dumazet@gmail.com \
    --cc=kafai@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=naresh.kamboju@linaro.org \
    --cc=sashal@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.