linux-kernel.vger.kernel.org archive mirror
 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, Ondrej Mosnacek <omosnace@redhat.com>,
	Jakub Hrozek <jhrozek@redhat.com>,
	Serhei Makarov <smakarov@redhat.com>,
	Jiri Olsa <jolsa@redhat.com>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Alexei Starovoitov <ast@kernel.org>,
	Paul Moore <paul@paul-moore.com>,
	James Morris <jamorris@linux.microsoft.com>,
	Jerome Marchand <jmarchan@redhat.com>,
	Frank Eigler <fche@redhat.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.12 043/161] bpf, lockdown, audit: Fix buggy SELinux lockdown permission checks
Date: Tue,  8 Jun 2021 20:26:13 +0200	[thread overview]
Message-ID: <20210608175946.926326504@linuxfoundation.org> (raw)
In-Reply-To: <20210608175945.476074951@linuxfoundation.org>

From: Daniel Borkmann <daniel@iogearbox.net>

[ Upstream commit ff40e51043af63715ab413995ff46996ecf9583f ]

Commit 59438b46471a ("security,lockdown,selinux: implement SELinux lockdown")
added an implementation of the locked_down LSM hook to SELinux, with the aim
to restrict which domains are allowed to perform operations that would breach
lockdown. This is indirectly also getting audit subsystem involved to report
events. The latter is problematic, as reported by Ondrej and Serhei, since it
can bring down the whole system via audit:

  1) The audit events that are triggered due to calls to security_locked_down()
     can OOM kill a machine, see below details [0].

  2) It also seems to be causing a deadlock via avc_has_perm()/slow_avc_audit()
     when trying to wake up kauditd, for example, when using trace_sched_switch()
     tracepoint, see details in [1]. Triggering this was not via some hypothetical
     corner case, but with existing tools like runqlat & runqslower from bcc, for
     example, which make use of this tracepoint. Rough call sequence goes like:

     rq_lock(rq) -> -------------------------+
       trace_sched_switch() ->               |
         bpf_prog_xyz() ->                   +-> deadlock
           selinux_lockdown() ->             |
             audit_log_end() ->              |
               wake_up_interruptible() ->    |
                 try_to_wake_up() ->         |
                   rq_lock(rq) --------------+

What's worse is that the intention of 59438b46471a to further restrict lockdown
settings for specific applications in respect to the global lockdown policy is
completely broken for BPF. The SELinux policy rule for the current lockdown check
looks something like this:

  allow <who> <who> : lockdown { <reason> };

However, this doesn't match with the 'current' task where the security_locked_down()
is executed, example: httpd does a syscall. There is a tracing program attached
to the syscall which triggers a BPF program to run, which ends up doing a
bpf_probe_read_kernel{,_str}() helper call. The selinux_lockdown() hook does
the permission check against 'current', that is, httpd in this example. httpd
has literally zero relation to this tracing program, and it would be nonsensical
having to write an SELinux policy rule against httpd to let the tracing helper
pass. The policy in this case needs to be against the entity that is installing
the BPF program. For example, if bpftrace would generate a histogram of syscall
counts by user space application:

  bpftrace -e 'tracepoint:raw_syscalls:sys_enter { @[comm] = count(); }'

bpftrace would then go and generate a BPF program from this internally. One way
of doing it [for the sake of the example] could be to call bpf_get_current_task()
helper and then access current->comm via one of bpf_probe_read_kernel{,_str}()
helpers. So the program itself has nothing to do with httpd or any other random
app doing a syscall here. The BPF program _explicitly initiated_ the lockdown
check. The allow/deny policy belongs in the context of bpftrace: meaning, you
want to grant bpftrace access to use these helpers, but other tracers on the
system like my_random_tracer _not_.

Therefore fix all three issues at the same time by taking a completely different
approach for the security_locked_down() hook, that is, move the check into the
program verification phase where we actually retrieve the BPF func proto. This
also reliably gets the task (current) that is trying to install the BPF tracing
program, e.g. bpftrace/bcc/perf/systemtap/etc, and it also fixes the OOM since
we're moving this out of the BPF helper's fast-path which can be called several
millions of times per second.

