From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Angus Clark <angus@angusclark.org>,
Ard Biesheuvel <ard.biesheuvel@linaro.org>,
Russell King <rmk+kernel@armlinux.org.uk>
Subject: [PATCH 4.9 122/164] ARM: 8662/1: module: split core and init PLT sections
Date: Tue, 23 May 2017 22:08:59 +0200 [thread overview]
Message-ID: <20170523200912.307296459@linuxfoundation.org> (raw)
In-Reply-To: <20170523200907.297534241@linuxfoundation.org>
4.9-stable review patch. If anyone has any objections, please let me know.
------------------
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
commit b7ede5a1f5905ac394cc8e61712a13e3c5cb7b8f upstream.
Since commit 35fa91eed817 ("ARM: kernel: merge core and init PLTs"),
the ARM module PLT code allocates all PLT entries in a single core
section, since the overhead of having a separate init PLT section is
not justified by the small number of PLT entries usually required for
init code.
However, the core and init module regions are allocated independently,
and there is a corner case where the core region may be allocated from
the VMALLOC region if the dedicated module region is exhausted, but the
init region, being much smaller, can still be allocated from the module
region. This puts the PLT entries out of reach of the relocated branch
instructions, defeating the whole purpose of PLTs.
So split the core and init PLT regions, and name the latter ".init.plt"
so it gets allocated along with (and sufficiently close to) the .init
sections that it serves. Also, given that init PLT entries may need to
be emitted for branches that target the core module, modify the logic
that disregards defined symbols to only disregard symbols that are
defined in the same section.
Fixes: 35fa91eed817 ("ARM: kernel: merge core and init PLTs")
Reported-by: Angus Clark <angus@angusclark.org>
Tested-by: Angus Clark <angus@angusclark.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/arm/include/asm/module.h | 9 +++-
arch/arm/kernel/module-plts.c | 85 +++++++++++++++++++++++++++++-------------
arch/arm/kernel/module.lds | 1
3 files changed, 67 insertions(+), 28 deletions(-)
--- a/arch/arm/include/asm/module.h
+++ b/arch/arm/include/asm/module.h
@@ -18,13 +18,18 @@ enum {
};
#endif
+struct mod_plt_sec {
+ struct elf32_shdr *plt;
+ int plt_count;
+};
+
struct mod_arch_specific {
#ifdef CONFIG_ARM_UNWIND
struct unwind_table *unwind[ARM_SEC_MAX];
#endif
#ifdef CONFIG_ARM_MODULE_PLTS
- struct elf32_shdr *plt;
- int plt_count;
+ struct mod_plt_sec core;
+ struct mod_plt_sec init;
#endif
};
--- a/arch/arm/kernel/module-plts.c
+++ b/arch/arm/kernel/module-plts.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014 Linaro Ltd. <ard.biesheuvel@linaro.org>
+ * Copyright (C) 2014-2017 Linaro Ltd. <ard.biesheuvel@linaro.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
@@ -31,9 +31,17 @@ struct plt_entries {
u32 lit[PLT_ENT_COUNT];
};
+static bool in_init(const struct module *mod, unsigned long loc)
+{
+ return loc - (u32)mod->init_layout.base < mod->init_layout.size;
+}
+
u32 get_module_plt(struct module *mod, unsigned long loc, Elf32_Addr val)
{
- struct plt_entries *plt = (struct plt_entries *)mod->arch.plt->sh_addr;
+ struct mod_plt_sec *pltsec = !in_init(mod, loc) ? &mod->arch.core :
+ &mod->arch.init;
+
+ struct plt_entries *plt = (struct plt_entries *)pltsec->plt->sh_addr;
int idx = 0;
/*
@@ -41,9 +49,9 @@ u32 get_module_plt(struct module *mod, u
* relocations are sorted, this will be the last entry we allocated.
* (if one exists).
*/
- if (mod->arch.plt_count > 0) {
- plt += (mod->arch.plt_count - 1) / PLT_ENT_COUNT;
- idx = (mod->arch.plt_count - 1) % PLT_ENT_COUNT;
+ if (pltsec->plt_count > 0) {
+ plt += (pltsec->plt_count - 1) / PLT_ENT_COUNT;
+ idx = (pltsec->plt_count - 1) % PLT_ENT_COUNT;
if (plt->lit[idx] == val)
return (u32)&plt->ldr[idx];
@@ -53,8 +61,8 @@ u32 get_module_plt(struct module *mod, u
plt++;
}
- mod->arch.plt_count++;
- BUG_ON(mod->arch.plt_count * PLT_ENT_SIZE > mod->arch.plt->sh_size);
+ pltsec->plt_count++;
+ BUG_ON(pltsec->plt_count * PLT_ENT_SIZE > pltsec->plt->sh_size);
if (!idx)
/* Populate a new set of entries */
@@ -129,7 +137,7 @@ static bool duplicate_rel(Elf32_Addr bas
/* Count how many PLT entries we may need */
static unsigned int count_plts(const Elf32_Sym *syms, Elf32_Addr base,
- const Elf32_Rel *rel, int num)
+ const Elf32_Rel *rel, int num, Elf32_Word dstidx)
{
unsigned int ret = 0;
const Elf32_Sym *s;
@@ -144,13 +152,17 @@ static unsigned int count_plts(const Elf
case R_ARM_THM_JUMP24:
/*
* We only have to consider branch targets that resolve
- * to undefined symbols. This is not simply a heuristic,
- * it is a fundamental limitation, since the PLT itself
- * is part of the module, and needs to be within range
- * as well, so modules can never grow beyond that limit.
+ * to symbols that are defined in a different section.
+ * This is not simply a heuristic, it is a fundamental
+ * limitation, since there is no guaranteed way to emit
+ * PLT entries sufficiently close to the branch if the
+ * section size exceeds the range of a branch
+ * instruction. So ignore relocations against defined
+ * symbols if they live in the same section as the
+ * relocation target.
*/
s = syms + ELF32_R_SYM(rel[i].r_info);
- if (s->st_shndx != SHN_UNDEF)
+ if (s->st_shndx == dstidx)
break;
/*
@@ -161,7 +173,12 @@ static unsigned int count_plts(const Elf
* So we need to support them, but there is no need to
* take them into consideration when trying to optimize
* this code. So let's only check for duplicates when
- * the addend is zero.
+ * the addend is zero. (Note that calls into the core
+ * module via init PLT entries could involve section
+ * relative symbol references with non-zero addends, for
+ * which we may end up emitting duplicates, but the init
+ * PLT is released along with the rest of the .init
+ * region as soon as module loading completes.)
*/
if (!is_zero_addend_relocation(base, rel + i) ||
!duplicate_rel(base, rel, i))
@@ -174,7 +191,8 @@ static unsigned int count_plts(const Elf
int module_frob_arch_sections(Elf_Ehdr *ehdr, Elf_Shdr *sechdrs,
char *secstrings, struct module *mod)
{
- unsigned long plts = 0;
+ unsigned long core_plts = 0;
+ unsigned long init_plts = 0;
Elf32_Shdr *s, *sechdrs_end = sechdrs + ehdr->e_shnum;
Elf32_Sym *syms = NULL;
@@ -184,13 +202,15 @@ int module_frob_arch_sections(Elf_Ehdr *
*/
for (s = sechdrs; s < sechdrs_end; ++s) {
if (strcmp(".plt", secstrings + s->sh_name) == 0)
- mod->arch.plt = s;
+ mod->arch.core.plt = s;
+ else if (strcmp(".init.plt", secstrings + s->sh_name) == 0)
+ mod->arch.init.plt = s;
else if (s->sh_type == SHT_SYMTAB)
syms = (Elf32_Sym *)s->sh_addr;
}
- if (!mod->arch.plt) {
- pr_err("%s: module PLT section missing\n", mod->name);
+ if (!mod->arch.core.plt || !mod->arch.init.plt) {
+ pr_err("%s: module PLT section(s) missing\n", mod->name);
return -ENOEXEC;
}
if (!syms) {
@@ -213,16 +233,29 @@ int module_frob_arch_sections(Elf_Ehdr *
/* sort by type and symbol index */
sort(rels, numrels, sizeof(Elf32_Rel), cmp_rel, NULL);
- plts += count_plts(syms, dstsec->sh_addr, rels, numrels);
+ if (strncmp(secstrings + dstsec->sh_name, ".init", 5) != 0)
+ core_plts += count_plts(syms, dstsec->sh_addr, rels,
+ numrels, s->sh_info);
+ else
+ init_plts += count_plts(syms, dstsec->sh_addr, rels,
+ numrels, s->sh_info);
}
- mod->arch.plt->sh_type = SHT_NOBITS;
- mod->arch.plt->sh_flags = SHF_EXECINSTR | SHF_ALLOC;
- mod->arch.plt->sh_addralign = L1_CACHE_BYTES;
- mod->arch.plt->sh_size = round_up(plts * PLT_ENT_SIZE,
- sizeof(struct plt_entries));
- mod->arch.plt_count = 0;
+ mod->arch.core.plt->sh_type = SHT_NOBITS;
+ mod->arch.core.plt->sh_flags = SHF_EXECINSTR | SHF_ALLOC;
+ mod->arch.core.plt->sh_addralign = L1_CACHE_BYTES;
+ mod->arch.core.plt->sh_size = round_up(core_plts * PLT_ENT_SIZE,
+ sizeof(struct plt_entries));
+ mod->arch.core.plt_count = 0;
+
+ mod->arch.init.plt->sh_type = SHT_NOBITS;
+ mod->arch.init.plt->sh_flags = SHF_EXECINSTR | SHF_ALLOC;
+ mod->arch.init.plt->sh_addralign = L1_CACHE_BYTES;
+ mod->arch.init.plt->sh_size = round_up(init_plts * PLT_ENT_SIZE,
+ sizeof(struct plt_entries));
+ mod->arch.init.plt_count = 0;
- pr_debug("%s: plt=%x\n", __func__, mod->arch.plt->sh_size);
+ pr_debug("%s: plt=%x, init.plt=%x\n", __func__,
+ mod->arch.core.plt->sh_size, mod->arch.init.plt->sh_size);
return 0;
}
--- a/arch/arm/kernel/module.lds
+++ b/arch/arm/kernel/module.lds
@@ -1,3 +1,4 @@
SECTIONS {
.plt : { BYTE(0) }
+ .init.plt : { BYTE(0) }
}
next prev parent reply other threads:[~2017-05-23 20:31 UTC|newest]
Thread overview: 162+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-23 20:06 [PATCH 4.9 000/164] 4.9.30-stable review Greg Kroah-Hartman
2017-05-23 20:06 ` [PATCH 4.9 001/164] usb: misc: legousbtower: Fix buffers on stack Greg Kroah-Hartman
2017-05-23 20:06 ` [PATCH 4.9 002/164] usb: misc: legousbtower: Fix memory leak Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 003/164] USB: ene_usb6250: fix DMA to the stack Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 004/164] watchdog: pcwd_usb: fix NULL-deref at probe Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 005/164] char: lp: fix possible integer overflow in lp_setup() Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 006/164] USB: core: replace %p with %pK Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 007/164] tpm_tis_core: Choose appropriate timeout for reading burstcount Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 008/164] ALSA: hda: Fix cpu lockup when stopping the cmd dmas Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 009/164] ARM: tegra: paz00: Mark panel regulator as enabled on boot Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 010/164] fanotify: dont expose EOPENSTALE to userspace Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 011/164] tpm_tis_spi: Use single function to transfer data Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 012/164] tpm_tis_spi: Abort transfer when too many wait states are signaled Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 013/164] tpm_tis_spi: Check correct byte for wait state indicator Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 014/164] tpm_tis_spi: Remove limitation of transfers to MAX_SPI_FRAMESIZE bytes Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 015/164] tpm_tis_spi: Add small delay after last transfer Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 016/164] tpm: msleep() delays - replace with usleep_range() in i2c nuvoton driver Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 017/164] tpm: add sleep only for retry in i2c_nuvoton_write_status() Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 018/164] tpm_crb: check for bad response size Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 019/164] ASoC: cs4271: configure reset GPIO as output Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 020/164] mlx5: Fix mlx5_ib_map_mr_sg mr length Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 021/164] infiniband: call ipv6 route lookup via the stub interface Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 022/164] dm btree: fix for dm_btree_find_lowest_key() Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 023/164] dm raid: select the Kconfig option CONFIG_MD_RAID0 Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 024/164] dm bufio: avoid a possible ABBA deadlock Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 025/164] dm bufio: check new buffer allocation watermark every 30 seconds Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 026/164] dm mpath: split and rename activate_path() to prepare for its expanded use Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 027/164] dm cache metadata: fail operations if fail_io mode has been established Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 028/164] dm bufio: make the parameter "retain_bytes" unsigned long Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 029/164] dm thin metadata: call precommit before saving the roots Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 030/164] dm space map disk: fix some book keeping in the disk space map Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 031/164] md: update slab_cache before releasing new stripes when stripes resizing Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 032/164] md: MD_CLOSING needs to be cleared after called md_set_readonly or do_md_stop Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 033/164] rtlwifi: rtl8821ae: setup 8812ae RFE according to device type Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 034/164] mwifiex: MAC randomization should not be persistent Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 035/164] mwifiex: pcie: fix cmd_buf use-after-free in remove/reset Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 040/164] x86: fix 32-bit case of __get_user_asm_u64() Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 041/164] regulator: rk808: Fix RK818 LDO2 Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 042/164] regulator: tps65023: Fix inverted core enable logic Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 043/164] s390/kdump: Add final note Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 044/164] s390/cputime: fix incorrect system time Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 045/164] ath9k_htc: Add support of AirTies 1eda:2315 AR9271 device Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 046/164] ath9k_htc: fix NULL-deref at probe Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 047/164] drm/amdgpu: Make display watermark calculations more accurate Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 048/164] drm/amdgpu: Avoid overflows/divide-by-zero in latency_watermark calculations Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 049/164] drm/amdgpu: Add missing lb_vblank_lead_lines setup to DCE-6 path Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 050/164] drm/nouveau/therm: remove ineffective workarounds for alarm bugs Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 051/164] drm/nouveau/tmr: ack interrupt before processing alarms Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 052/164] drm/nouveau/tmr: fix corruption of the pending list when rescheduling an alarm Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 053/164] drm/nouveau/tmr: avoid processing completed alarms when adding a new one Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 054/164] drm/nouveau/tmr: handle races with hw when updating the next alarm time Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 055/164] gpio: omap: return error if requested debounce time is not possible Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 056/164] cdc-acm: fix possible invalid access when processing notification Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 057/164] ohci-pci: add qemu quirk Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 058/164] cxl: Force context lock during EEH flow Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 059/164] cxl: Route eeh events to all drivers in cxl_pci_error_detected() Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 060/164] proc: Fix unbalanced hard link numbers Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 061/164] of: fix sparse warning in of_pci_range_parser_one Greg Kroah-Hartman
2017-05-23 20:07 ` [PATCH 4.9 062/164] of: fix "/cpus" reference leak in of_numa_parse_cpu_nodes() Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 063/164] of: fdt: add missing allocation-failure check Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 064/164] ibmvscsis: Do not send aborted task response Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 065/164] iio: dac: ad7303: fix channel description Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 066/164] IIO: bmp280-core.c: fix error in humidity calculation Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 067/164] IB/hfi1: Return an error on memory allocation failure Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 068/164] IB/hfi1: Fix a subcontext memory leak Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 069/164] pid_ns: Sleep in TASK_INTERRUPTIBLE in zap_pid_ns_processes Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 070/164] pid_ns: Fix race between setnsed fork() and zap_pid_ns_processes() Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 071/164] USB: serial: ftdi_sio: fix setting latency for unprivileged users Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 072/164] USB: serial: ftdi_sio: add Olimex ARM-USB-TINY(H) PIDs Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 073/164] USB: chaoskey: fix Alea quirk on big-endian hosts Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 074/164] f2fs: check entire encrypted bigname when finding a dentry Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 075/164] fscrypt: avoid collisions when presenting long encrypted filenames Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 076/164] libnvdimm: fix clear length of nvdimm_forget_poison() Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 077/164] xhci: remove GFP_DMA flag from allocation Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 078/164] usb: host: xhci-plat: propagate return value of platform_get_irq() Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 079/164] xhci: apply PME_STUCK_QUIRK and MISSING_CAS quirk for Denverton Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 080/164] usb: host: xhci-mem: allocate zeroed Scratchpad Buffer Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 081/164] net: irda: irda-usb: fix firmware name on big-endian hosts Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 082/164] [media] usbvision: fix NULL-deref at probe Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 083/164] [media] mceusb: " Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 084/164] [media] ttusb2: limit messages to buffer size Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 085/164] [media] dvb-usb-dibusb-mc-common: Add MODULE_LICENSE Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 086/164] usb: dwc3: gadget: Prevent losing events in event cache Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 087/164] usb: musb: tusb6010_omap: Do not reset the other directions packet size Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 088/164] usb: musb: Fix trying to suspend while active for OTG configurations Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 089/164] USB: iowarrior: fix info ioctl on big-endian hosts Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 090/164] usb: serial: option: add Telit ME910 support Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 092/164] USB: serial: mct_u232: fix big-endian baud-rate handling Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 093/164] USB: serial: io_ti: fix div-by-zero in set_termios Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 094/164] USB: hub: fix SS hub-descriptor handling Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 095/164] USB: hub: fix non-SS " Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 097/164] iio: proximity: as3935: fix as3935_write Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 098/164] iio: hid-sensor: Store restore poll and hysteresis on S3 Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 099/164] [media] s5p-mfc: Fix race between interrupt routine and device functions Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 100/164] [media] gspca: konica: add missing endpoint sanity check Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 101/164] [media] s5p-mfc: Fix unbalanced call to clock management Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 102/164] [media] dib0700: fix NULL-deref at probe Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 103/164] [media] zr364xx: enforce minimum size when reading header Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 104/164] [media] dvb-frontends/cxd2841er: define symbol_rate_min/max in T/C fe-ops Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 105/164] [media] digitv: limit messages to buffer size Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 106/164] [media] dw2102: " Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 107/164] [media] cx231xx-audio: fix init error path Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 108/164] [media] cx231xx-audio: fix NULL-deref at probe Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 109/164] [media] cx231xx-cards: " Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 110/164] powerpc/mm: Ensure IRQs are off in switch_mm() Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 111/164] powerpc/eeh: Avoid use after free in eeh_handle_special_event() Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 112/164] powerpc/book3s/mce: Move add_taint() later in virtual mode Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 113/164] powerpc/pseries: Fix of_node_put() underflow during DLPAR remove Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 114/164] powerpc/iommu: Do not call PageTransHuge() on tail pages Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 115/164] powerpc/64e: Fix hang when debugging programs with relocated kernel Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 116/164] powerpc/tm: Fix FP and VMX register corruption Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 117/164] arm64: KVM: Do not use stack-protector to compile EL2 code Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 118/164] arm: KVM: Do not use stack-protector to compile HYP code Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 119/164] KVM: arm/arm64: vgic-v2: Do not use Active+Pending state for a HW interrupt Greg Kroah-Hartman
2017-05-23 20:08 ` [PATCH 4.9 120/164] KVM: arm/arm64: vgic-v3: " Greg Kroah-Hartman
2017-05-23 20:08 ` Greg Kroah-Hartman [this message]
2017-05-23 20:09 ` [PATCH 4.9 123/164] ARM: 8670/1: V7M: Do not corrupt vector table around v7m_invalidate_l1 call Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 124/164] ARM: dts: at91: sama5d3_xplained: fix ADC vref Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 125/164] ARM: dts: at91: sama5d3_xplained: not all ADC channels are available Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 126/164] ARM: dts: imx6sx-sdb: Remove OPP override Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 127/164] arm64: dts: hi6220: Reset the mmc hosts Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 128/164] arm64: xchg: hazard against entire exchange variable Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 129/164] arm64: ensure extension of smp_store_release value Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 130/164] arm64: armv8_deprecated: ensure extension of addr Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 131/164] arm64: uaccess: ensure extension of access_ok() addr Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 132/164] arm64: documentation: document tagged pointer stack constraints Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 133/164] staging: rtl8192e: rtl92e_fill_tx_desc fix write to mapped out memory Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 134/164] staging: rtl8192e: fix 2 byte alignment of register BSSIDR Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 135/164] staging: rtl8192e: rtl92e_get_eeprom_size Fix read size of EPROM_CMD Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 136/164] staging: rtl8192e: GetTs Fix invalid TID 7 warning Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 137/164] iommu/vt-d: Flush the IOTLB to get rid of the initial kdump mappings Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 138/164] metag/uaccess: Fix access_ok() Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 139/164] metag/uaccess: Check access_ok in strncpy_from_user Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 140/164] stackprotector: Increase the per-task stack canarys random range from 32 bits to 64 bits on 64-bit platforms Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 141/164] uwb: fix device quirk on big-endian hosts Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 142/164] genirq: Fix chained interrupt data ordering Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 143/164] nvme: unmap CMB and remove sysfs file in reset path Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 144/164] MIPS: Loongson-3: Select MIPS_L1_CACHE_SHIFT_6 Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 145/164] osf_wait4(): fix infoleak Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 146/164] um: Fix to call read_initrd after init_bootmem Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 147/164] tracing/kprobes: Enforce kprobes teardown after testing Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 148/164] PCI: hv: Allocate interrupt descriptors with GFP_ATOMIC Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 149/164] PCI: hv: Specify CPU_AFFINITY_ALL for MSI affinity when >= 32 CPUs Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 150/164] PCI: Fix pci_mmap_fits() for HAVE_PCI_RESOURCE_TO_USER platforms Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 151/164] PCI: Fix another sanity check bug in /proc/pci mmap Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 152/164] PCI: Only allow WC mmap on prefetchable resources Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 154/164] mtd: nand: orion: fix clk handling Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 155/164] mtd: nand: omap2: Fix partition creation via cmdline mtdparts Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 156/164] mtd: nand: add ooblayout for old hamming layout Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 157/164] drm/edid: Add 10 bpc quirk for LGD 764 panel in HP zBook 17 G2 Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 158/164] NFSv4: Fix a hang in OPEN related to server reboot Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 159/164] NFS: Fix use after free in write error path Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 160/164] NFS: Use GFP_NOIO for two allocations in writeback Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 161/164] nfsd: fix undefined behavior in nfsd4_layout_verify Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 162/164] nfsd: encoders mustnt use unitialized values in error cases Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 163/164] drivers: char: mem: Check for address space wraparound with mmap() Greg Kroah-Hartman
2017-05-23 20:09 ` [PATCH 4.9 164/164] drm/i915/gvt: Disable access to stolen memory as a guest Greg Kroah-Hartman
2017-05-24 3:57 ` [PATCH 4.9 000/164] 4.9.30-stable review Guenter Roeck
2017-05-24 7:07 ` Greg Kroah-Hartman
2017-05-24 7:11 ` Greg Kroah-Hartman
2017-05-24 20:24 ` Guenter Roeck
2017-05-25 10:08 ` Greg Kroah-Hartman
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=20170523200912.307296459@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=angus@angusclark.org \
--cc=ard.biesheuvel@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rmk+kernel@armlinux.org.uk \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).