All the mail mirrored from 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,
	Frank van der Linden <fllinden@amazon.com>,
	Jessica Yu <jeyu@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.10 074/157] module: harden ELF info handling
Date: Mon, 22 Mar 2021 13:27:11 +0100	[thread overview]
Message-ID: <20210322121936.106292580@linuxfoundation.org> (raw)
In-Reply-To: <20210322121933.746237845@linuxfoundation.org>

From: Frank van der Linden <fllinden@amazon.com>

[ Upstream commit ec2a29593c83ed71a7f16e3243941ebfcf75fdf6 ]

5fdc7db644 ("module: setup load info before module_sig_check()")
moved the ELF setup, so that it was done before the signature
check. This made the module name available to signature error
messages.

However, the checks for ELF correctness in setup_load_info
are not sufficient to prevent bad memory references due to
corrupted offset fields, indices, etc.

So, there's a regression in behavior here: a corrupt and unsigned
(or badly signed) module, which might previously have been rejected
immediately, can now cause an oops/crash.

Harden ELF handling for module loading by doing the following:

- Move the signature check back up so that it comes before ELF
  initialization. It's best to do the signature check to see
  if we can trust the module, before using the ELF structures
  inside it. This also makes checks against info->len
  more accurate again, as this field will be reduced by the
  length of the signature in mod_check_sig().

  The module name is now once again not available for error
  messages during the signature check, but that seems like
  a fair tradeoff.

- Check if sections have offset / size fields that at least don't
  exceed the length of the module.

- Check if sections have section name offsets that don't fall
  outside the section name table.

- Add a few other sanity checks against invalid section indices,
  etc.

This is not an exhaustive consistency check, but the idea is to
at least get through the signature and blacklist checks without
crashing because of corrupted ELF info, and to error out gracefully
for most issues that would have caused problems later on.

Fixes: 5fdc7db6448a ("module: setup load info before module_sig_check()")
Signed-off-by: Frank van der Linden <fllinden@amazon.com>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 kernel/module.c           | 143 +++++++++++++++++++++++++++++++++-----
 kernel/module_signature.c |   2 +-
 kernel/module_signing.c   |   2 +-
 3 files changed, 126 insertions(+), 21 deletions(-)

diff --git a/kernel/module.c b/kernel/module.c
index f1be6b6a3a3d..908d46abe165 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2940,7 +2940,7 @@ static int module_sig_check(struct load_info *info, int flags)
 	}
 
 	if (is_module_sig_enforced()) {
-		pr_notice("%s: loading of %s is rejected\n", info->name, reason);
+		pr_notice("Loading of %s is rejected\n", reason);
 		return -EKEYREJECTED;
 	}
 
@@ -2953,9 +2953,33 @@ static int module_sig_check(struct load_info *info, int flags)
 }
 #endif /* !CONFIG_MODULE_SIG */
 
-/* Sanity checks against invalid binaries, wrong arch, weird elf version. */
-static int elf_header_check(struct load_info *info)
+static int validate_section_offset(struct load_info *info, Elf_Shdr *shdr)
 {
+	unsigned long secend;
+
+	/*
+	 * Check for both overflow and offset/size being
+	 * too large.
+	 */
+	secend = shdr->sh_offset + shdr->sh_size;
+	if (secend < shdr->sh_offset || secend > info->len)
+		return -ENOEXEC;
+
+	return 0;
+}
+
+/*
+ * Sanity checks against invalid binaries, wrong arch, weird elf version.
+ *
+ * Also do basic validity checks against section offsets and sizes, the
+ * section name string table, and the indices used for it (sh_name).
+ */
+static int elf_validity_check(struct load_info *info)
+{
+	unsigned int i;
+	Elf_Shdr *shdr, *strhdr;
+	int err;
+
 	if (info->len < sizeof(*(info->hdr)))
 		return -ENOEXEC;
 
@@ -2965,11 +2989,78 @@ static int elf_header_check(struct load_info *info)
 	    || info->hdr->e_shentsize != sizeof(Elf_Shdr))
 		return -ENOEXEC;
 