The check is then also in line with other security_locked_down() hooks in the
system where the enforcement is performed at open/load time, for example,
open_kcore() for /proc/kcore access or module_sig_check() for module signatures
just to pick few random ones. What's out of scope in the fix as well as in
other security_locked_down() hook locations /outside/ of BPF subsystem is that
if the lockdown policy changes on the fly there is no retrospective action.
This requires a different discussion, potentially complex infrastructure, and
it's also not clear whether this can be solved generically. Either way, it is
out of scope for a suitable stable fix which this one is targeting. Note that
the breakage is specifically on 59438b46471a where it started to rely on 'current'
as UAPI behavior, and _not_ earlier infrastructure such as 9d1f8be5cf42 ("bpf:
Restrict bpf when kernel lockdown is in confidentiality mode").

[0] https://bugzilla.redhat.com/show_bug.cgi?id=1955585, Jakub Hrozek says:

  I starting seeing this with F-34. When I run a container that is traced with
  BPF to record the syscalls it is doing, auditd is flooded with messages like:

  type=AVC msg=audit(1619784520.593:282387): avc:  denied  { confidentiality }
    for pid=476 comm="auditd" lockdown_reason="use of bpf to read kernel RAM"
      scontext=system_u:system_r:auditd_t:s0 tcontext=system_u:system_r:auditd_t:s0
        tclass=lockdown permissive=0

  This seems to be leading to auditd running out of space in the backlog buffer
  and eventually OOMs the machine.

  [...]
  auditd running at 99% CPU presumably processing all the messages, eventually I get:
  Apr 30 12:20:42 fedora kernel: audit: backlog limit exceeded
  Apr 30 12:20:42 fedora kernel: audit: backlog limit exceeded
  Apr 30 12:20:42 fedora kernel: audit: audit_backlog=2152579 > audit_backlog_limit=64
  Apr 30 12:20:42 fedora kernel: audit: audit_backlog=2152626 > audit_backlog_limit=64
  Apr 30 12:20:42 fedora kernel: audit: audit_backlog=2152694 > audit_backlog_limit=64
  Apr 30 12:20:42 fedora kernel: audit: audit_lost=6878426 audit_rate_limit=0 audit_backlog_limit=64
  Apr 30 12:20:45 fedora kernel: oci-seccomp-bpf invoked oom-killer: gfp_mask=0x100cca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=-1000
  Apr 30 12:20:45 fedora kernel: CPU: 0 PID: 13284 Comm: oci-seccomp-bpf Not tainted 5.11.12-300.fc34.x86_64 #1
  Apr 30 12:20:45 fedora kernel: Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-2.fc32 04/01/2014
  [...]

[1] https://lore.kernel.org/linux-audit/CANYvDQN7H5tVp47fbYcRasv4XF07eUbsDwT_eDCHXJUj43J7jQ@mail.gmail.com/,
    Serhei Makarov says:

  Upstream kernel 5.11.0-rc7 and later was found to deadlock during a
  bpf_probe_read_compat() call within a sched_switch tracepoint. The problem
  is reproducible with the reg_alloc3 testcase from SystemTap's BPF backend
  testsuite on x86_64 as well as the runqlat, runqslower tools from bcc on
  ppc64le. Example stack trace:

  [...]
  [  730.868702] stack backtrace:
  [  730.869590] CPU: 1 PID: 701 Comm: in:imjournal Not tainted, 5.12.0-0.rc2.20210309git144c79ef3353.166.fc35.x86_64 #1
  [  730.871605] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.13.0-2.fc32 04/01/2014
  [  730.873278] Call Trace:
  [  730.873770]  dump_stack+0x7f/0xa1
  [  730.874433]  check_noncircular+0xdf/0x100
  [  730.875232]  __lock_acquire+0x1202/0x1e10
  [  730.876031]  ? __lock_acquire+0xfc0/0x1e10
  [  730.876844]  lock_acquire+0xc2/0x3a0
  [  730.877551]  ? __wake_up_common_lock+0x52/0x90
  [  730.878434]  ? lock_acquire+0xc2/0x3a0
  [  730.879186]  ? lock_is_held_type+0xa7/0x120
  [  730.880044]  ? skb_queue_tail+0x1b/0x50
  [  730.880800]  _raw_spin_lock_irqsave+0x4d/0x90
  [  730.881656]  ? __wake_up_common_lock+0x52/0x90
  [  730.882532]  __wake_up_common_lock+0x52/0x90
  [  730.883375]  audit_log_end+0x5b/0x100
  [  730.884104]  slow_avc_audit+0x69/0x90
  [  730.884836]  avc_has_perm+0x8b/0xb0
  [  730.885532]  selinux_lockdown+0xa5/0xd0
  [  730.886297]  security_locked_down+0x20/0x40
  [  730.887133]  bpf_probe_read_compat+0x66/0xd0
  [  730.887983]  bpf_prog_250599c5469ac7b5+0x10f/0x820
  [  730.888917]  trace_call_bpf+0xe9/0x240
  [  730.889672]  perf_trace_run_bpf_submit+0x4d/0xc0
  [  730.890579]  perf_trace_sched_switch+0x142/0x180
  [  730.891485]  ? __schedule+0x6d8/0xb20
  [  730.892209]  __schedule+0x6d8/0xb20
  [  730.892899]  schedule+0x5b/0xc0
  [  730.893522]  exit_to_user_mode_prepare+0x11d/0x240
  [  730.894457]  syscall_exit_to_user_mode+0x27/0x70
  [  730.895361]  entry_SYSCALL_64_after_hwframe+0x44/0xae
  [...]

Fixes: 59438b46471a ("security,lockdown,selinux: implement SELinux lockdown")
Reported-by: Ondrej Mosnacek <omosnace@redhat.com>
Reported-by: Jakub Hrozek <jhrozek@redhat.com>
Reported-by: Serhei Makarov <smakarov@redhat.com>
Reported-by: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Tested-by: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Moore <paul@paul-moore.com>
Cc: James Morris <jamorris@linux.microsoft.com>
Cc: Jerome Marchand <jmarchan@redhat.com>
Cc: Frank Eigler <fche@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/bpf/01135120-8bf7-df2e-cff0-1d73f1f841c3@iogearbox.net
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 kernel/bpf/helpers.c     |  7 +++++--
 kernel/trace/bpf_trace.c | 32 ++++++++++++--------------------
 2 files changed, 17 insertions(+), 22 deletions(-)

diff --git a/kernel/bpf/helpers.c b/kernel/bpf/helpers.c
index 308427fe03a3..6140e91e9c89 100644
--- a/kernel/bpf/helpers.c
+++ b/kernel/bpf/helpers.c
@@ -14,6 +14,7 @@
 #include <linux/jiffies.h>
 #include <linux/pid_namespace.h>
 #include <linux/proc_ns.h>
+#include <linux/security.h>
 
 #include "../../lib/kstrtox.h"
 
@@ -741,11 +742,13 @@ bpf_base_func_proto(enum bpf_func_id func_id)
 	case BPF_FUNC_probe_read_user:
 		return &bpf_probe_read_user_proto;
 	case BPF_FUNC_probe_read_kernel:
-		return &bpf_probe_read_kernel_proto;
+		return security_locked_down(LOCKDOWN_BPF_READ) < 0 ?
+		       NULL : &bpf_probe_read_kernel_proto;
 	case BPF_FUNC_probe_read_user_str:
 		return &bpf_probe_read_user_str_proto;
 	case BPF_FUNC_probe_read_kernel_str:
-		return &bpf_probe_read_kernel_str_proto;
+		return security_locked_down(LOCKDOWN_BPF_READ) < 0 ?
+		       NULL : &bpf_probe_read_kernel_str_proto;
 	case BPF_FUNC_snprintf_btf:
 		return &bpf_snprintf_btf_proto;
 	default:
diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
index b0c45d923f0f..9bb3d2823f44 100644
--- a/kernel/trace/bpf_trace.c
+++ b/kernel/trace/bpf_trace.c
@@ -215,16 +215,11 @@ const struct bpf_func_proto bpf_probe_read_user_str_proto = {
 static __always_inline int
 bpf_probe_read_kernel_common(void *dst, u32 size, const void *unsafe_ptr)
 {
-	int ret = security_locked_down(LOCKDOWN_BPF_READ);
+	int ret;
 
-	if (unlikely(ret < 0))
-		goto fail;
 	ret = copy_from_kernel_nofault(dst, unsafe_ptr, size);
 	if (unlikely(ret < 0))
-		goto fail;
-	return ret;
-fail:
-	memset(dst, 0, size);
+		memset(dst, 0, size);
 	return ret;
 }
 
@@ -246,10 +241,7 @@ const struct bpf_func_proto bpf_probe_read_kernel_proto = {
 static __always_inline int
 bpf_probe_read_kernel_str_common(void *dst, u32 size, const void *unsafe_ptr)
 {
-	int ret = security_locked_down(LOCKDOWN_BPF_READ);
-
-	if (unlikely(ret < 0))
-		goto fail;
+	int ret;
 
 	/*
 	 * The strncpy_from_kernel_nofault() call will likely not fill the
@@ -262,11 +254,7 @@ bpf_probe_read_kernel_str_common(void *dst, u32 size, const void *unsafe_ptr)
 	 */
 	ret = strncpy_from_kernel_nofault(dst, unsafe_ptr, size);
 	if (unlikely(ret < 0))
-		goto fail;
-
-	return ret;
-fail:
-	memset(dst, 0, size);
+		memset(dst, 0, size);
 	return ret;
 }
 
@@ -1322,16 +1310,20 @@ bpf_tracing_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog)
 	case BPF_FUNC_probe_read_user:
 		return &bpf_probe_read_user_proto;
 	case BPF_FUNC_probe_read_kernel:
-		return &bpf_probe_read_kernel_proto;
+		return security_locked_down(LOCKDOWN_BPF_READ) < 0 ?
+		       NULL : &bpf_probe_read_kernel_proto;
 	case BPF_FUNC_probe_read_user_str:
 		return &bpf_probe_read_user_str_proto;
 	case BPF_FUNC_probe_read_kernel_str:
-		return &bpf_probe_read_kernel_str_proto;
+		return security_locked_down(LOCKDOWN_BPF_READ) < 0 ?
+		       NULL : &bpf_probe_read_kernel_str_proto;
 #ifdef CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
 	case BPF_FUNC_probe_read:
-		return &bpf_probe_read_compat_proto;
+		return security_locked_down(LOCKDOWN_BPF_READ) < 0 ?
+		       NULL : &bpf_probe_read_compat_proto;
 	case BPF_FUNC_probe_read_str:
-		return &bpf_probe_read_compat_str_proto;
+		return security_locked_down(LOCKDOWN_BPF_READ) < 0 ?
+		       NULL : &bpf_probe_read_compat_str_proto;
 #endif
 #ifdef CONFIG_CGROUPS
 	case BPF_FUNC_get_current_cgroup_id:
-- 
2.30.2




  parent reply	other threads:[~2021-06-08 19:16 UTC|newest]

Thread overview: 171+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-08 18:25 [PATCH 5.12 000/161] 5.12.10-rc1 review Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 001/161] mt76: mt7921: add rcu section in mt7921_mcu_tx_rate_report Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 002/161] mt76: mt7921: fix possible AOOB issue " Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 003/161] mt76: mt76x0e: fix device hang during suspend/resume Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 004/161] hwmon: (dell-smm-hwmon) Fix index values Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 005/161] hwmon: (pmbus/isl68137) remove READ_TEMPERATURE_3 for RAA228228 Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 006/161] netfilter: conntrack: unregister ipv4 sockopts on error unwind Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 007/161] efi/fdt: fix panic when no valid fdt found Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 008/161] efi: Allow EFI_MEMORY_XP and EFI_MEMORY_RO both to be cleared Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 009/161] efi/libstub: prevent read overflow in find_file_option() Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 010/161] efi: cper: fix snprintf() use in cper_dimm_err_location() Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 011/161] vfio/pci: Fix error return code in vfio_ecap_init() Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 012/161] vfio/pci: zap_vma_ptes() needs MMU Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 013/161] samples: vfio-mdev: fix error handing in mdpy_fb_probe() Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 014/161] vfio/platform: fix module_put call in error flow Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 015/161] ipvs: ignore IP_VS_SVC_F_HASHED flag when adding service Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 016/161] HID: logitech-hidpp: initialize level variable Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 017/161] HID: pidff: fix error return code in hid_pidff_init() Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 018/161] HID: amd_sfh: Fix memory leak in amd_sfh_work Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 019/161] HID: i2c-hid: fix format string mismatch Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 020/161] kbuild: Quote OBJCOPY var to avoid a pahole call break the build Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 021/161] devlink: Correct VIRTUAL port to not have phys_port attributes Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 022/161] net/sched: act_ct: Offload connections with commit action Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 023/161] net/sched: act_ct: Fix ct template allocation for zone 0 Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 024/161] mptcp: fix sk_forward_memory corruption on retransmission Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 025/161] mptcp: always parse mptcp options for MPC reqsk Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 026/161] mptcp: do not reset MP_CAPABLE subflow on mapping errors Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 027/161] nvme-rdma: fix in-casule data send for chained sgls Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 028/161] ACPICA: Clean up context mutex during object deletion Greg Kroah-Hartman
2021-06-08 18:25 ` [PATCH 5.12 029/161] perf probe: Fix NULL pointer dereference in convert_variable_location() Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 030/161] net: dsa: tag_8021q: fix the VLAN IDs used for encoding sub-VLANs Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 031/161] net: sock: fix in-kernel mark setting Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 032/161] net/tls: Replace TLS_RX_SYNC_RUNNING with RCU Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 033/161] net/tls: Fix use-after-free after the TLS device goes down and up Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 034/161] net/mlx5e: Fix incompatible casting Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 035/161] net/mlx5: Check firmware sync reset requested is set before trying to abort it Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 036/161] net/mlx5e: Check for needed capability for cvlan matching Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 037/161] net/mlx5e: Fix adding encap rules to slow path Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 038/161] net/mlx5: DR, Create multi-destination flow table with level less than 64 Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 039/161] nvmet: fix freeing unallocated p2pmem Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 040/161] netfilter: nft_ct: skip expectations for confirmed conntrack Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 041/161] netfilter: nfnetlink_cthelper: hit EBUSY on updates if size mismatches Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 042/161] drm/i915/selftests: Fix return value check in live_breadcrumbs_smoketest() Greg Kroah-Hartman
2021-06-08 18:26 ` Greg Kroah-Hartman [this message]
2021-06-08 18:26 ` [PATCH 5.12 044/161] ieee802154: fix error return code in ieee802154_add_iface() Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 045/161] ieee802154: fix error return code in ieee802154_llsec_getparams() Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 046/161] igb: Fix XDP with PTP enabled Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 047/161] igb: add correct exception tracing for XDP Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 048/161] ixgbevf: " Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 049/161] ice: track AF_XDP ZC enabled queues in bitmap Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 050/161] cxgb4: fix regression with HASH tc prio value update Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 051/161] ipv6: Fix KASAN: slab-out-of-bounds Read in fib6_nh_flush_exceptions Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 052/161] ice: Fix allowing VF to request more/less queues via virtchnl Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 053/161] ice: Fix VFR issues for AVF drivers that expect ATQLEN cleared Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 054/161] ice: handle the VF VSI rebuild failure Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 055/161] ice: report supported and advertised autoneg using PHY capabilities Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 056/161] ice: Allow all LLDP packets from PF to Tx Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 057/161] i2c: qcom-geni: Add shutdown callback for i2c Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 058/161] sch_htb: fix refcount leak in htb_parent_to_leaf_offload Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 059/161] cxgb4: avoid link re-train during TC-MQPRIO configuration Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 060/161] i40e: optimize for XDP_REDIRECT in xsk path Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 061/161] i40e: add correct exception tracing for XDP Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 062/161] ice: optimize for XDP_REDIRECT in xsk path Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 063/161] ice: add correct exception tracing for XDP Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 064/161] ixgbe: optimize for XDP_REDIRECT in xsk path Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 065/161] ixgbe: add correct exception tracing for XDP Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 066/161] arm64: dts: ti: j7200-main: Mark Main NAVSS as dma-coherent Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 067/161] optee: use export_uuid() to copy client UUID Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 068/161] bus: ti-sysc: Fix am335x resume hang for usb otg module Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 069/161] arm64: dts: ls1028a: fix memory node Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 070/161] arm64: dts: zii-ultra: remove second GEN_3V3 regulator instance Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 071/161] arm64: dts: zii-ultra: fix 12V_MAIN voltage Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 072/161] arm64: dts: freescale: sl28: var4: fix RGMII clock and voltage Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 073/161] arm64: dts: freescale: sl28: var1: " Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 074/161] ARM: dts: imx7d-meerkat96: Fix the tuning-step property Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 075/161] ARM: dts: imx7d-pico: " Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 076/161] ARM: dts: imx: emcon-avari: Fix nxp,pca8574 #gpio-cells Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 077/161] bus: ti-sysc: Fix flakey idling of uarts and stop using swsup_sidle_act Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 078/161] arm64: meson: select COMMON_CLK Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 079/161] tipc: add extack messages for bearer/media failure Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 080/161] tipc: fix unique bearer names sanity check Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 081/161] serial: stm32: fix threaded interrupt handling Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 082/161] riscv: vdso: fix and clean-up Makefile Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 083/161] libceph: dont set global_id until we get an auth ticket Greg Kroah-Hartman
2021-06-08 19:07   ` Ilya Dryomov
2021-06-08 19:24     ` Sasha Levin
2021-06-08 19:39       ` Ilya Dryomov
2021-06-08 18:26 ` [PATCH 5.12 084/161] amdgpu: fix GEM obj leak in amdgpu_display_user_framebuffer_create Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 085/161] io_uring: fix link timeout refs Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 086/161] io_uring: use better types for cflags Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 087/161] io_uring: wrap io_kiocb reference count manipulation in helpers Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 088/161] io_uring: fix ltout double free on completion race Greg Kroah-Hartman
2021-06-08 18:26 ` [PATCH 5.12 089/161] drm/amdgpu/vcn3: add cancel_delayed_work_sync before power gate Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 090/161] drm/amdgpu/jpeg2.5: " Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 091/161] drm/amdgpu/jpeg3: " Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 092/161] Bluetooth: fix the erroneous flush_work() order Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 093/161] Bluetooth: use correct lock to prevent UAF of hdev object Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 094/161] wireguard: do not use -O3 Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 095/161] wireguard: peer: allocate in kmem_cache Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 096/161] wireguard: use synchronize_net rather than synchronize_rcu Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 097/161] wireguard: selftests: remove old conntrack kconfig value Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 098/161] wireguard: selftests: make sure rp_filter is disabled on vethc Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 099/161] wireguard: allowedips: initialize list head in selftest Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 100/161] wireguard: allowedips: remove nodes in O(1) Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 101/161] wireguard: allowedips: allocate nodes in kmem_cache Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 102/161] wireguard: allowedips: free empty intermediate nodes when removing single node Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 103/161] net: caif: added cfserl_release function Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 104/161] net: caif: add proper error handling Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 105/161] net: caif: fix memory leak in caif_device_notify Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 106/161] net: caif: fix memory leak in cfusbl_device_notify Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 107/161] HID: i2c-hid: Skip ELAN power-on command after reset Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 108/161] HID: magicmouse: fix NULL-deref on disconnect Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 109/161] HID: multitouch: require Finger field to mark Win8 reports as MT Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 110/161] gfs2: fix scheduling while atomic bug in glocks Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 111/161] ALSA: timer: Fix master timer notification Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 112/161] ALSA: hda: Fix for mute key LED for HP Pavilion 15-CK0xx Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 113/161] ALSA: hda: update the power_state during the direct-complete Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 114/161] ARM: dts: imx6dl-yapp4: Fix RGMII connection to QCA8334 switch Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 115/161] ARM: dts: imx6q-dhcom: Add PU,VDD1P1,VDD2P5 regulators Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 116/161] ext4: fix memory leak in ext4_fill_super Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 117/161] ext4: fix bug on in ext4_es_cache_extent as ext4_split_extent_at failed Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 118/161] ext4: fix fast commit alignment issues Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 119/161] ext4: fix memory leak in ext4_mb_init_backend on error path Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 120/161] ext4: fix accessing uninit percpu counter variable with fast_commit Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 121/161] usb: dwc2: Fix build in periphal-only mode Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 122/161] Revert "MIPS: make userspace mapping young by default" Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 123/161] kfence: maximize allocation wait timeout duration Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 124/161] kfence: use TASK_IDLE when awaiting allocation Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 125/161] pid: take a reference when initializing `cad_pid` Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 126/161] ocfs2: fix data corruption by fallocate Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 127/161] mm/debug_vm_pgtable: fix alignment for pmd/pud_advanced_tests() Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 128/161] mm/page_alloc: fix counting of free pages after take off from buddy Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 129/161] scsi: lpfc: Fix failure to transmit ABTS on FC link Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 130/161] x86/cpufeatures: Force disable X86_FEATURE_ENQCMD and remove update_pasid() Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 131/161] dmaengine: idxd: Use cpu_feature_enabled() Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 132/161] x86/sev: Check SME/SEV support in CPUID first Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 133/161] KVM: PPC: Book3S HV: Save host FSCR in the P7/8 path Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 134/161] nfc: fix NULL ptr dereference in llcp_sock_getname() after failed connect Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 135/161] drm/amdgpu: Dont query CE and UE errors Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 136/161] drm/amdgpu: make sure we unpin the UVD BO Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 137/161] x86/apic: Mark _all_ legacy interrupts when IO/APIC is missing Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 138/161] x86/thermal: Fix LVT thermal setup for SMI delivery mode Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 139/161] powerpc/kprobes: Fix validation of prefixed instructions across page boundary Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 140/161] btrfs: mark ordered extent and inode with error if we fail to finish Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 141/161] btrfs: fix error handling in btrfs_del_csums Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 142/161] btrfs: return errors from btrfs_del_csums in cleanup_ref_head Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 143/161] btrfs: fix fsync failure and transaction abort after writes to prealloc extents Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 144/161] btrfs: check error value from btrfs_update_inode in tree log Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 145/161] btrfs: fixup error handling in fixup_inode_link_counts Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 146/161] btrfs: abort in rename_exchange if we fail to insert the second ref Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 147/161] btrfs: fix deadlock when cloning inline extents and low on available space Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 148/161] mm, hugetlb: fix simple resv_huge_pages underflow on UFFDIO_COPY Greg Kroah-Hartman
2021-06-08 18:27 ` [PATCH 5.12 149/161] drm/msm/dpu: always use mdp device to scale bandwidth Greg Kroah-Hartman
2021-06-08 18:28 ` [PATCH 5.12 150/161] KVM: SVM: Truncate GPR value for DR and CR accesses in !64-bit mode Greg Kroah-Hartman
2021-06-08 18:28 ` [PATCH 5.12 151/161] x86/kvm: Teardown PV features on boot CPU as well Greg Kroah-Hartman
2021-06-08 18:28 ` [PATCH 5.12 152/161] x86/kvm: Disable kvmclock on all CPUs on shutdown Greg Kroah-Hartman
2021-06-08 18:28 ` [PATCH 5.12 153/161] x86/kvm: Disable all PV features on crash Greg Kroah-Hartman
2021-06-08 18:28 ` [PATCH 5.12 154/161] KVM: arm64: Commit pending PC adjustemnts before returning to userspace Greg Kroah-Hartman
2021-06-08 18:28 ` [PATCH 5.12 155/161] KVM: arm64: Resolve all pending PC updates before immediate exit Greg Kroah-Hartman
2021-06-08 18:28 ` [PATCH 5.12 156/161] ARM: OMAP1: isp1301-omap: Add missing gpiod_add_lookup_table function Greg Kroah-Hartman
2021-06-08 18:28 ` [PATCH 5.12 157/161] i2c: qcom-geni: Suspend and resume the bus during SYSTEM_SLEEP_PM ops Greg Kroah-Hartman
2021-06-08 18:28 ` [PATCH 5.12 158/161] x86/fault: Dont send SIGSEGV twice on SEGV_PKUERR Greg Kroah-Hartman
2021-06-08 18:28 ` [PATCH 5.12 159/161] netfilter: nf_tables: missing error reporting for not selected expressions Greg Kroah-Hartman
2021-06-08 18:28 ` [PATCH 5.12 160/161] xen-netback: take a reference to the RX task thread Greg Kroah-Hartman
2021-06-08 18:28 ` [PATCH 5.12 161/161] neighbour: allow NUD_NOARP entries to be forced GCed Greg Kroah-Hartman
2021-06-08 23:56 ` [PATCH 5.12 000/161] 5.12.10-rc1 review Fox Chen
2021-06-09  2:54 ` Shuah Khan
2021-06-09  7:48 ` Naresh Kamboju
2021-06-09 18:50 ` Guenter Roeck
2021-06-09 18:57 ` Florian Fainelli
2021-06-09 20:47 ` Justin Forbes

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=20210608175946.926326504@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ast@kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=fche@redhat.com \
    --cc=jamorris@linux.microsoft.com \
    --cc=jhrozek@redhat.com \
    --cc=jmarchan@redhat.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=omosnace@redhat.com \
    --cc=paul@paul-moore.com \
    --cc=sashal@kernel.org \
    --cc=smakarov@redhat.com \
    --cc=stable@vger.kernel.org \
    --cc=torvalds@linux-foundation.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).