+	/*
+	 * e_shnum is 16 bits, and sizeof(Elf_Shdr) is
+	 * known and small. So e_shnum * sizeof(Elf_Shdr)
+	 * will not overflow unsigned long on any platform.
+	 */
 	if (info->hdr->e_shoff >= info->len
 	    || (info->hdr->e_shnum * sizeof(Elf_Shdr) >
 		info->len - info->hdr->e_shoff))
 		return -ENOEXEC;
 
+	info->sechdrs = (void *)info->hdr + info->hdr->e_shoff;
+
+	/*
+	 * Verify if the section name table index is valid.
+	 */
+	if (info->hdr->e_shstrndx == SHN_UNDEF
+	    || info->hdr->e_shstrndx >= info->hdr->e_shnum)
+		return -ENOEXEC;
+
+	strhdr = &info->sechdrs[info->hdr->e_shstrndx];
+	err = validate_section_offset(info, strhdr);
+	if (err < 0)
+		return err;
+
+	/*
+	 * The section name table must be NUL-terminated, as required
+	 * by the spec. This makes strcmp and pr_* calls that access
+	 * strings in the section safe.
+	 */
+	info->secstrings = (void *)info->hdr + strhdr->sh_offset;
+	if (info->secstrings[strhdr->sh_size - 1] != '\0')
+		return -ENOEXEC;
+
+	/*
+	 * The code assumes that section 0 has a length of zero and
+	 * an addr of zero, so check for it.
+	 */
+	if (info->sechdrs[0].sh_type != SHT_NULL
+	    || info->sechdrs[0].sh_size != 0
+	    || info->sechdrs[0].sh_addr != 0)
+		return -ENOEXEC;
+
+	for (i = 1; i < info->hdr->e_shnum; i++) {
+		shdr = &info->sechdrs[i];
+		switch (shdr->sh_type) {
+		case SHT_NULL:
+		case SHT_NOBITS:
+			continue;
+		case SHT_SYMTAB:
+			if (shdr->sh_link == SHN_UNDEF
+			    || shdr->sh_link >= info->hdr->e_shnum)
+				return -ENOEXEC;
+			fallthrough;
+		default:
+			err = validate_section_offset(info, shdr);
+			if (err < 0) {
+				pr_err("Invalid ELF section in module (section %u type %u)\n",
+					i, shdr->sh_type);
+				return err;
+			}
+
+			if (shdr->sh_flags & SHF_ALLOC) {
+				if (shdr->sh_name >= strhdr->sh_size) {
+					pr_err("Invalid ELF section name in module (section %u type %u)\n",
+					       i, shdr->sh_type);
+					return -ENOEXEC;
+				}
+			}
+			break;
+		}
+	}
+
 	return 0;
 }
 
@@ -3071,11 +3162,6 @@ static int rewrite_section_headers(struct load_info *info, int flags)
 
 	for (i = 1; i < info->hdr->e_shnum; i++) {
 		Elf_Shdr *shdr = &info->sechdrs[i];
-		if (shdr->sh_type != SHT_NOBITS
-		    && info->len < shdr->sh_offset + shdr->sh_size) {
-			pr_err("Module len %lu truncated\n", info->len);
-			return -ENOEXEC;
-		}
 
 		/* Mark all sections sh_addr with their address in the
 		   temporary image. */
@@ -3107,11 +3193,6 @@ static int setup_load_info(struct load_info *info, int flags)
 {
 	unsigned int i;
 
-	/* Set up the convenience variables */
-	info->sechdrs = (void *)info->hdr + info->hdr->e_shoff;
-	info->secstrings = (void *)info->hdr
-		+ info->sechdrs[info->hdr->e_shstrndx].sh_offset;
-
 	/* Try to find a name early so we can log errors with a module name */
 	info->index.info = find_sec(info, ".modinfo");
 	if (info->index.info)
@@ -3855,26 +3936,50 @@ static int load_module(struct load_info *info, const char __user *uargs,
 	long err = 0;
 	char *after_dashes;
 
-	err = elf_header_check(info);
+	/*
+	 * Do the signature check (if any) first. All that
+	 * the signature check needs is info->len, it does
+	 * not need any of the section info. That can be
+	 * set up later. This will minimize the chances
+	 * of a corrupt module causing problems before
+	 * we even get to the signature check.
+	 *
+	 * The check will also adjust info->len by stripping
+	 * off the sig length at the end of the module, making
+	 * checks against info->len more correct.
+	 */
+	err = module_sig_check(info, flags);
+	if (err)
+		goto free_copy;
+
+	/*
+	 * Do basic sanity checks against the ELF header and
+	 * sections.
+	 */
+	err = elf_validity_check(info);
 	if (err) {
-		pr_err("Module has invalid ELF header\n");
+		pr_err("Module has invalid ELF structures\n");
 		goto free_copy;
 	}
 
+	/*
+	 * Everything checks out, so set up the section info
+	 * in the info structure.
+	 */
 	err = setup_load_info(info, flags);
 	if (err)
 		goto free_copy;
 
+	/*
+	 * Now that we know we have the correct module name, check
+	 * if it's blacklisted.
+	 */
 	if (blacklisted(info->name)) {
 		err = -EPERM;
 		pr_err("Module %s is blacklisted\n", info->name);
 		goto free_copy;
 	}
 
-	err = module_sig_check(info, flags);
-	if (err)
-		goto free_copy;
-
 	err = rewrite_section_headers(info, flags);
 	if (err)
 		goto free_copy;
diff --git a/kernel/module_signature.c b/kernel/module_signature.c
index 4224a1086b7d..00132d12487c 100644
--- a/kernel/module_signature.c
+++ b/kernel/module_signature.c
@@ -25,7 +25,7 @@ int mod_check_sig(const struct module_signature *ms, size_t file_len,
 		return -EBADMSG;
 
 	if (ms->id_type != PKEY_ID_PKCS7) {
-		pr_err("%s: Module is not signed with expected PKCS#7 message\n",
+		pr_err("%s: not signed with expected PKCS#7 message\n",
 		       name);
 		return -ENOPKG;
 	}
diff --git a/kernel/module_signing.c b/kernel/module_signing.c
index 9d9fc678c91d..8723ae70ea1f 100644
--- a/kernel/module_signing.c
+++ b/kernel/module_signing.c
@@ -30,7 +30,7 @@ int mod_verify_sig(const void *mod, struct load_info *info)
 
 	memcpy(&ms, mod + (modlen - sizeof(ms)), sizeof(ms));
 
-	ret = mod_check_sig(&ms, modlen, info->name);
+	ret = mod_check_sig(&ms, modlen, "module");
 	if (ret)
 		return ret;
 
-- 
2.30.1




  parent reply	other threads:[~2021-03-22 12:50 UTC|newest]

Thread overview: 169+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-22 12:25 [PATCH 5.10 000/157] 5.10.26-rc1 review Greg Kroah-Hartman
2021-03-22 12:25 ` [PATCH 5.10 001/157] ASoC: ak4458: Add MODULE_DEVICE_TABLE Greg Kroah-Hartman
2021-03-22 12:25 ` [PATCH 5.10 002/157] ASoC: ak5558: " Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 003/157] spi: cadence: set cqspi to the driver_data field of struct device Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 004/157] ALSA: dice: fix null pointer dereference when node is disconnected Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 005/157] ALSA: hda/realtek: apply pin quirk for XiaomiNotebook Pro Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 006/157] ALSA: hda: generic: Fix the micmute led init state Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 007/157] ALSA: hda/realtek: Apply headset-mic quirks for Xiaomi Redmibook Air Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 008/157] ALSA: hda/realtek: fix mute/micmute LEDs for HP 840 G8 Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 009/157] ALSA: hda/realtek: fix mute/micmute LEDs for HP 440 G8 Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 010/157] ALSA: hda/realtek: fix mute/micmute LEDs for HP 850 G8 Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 011/157] Revert "PM: runtime: Update device status before letting suppliers suspend" Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 012/157] s390/vtime: fix increased steal time accounting Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 013/157] s390/pci: refactor zpci_create_device() Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 014/157] s390/pci: remove superfluous zdev->zbus check Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 015/157] s390/pci: fix leak of PCI device structure Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 016/157] zonefs: Fix O_APPEND async write handling Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 017/157] zonefs: prevent use of seq files as swap file Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 018/157] zonefs: fix to update .i_wr_refcnt correctly in zonefs_open_zone() Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 019/157] btrfs: fix race when cloning extent buffer during rewind of an old root Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 020/157] btrfs: fix slab cache flags for free space tree bitmap Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 021/157] vhost-vdpa: fix use-after-free of v->config_ctx Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 022/157] vhost-vdpa: set v->config_ctx to NULL if eventfd_ctx_fdget() fails Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 023/157] drm/amd/display: Correct algorithm for reversed gamma Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 024/157] ASoC: fsl_ssi: Fix TDM slot setup for I2S mode Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 025/157] ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 10-p0XX OVCD current threshold Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 026/157] ASoC: SOF: Intel: unregister DMIC device on probe error Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 027/157] ASoC: SOF: intel: fix wrong poll bits in dsp power down Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 028/157] ASoC: qcom: sdm845: Fix array out of bounds access Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 029/157] ASoC: qcom: sdm845: Fix array out of range on rx slim channels Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 030/157] ASoC: codecs: wcd934x: add a sanity check in set channel map Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 031/157] ASoC: qcom: lpass-cpu: Fix lpass dai ids parse Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 032/157] ASoC: simple-card-utils: Do not handle device clock Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 033/157] afs: Fix accessing YFS xattrs on a non-YFS server Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 034/157] afs: Stop listxattr() from listing "afs.*" attributes Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 035/157] ALSA: usb-audio: Fix unintentional sign extension issue Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 036/157] nvme: fix Write Zeroes limitations Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 037/157] nvme-tcp: fix misuse of __smp_processor_id with preemption enabled Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 038/157] nvme-tcp: fix possible hang when failing to set io queues Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 039/157] nvme-tcp: fix a NULL deref when receiving a 0-length r2t PDU Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 040/157] nvmet: dont check iosqes,iocqes for discovery controllers Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 041/157] nfsd: Dont keep looking up unhashed files in the nfsd file cache Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 042/157] nfsd: dont abort copies early Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 043/157] NFSD: Repair misuse of sv_lock in 5.10.16-rt30 Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 044/157] NFSD: fix dest to src mount in inter-server COPY Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 045/157] svcrdma: disable timeouts on rdma backchannel Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 046/157] vfio: IOMMU_API should be selected Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 047/157] vhost_vdpa: fix the missing irq_bypass_unregister_producer() invocation Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 048/157] sunrpc: fix refcount leak for rpc auth modules Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 049/157] i915/perf: Start hrtimer only if sampling the OA buffer Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 050/157] pstore: Fix warning in pstore_kill_sb() Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 051/157] io_uring: ensure that SQPOLL thread is started for exit Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 052/157] net/qrtr: fix __netdev_alloc_skb call Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 053/157] kbuild: Fix <linux/version.h> for empty SUBLEVEL or PATCHLEVEL again Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 054/157] cifs: fix allocation size on newly created files Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 055/157] riscv: Correct SPARSEMEM configuration Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 056/157] scsi: lpfc: Fix some error codes in debugfs Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 057/157] scsi: myrs: Fix a double free in myrs_cleanup() Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 058/157] scsi: ufs: ufs-mediatek: Correct operator & -> && Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 059/157] RISC-V: correct enum sbi_ext_rfence_fid Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 060/157] counter: stm32-timer-cnt: Report count function when SLAVE_MODE_DISABLED Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 061/157] gpiolib: Assign fwnode to parents if no primary one provided Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.10 062/157] nvme-rdma: fix possible hang when failing to set io queues Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 063/157] ibmvnic: add some debugs Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 064/157] ibmvnic: serialize access to work queue on remove Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 065/157] tty: serial: stm32-usart: Remove set but unused cookie variables Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 066/157] serial: stm32: fix DMA initialization error handling Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 067/157] bpf: Declare __bpf_free_used_maps() unconditionally Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 068/157] RDMA/rtrs: Remove unnecessary argument dir of rtrs_iu_free Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 069/157] RDMA/rtrs-srv: Jump to dereg_mr label if allocate iu fails Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 070/157] RDMA/rtrs: Introduce rtrs_post_send Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 071/157] RDMA/rtrs: Fix KASAN: stack-out-of-bounds bug Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 072/157] module: merge repetitive strings in module_sig_check() Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 073/157] module: avoid *goto*s " Greg Kroah-Hartman
2021-03-22 12:27 ` Greg Kroah-Hartman [this message]
2021-03-22 12:27 ` [PATCH 5.10 075/157] scsi: pm80xx: Make mpi_build_cmd locking consistent Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 076/157] scsi: pm80xx: Make running_req atomic Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 077/157] scsi: pm80xx: Fix pm8001_mpi_get_nvmd_resp() race condition Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 078/157] scsi: pm8001: Neaten debug logging macros and uses Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 079/157] scsi: libsas: Remove notifier indirection Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 080/157] scsi: libsas: Introduce a _gfp() variant of event notifiers Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 081/157] scsi: mvsas: Pass gfp_t flags to libsas " Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 082/157] scsi: isci: Pass gfp_t flags in isci_port_link_down() Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 083/157] scsi: isci: Pass gfp_t flags in isci_port_link_up() Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 084/157] scsi: isci: Pass gfp_t flags in isci_port_bc_change_received() Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 085/157] RDMA/mlx5: Allow creating all QPs even when non RDMA profile is used Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 086/157] powerpc/sstep: Fix load-store and update emulation Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 087/157] powerpc/sstep: Fix darn emulation Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 088/157] i40e: Fix endianness conversions Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 089/157] net: phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ8081 Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 090/157] MIPS: compressed: fix build with enabled UBSAN Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 091/157] drm/amd/display: turn DPMS off on connector unplug Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 092/157] rcu/nocb: Trigger self-IPI on late deferred wake up before user resume Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 093/157] entry: Explicitly flush pending rcuog wakeup before last rescheduling point Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 094/157] entry/kvm: " Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 095/157] iwlwifi: Add a new card for MA family Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 096/157] mptcp: split mptcp_clean_una function Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 097/157] mptcp: reduce the arguments of mptcp_sendmsg_frag Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 098/157] io_uring: fix inconsistent lock state Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 099/157] media: cedrus: h264: Support profile controls Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 100/157] ibmvnic: remove excessive irqsave Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 101/157] s390/qeth: schedule TX NAPI on QAOB completion Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 102/157] drm/amd/pm: fulfill the Polaris implementation for get_clock_by_type_with_latency() Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 103/157] MIPS: kernel: Reserve exception base early to prevent corruption Greg Kroah-Hartman
2021-03-22 14:14   ` Naresh Kamboju
2021-03-22 15:00     ` Greg Kroah-Hartman
2021-03-22 16:46       ` Florian Fainelli
2021-03-22 12:27 ` [PATCH 5.10 104/157] mptcp: put subflow sock on connect error Greg Kroah-Hartman
2021-03-24  8:32   ` Naresh Kamboju
2021-03-24  9:04     ` Florian Westphal
2021-03-24  9:22       ` Greg Kroah-Hartman
2021-03-24 14:28         ` Sasha Levin
2021-03-24  9:26     ` Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 105/157] io_uring: dont attempt IO reissue from the ring exit path Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 106/157] io_uring: clear IOCB_WAITQ for non -EIOCBQUEUED return Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 107/157] gpiolib: Read "gpio-line-names" from a firmware node Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 108/157] net: bonding: fix error return code of bond_neigh_init() Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 109/157] regulator: pca9450: Add SD_VSEL GPIO for LDO5 Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 110/157] regulator: pca9450: Enable system reset on WDOG_B assertion Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 111/157] regulator: pca9450: Clear PRESET_EN bit to fix BUCK1/2/3 voltage setting Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 112/157] gfs2: Add common helper for holding and releasing the freeze glock Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 113/157] gfs2: move freeze glock outside the make_fs_rw and _ro functions Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 114/157] gfs2: bypass signal_our_withdraw if no journal Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 115/157] powerpc: Force inlining of cpu_has_feature() to avoid build failure Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 116/157] usb-storage: Add quirk to defeat Kindles automatic unload Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 117/157] usbip: Fix incorrect double assignment to udc->ud.tcp_rx Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 118/157] usb: gadget: configfs: Fix KASAN use-after-free Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 119/157] usb: typec: Remove vdo[3] part of tps6598x_rx_identity_reg struct Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 120/157] usb: typec: tcpm: Invoke power_supply_changed for tcpm-source-psy- Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 121/157] usb: dwc3: gadget: Allow runtime suspend if UDC unbinded Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.10 122/157] usb: dwc3: gadget: Prevent EP queuing while stopping transfers Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 123/157] thunderbolt: Initialize HopID IDAs in tb_switch_alloc() Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 124/157] thunderbolt: Increase runtime PM reference count on DP tunnel discovery Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 125/157] iio:adc:stm32-adc: Add HAS_IOMEM dependency Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 126/157] iio:adc:qcom-spmi-vadc: add default scale to LR_MUX2_BAT_ID channel Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 127/157] iio: adis16400: Fix an error code in adis16400_initial_setup() Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 128/157] iio: gyro: mpu3050: Fix error handling in mpu3050_trigger_handler Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 129/157] iio: adc: ab8500-gpadc: Fix off by 10 to 3 Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 130/157] iio: adc: ad7949: fix wrong ADC result due to incorrect bit mask Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 131/157] iio: adc: adi-axi-adc: add proper Kconfig dependencies Greg Kroah-Hartman
2021-03-24 23:29   ` Richard Narron
2021-03-22 12:28 ` [PATCH 5.10 132/157] iio: hid-sensor-humidity: Fix alignment issue of timestamp channel Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 133/157] iio: hid-sensor-prox: Fix scale not correct issue Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 134/157] iio: hid-sensor-temperature: Fix issues of timestamp channel Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 135/157] counter: stm32-timer-cnt: fix ceiling write max value Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 136/157] counter: stm32-timer-cnt: fix ceiling miss-alignment with reload register Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 137/157] PCI: rpadlpar: Fix potential drc_name corruption in store functions Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 138/157] perf/x86/intel: Fix a crash caused by zero PEBS status Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 139/157] perf/x86/intel: Fix unchecked MSR access error caused by VLBR_EVENT Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 140/157] x86/ioapic: Ignore IRQ2 again Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 141/157] kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data() Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 142/157] x86: Move TS_COMPAT back to asm/thread_info.h Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 143/157] x86: Introduce TS_COMPAT_RESTART to fix get_nr_restart_syscall() Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 144/157] efivars: respect EFI_UNSUPPORTED return from firmware Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 145/157] ext4: fix error handling in ext4_end_enable_verity() Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 146/157] ext4: find old entry again if failed to rename whiteout Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 147/157] ext4: stop inode update before return Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 148/157] ext4: do not try to set xattr into ea_inode if value is empty Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 149/157] ext4: fix potential error in ext4_do_update_inode Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 150/157] ext4: fix rename whiteout with fast commit Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 151/157] MAINTAINERS: move some real subsystems off of the staging mailing list Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 152/157] MAINTAINERS: move the staging subsystem to lists.linux.dev Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 153/157] static_call: Fix static_call_update() sanity check Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 154/157] efi: use 32-bit alignment for efi_guid_t literals Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 155/157] firmware/efi: Fix a use after bug in efi_mem_reserve_persistent Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 156/157] genirq: Disable interrupts for force threaded handlers Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.10 157/157] x86/apic/of: Fix CPU devicetree-node lookups Greg Kroah-Hartman
2021-03-22 14:26 ` [PATCH 5.10 000/157] 5.10.26-rc1 review Naresh Kamboju
2021-03-22 14:35 ` Jon Hunter

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=20210322121936.106292580@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=fllinden@amazon.com \
    --cc=jeyu@kernel.org \
    --cc=linux-kernel@vger.kernel.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.