The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From ff363f480e5997051dd1de949121ffda3b753741 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx(a)linutronix.de>
Date: Thu, 29 Jul 2021 23:51:50 +0200
Subject: [PATCH] x86/msi: Force affinity setup before startup
The X86 MSI mechanism cannot handle interrupt affinity changes safely after
startup other than from an interrupt handler, unless interrupt remapping is
enabled. The startup sequence in the generic interrupt code violates that
assumption.
Mark the irq chips with the new IRQCHIP_AFFINITY_PRE_STARTUP flag so that
the default interrupt setting happens before the interrupt is started up
for the first time.
While the interrupt remapping MSI chip does not require this, there is no
point in treating it differently as this might spare an interrupt to a CPU
which is not in the default affinity mask.
For the non-remapping case go to the direct write path when the interrupt
is not yet started similar to the not yet activated case.
Fixes: 18404756765c ("genirq: Expose default irq affinity mask (take 3)")
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Tested-by: Marc Zyngier <maz(a)kernel.org>
Reviewed-by: Marc Zyngier <maz(a)kernel.org>
Cc: stable(a)vger.kernel.org
Link: https://lore.kernel.org/r/20210729222542.886722080@linutronix.de
diff --git a/arch/x86/kernel/apic/msi.c b/arch/x86/kernel/apic/msi.c
index 44ebe25e7703..dbacb9ec8843 100644
--- a/arch/x86/kernel/apic/msi.c
+++ b/arch/x86/kernel/apic/msi.c
@@ -58,11 +58,13 @@ msi_set_affinity(struct irq_data *irqd, const struct cpumask *mask, bool force)
* The quirk bit is not set in this case.
* - The new vector is the same as the old vector
* - The old vector is MANAGED_IRQ_SHUTDOWN_VECTOR (interrupt starts up)
+ * - The interrupt is not yet started up
* - The new destination CPU is the same as the old destination CPU
*/
if (!irqd_msi_nomask_quirk(irqd) ||
cfg->vector == old_cfg.vector ||
old_cfg.vector == MANAGED_IRQ_SHUTDOWN_VECTOR ||
+ !irqd_is_started(irqd) ||
cfg->dest_apicid == old_cfg.dest_apicid) {
irq_msi_update_msg(irqd, cfg);
return ret;
@@ -150,7 +152,8 @@ static struct irq_chip pci_msi_controller = {
.irq_ack = irq_chip_ack_parent,
.irq_retrigger = irq_chip_retrigger_hierarchy,
.irq_set_affinity = msi_set_affinity,
- .flags = IRQCHIP_SKIP_SET_WAKE,
+ .flags = IRQCHIP_SKIP_SET_WAKE |
+ IRQCHIP_AFFINITY_PRE_STARTUP,
};
int pci_msi_prepare(struct irq_domain *domain, struct device *dev, int nvec,
@@ -219,7 +222,8 @@ static struct irq_chip pci_msi_ir_controller = {
.irq_mask = pci_msi_mask_irq,
.irq_ack = irq_chip_ack_parent,
.irq_retrigger = irq_chip_retrigger_hierarchy,
- .flags = IRQCHIP_SKIP_SET_WAKE,
+ .flags = IRQCHIP_SKIP_SET_WAKE |
+ IRQCHIP_AFFINITY_PRE_STARTUP,
};
static struct msi_domain_info pci_msi_ir_domain_info = {
@@ -273,7 +277,8 @@ static struct irq_chip dmar_msi_controller = {
.irq_retrigger = irq_chip_retrigger_hierarchy,
.irq_compose_msi_msg = dmar_msi_compose_msg,
.irq_write_msi_msg = dmar_msi_write_msg,
- .flags = IRQCHIP_SKIP_SET_WAKE,
+ .flags = IRQCHIP_SKIP_SET_WAKE |
+ IRQCHIP_AFFINITY_PRE_STARTUP,
};
static int dmar_msi_init(struct irq_domain *domain,
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 08651a4e6aa0..42fc41dd0e1f 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -508,7 +508,7 @@ static struct irq_chip hpet_msi_controller __ro_after_init = {
.irq_set_affinity = msi_domain_set_affinity,
.irq_retrigger = irq_chip_retrigger_hierarchy,
.irq_write_msi_msg = hpet_msi_write_msg,
- .flags = IRQCHIP_SKIP_SET_WAKE,
+ .flags = IRQCHIP_SKIP_SET_WAKE | IRQCHIP_AFFINITY_PRE_STARTUP,
};
static int hpet_msi_init(struct irq_domain *domain,
The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From ff363f480e5997051dd1de949121ffda3b753741 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx(a)linutronix.de>
Date: Thu, 29 Jul 2021 23:51:50 +0200
Subject: [PATCH] x86/msi: Force affinity setup before startup
The X86 MSI mechanism cannot handle interrupt affinity changes safely after
startup other than from an interrupt handler, unless interrupt remapping is
enabled. The startup sequence in the generic interrupt code violates that
assumption.
Mark the irq chips with the new IRQCHIP_AFFINITY_PRE_STARTUP flag so that
the default interrupt setting happens before the interrupt is started up
for the first time.
While the interrupt remapping MSI chip does not require this, there is no
point in treating it differently as this might spare an interrupt to a CPU
which is not in the default affinity mask.
For the non-remapping case go to the direct write path when the interrupt
is not yet started similar to the not yet activated case.
Fixes: 18404756765c ("genirq: Expose default irq affinity mask (take 3)")
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Tested-by: Marc Zyngier <maz(a)kernel.org>
Reviewed-by: Marc Zyngier <maz(a)kernel.org>
Cc: stable(a)vger.kernel.org
Link: https://lore.kernel.org/r/20210729222542.886722080@linutronix.de
diff --git a/arch/x86/kernel/apic/msi.c b/arch/x86/kernel/apic/msi.c
index 44ebe25e7703..dbacb9ec8843 100644
--- a/arch/x86/kernel/apic/msi.c
+++ b/arch/x86/kernel/apic/msi.c
@@ -58,11 +58,13 @@ msi_set_affinity(struct irq_data *irqd, const struct cpumask *mask, bool force)
* The quirk bit is not set in this case.
* - The new vector is the same as the old vector
* - The old vector is MANAGED_IRQ_SHUTDOWN_VECTOR (interrupt starts up)
+ * - The interrupt is not yet started up
* - The new destination CPU is the same as the old destination CPU
*/
if (!irqd_msi_nomask_quirk(irqd) ||
cfg->vector == old_cfg.vector ||
old_cfg.vector == MANAGED_IRQ_SHUTDOWN_VECTOR ||
+ !irqd_is_started(irqd) ||
cfg->dest_apicid == old_cfg.dest_apicid) {
irq_msi_update_msg(irqd, cfg);
return ret;
@@ -150,7 +152,8 @@ static struct irq_chip pci_msi_controller = {
.irq_ack = irq_chip_ack_parent,
.irq_retrigger = irq_chip_retrigger_hierarchy,
.irq_set_affinity = msi_set_affinity,
- .flags = IRQCHIP_SKIP_SET_WAKE,
+ .flags = IRQCHIP_SKIP_SET_WAKE |
+ IRQCHIP_AFFINITY_PRE_STARTUP,
};
int pci_msi_prepare(struct irq_domain *domain, struct device *dev, int nvec,
@@ -219,7 +222,8 @@ static struct irq_chip pci_msi_ir_controller = {
.irq_mask = pci_msi_mask_irq,
.irq_ack = irq_chip_ack_parent,
.irq_retrigger = irq_chip_retrigger_hierarchy,
- .flags = IRQCHIP_SKIP_SET_WAKE,
+ .flags = IRQCHIP_SKIP_SET_WAKE |
+ IRQCHIP_AFFINITY_PRE_STARTUP,
};
static struct msi_domain_info pci_msi_ir_domain_info = {
@@ -273,7 +277,8 @@ static struct irq_chip dmar_msi_controller = {
.irq_retrigger = irq_chip_retrigger_hierarchy,
.irq_compose_msi_msg = dmar_msi_compose_msg,
.irq_write_msi_msg = dmar_msi_write_msg,
- .flags = IRQCHIP_SKIP_SET_WAKE,
+ .flags = IRQCHIP_SKIP_SET_WAKE |
+ IRQCHIP_AFFINITY_PRE_STARTUP,
};
static int dmar_msi_init(struct irq_domain *domain,
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 08651a4e6aa0..42fc41dd0e1f 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -508,7 +508,7 @@ static struct irq_chip hpet_msi_controller __ro_after_init = {
.irq_set_affinity = msi_domain_set_affinity,
.irq_retrigger = irq_chip_retrigger_hierarchy,
.irq_write_msi_msg = hpet_msi_write_msg,
- .flags = IRQCHIP_SKIP_SET_WAKE,
+ .flags = IRQCHIP_SKIP_SET_WAKE | IRQCHIP_AFFINITY_PRE_STARTUP,
};
static int hpet_msi_init(struct irq_domain *domain,
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From ff363f480e5997051dd1de949121ffda3b753741 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx(a)linutronix.de>
Date: Thu, 29 Jul 2021 23:51:50 +0200
Subject: [PATCH] x86/msi: Force affinity setup before startup
The X86 MSI mechanism cannot handle interrupt affinity changes safely after
startup other than from an interrupt handler, unless interrupt remapping is
enabled. The startup sequence in the generic interrupt code violates that
assumption.
Mark the irq chips with the new IRQCHIP_AFFINITY_PRE_STARTUP flag so that
the default interrupt setting happens before the interrupt is started up
for the first time.
While the interrupt remapping MSI chip does not require this, there is no
point in treating it differently as this might spare an interrupt to a CPU
which is not in the default affinity mask.
For the non-remapping case go to the direct write path when the interrupt
is not yet started similar to the not yet activated case.
Fixes: 18404756765c ("genirq: Expose default irq affinity mask (take 3)")
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Tested-by: Marc Zyngier <maz(a)kernel.org>
Reviewed-by: Marc Zyngier <maz(a)kernel.org>
Cc: stable(a)vger.kernel.org
Link: https://lore.kernel.org/r/20210729222542.886722080@linutronix.de
diff --git a/arch/x86/kernel/apic/msi.c b/arch/x86/kernel/apic/msi.c
index 44ebe25e7703..dbacb9ec8843 100644
--- a/arch/x86/kernel/apic/msi.c
+++ b/arch/x86/kernel/apic/msi.c
@@ -58,11 +58,13 @@ msi_set_affinity(struct irq_data *irqd, const struct cpumask *mask, bool force)
* The quirk bit is not set in this case.
* - The new vector is the same as the old vector
* - The old vector is MANAGED_IRQ_SHUTDOWN_VECTOR (interrupt starts up)
+ * - The interrupt is not yet started up
* - The new destination CPU is the same as the old destination CPU
*/
if (!irqd_msi_nomask_quirk(irqd) ||
cfg->vector == old_cfg.vector ||
old_cfg.vector == MANAGED_IRQ_SHUTDOWN_VECTOR ||
+ !irqd_is_started(irqd) ||
cfg->dest_apicid == old_cfg.dest_apicid) {
irq_msi_update_msg(irqd, cfg);
return ret;
@@ -150,7 +152,8 @@ static struct irq_chip pci_msi_controller = {
.irq_ack = irq_chip_ack_parent,
.irq_retrigger = irq_chip_retrigger_hierarchy,
.irq_set_affinity = msi_set_affinity,
- .flags = IRQCHIP_SKIP_SET_WAKE,
+ .flags = IRQCHIP_SKIP_SET_WAKE |
+ IRQCHIP_AFFINITY_PRE_STARTUP,
};
int pci_msi_prepare(struct irq_domain *domain, struct device *dev, int nvec,
@@ -219,7 +222,8 @@ static struct irq_chip pci_msi_ir_controller = {
.irq_mask = pci_msi_mask_irq,
.irq_ack = irq_chip_ack_parent,
.irq_retrigger = irq_chip_retrigger_hierarchy,
- .flags = IRQCHIP_SKIP_SET_WAKE,
+ .flags = IRQCHIP_SKIP_SET_WAKE |
+ IRQCHIP_AFFINITY_PRE_STARTUP,
};
static struct msi_domain_info pci_msi_ir_domain_info = {
@@ -273,7 +277,8 @@ static struct irq_chip dmar_msi_controller = {
.irq_retrigger = irq_chip_retrigger_hierarchy,
.irq_compose_msi_msg = dmar_msi_compose_msg,
.irq_write_msi_msg = dmar_msi_write_msg,
- .flags = IRQCHIP_SKIP_SET_WAKE,
+ .flags = IRQCHIP_SKIP_SET_WAKE |
+ IRQCHIP_AFFINITY_PRE_STARTUP,
};
static int dmar_msi_init(struct irq_domain *domain,
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 08651a4e6aa0..42fc41dd0e1f 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -508,7 +508,7 @@ static struct irq_chip hpet_msi_controller __ro_after_init = {
.irq_set_affinity = msi_domain_set_affinity,
.irq_retrigger = irq_chip_retrigger_hierarchy,
.irq_write_msi_msg = hpet_msi_write_msg,
- .flags = IRQCHIP_SKIP_SET_WAKE,
+ .flags = IRQCHIP_SKIP_SET_WAKE | IRQCHIP_AFFINITY_PRE_STARTUP,
};
static int hpet_msi_init(struct irq_domain *domain,
This is the start of the stable review cycle for the 4.19.204 release.
There are 11 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Sun, 15 Aug 2021 15:05:12 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.19.204-r…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.19.204-rc1
YueHaibing <yuehaibing(a)huawei.com>
net: xilinx_emaclite: Do not print real IOMEM pointer
Miklos Szeredi <mszeredi(a)redhat.com>
ovl: prevent private clone if bind mount is not allowed
Pali Rohár <pali(a)kernel.org>
ppp: Fix generating ppp unit id when ifname is not specified
Longfang Liu <liulongfang(a)huawei.com>
USB:ehci:fix Kunpeng920 ehci hardware problem
Lai Jiangshan <laijs(a)linux.alibaba.com>
KVM: X86: MMU: Use the correct inherited permissions to get shadow page
Daniel Borkmann <daniel(a)iogearbox.net>
bpf, selftests: Adjust few selftest outcomes wrt unreachable code
Daniel Borkmann <daniel(a)iogearbox.net>
bpf: Fix leakage under speculation on mispredicted branches
Daniel Borkmann <daniel(a)iogearbox.net>
bpf: Do not mark insn as seen under speculative path verification
Daniel Borkmann <daniel(a)iogearbox.net>
bpf: Inherit expanded/patched seen count from old aux data
Masami Hiramatsu <mhiramat(a)kernel.org>
tracing: Reject string operand in the histogram expression
Sean Christopherson <seanjc(a)google.com>
KVM: SVM: Fix off-by-one indexing when nullifying last used SEV VMCB
-------------
Diffstat:
Documentation/virtual/kvm/mmu.txt | 4 +-
Makefile | 4 +-
arch/x86/kvm/paging_tmpl.h | 14 ++++--
arch/x86/kvm/svm.c | 2 +-
drivers/net/ethernet/xilinx/xilinx_emaclite.c | 5 +-
drivers/net/ppp/ppp_generic.c | 19 ++++++--
drivers/usb/host/ehci-pci.c | 3 ++
fs/namespace.c | 42 +++++++++++------
kernel/bpf/verifier.c | 68 +++++++++++++++++++++++----
kernel/trace/trace_events_hist.c | 14 ++++++
tools/testing/selftests/bpf/test_verifier.c | 2 +
11 files changed, 138 insertions(+), 39 deletions(-)
This is the start of the stable review cycle for the 5.4.141 release.
There are 27 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Sun, 15 Aug 2021 15:05:12 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.141-rc…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 5.4.141-rc1
Nikolay Borisov <nborisov(a)suse.com>
btrfs: don't flush from btrfs_delayed_inode_reserve_metadata
Nikolay Borisov <nborisov(a)suse.com>
btrfs: export and rename qgroup_reserve_meta
Qu Wenruo <wqu(a)suse.com>
btrfs: qgroup: don't commit transaction when we already hold the handle
YueHaibing <yuehaibing(a)huawei.com>
net: xilinx_emaclite: Do not print real IOMEM pointer
Filipe Manana <fdmanana(a)suse.com>
btrfs: fix lockdep splat when enabling and disabling qgroups
Qu Wenruo <wqu(a)suse.com>
btrfs: qgroup: remove ASYNC_COMMIT mechanism in favor of reserve retry-after-EDQUOT
Qu Wenruo <wqu(a)suse.com>
btrfs: transaction: Cleanup unused TRANS_STATE_BLOCKED
Qu Wenruo <wqu(a)suse.com>
btrfs: qgroup: try to flush qgroup space when we get -EDQUOT
Qu Wenruo <wqu(a)suse.com>
btrfs: qgroup: allow to unreserve range without releasing other ranges
Nikolay Borisov <nborisov(a)suse.com>
btrfs: make btrfs_qgroup_reserve_data take btrfs_inode
Nikolay Borisov <nborisov(a)suse.com>
btrfs: make qgroup_free_reserved_data take btrfs_inode
Miklos Szeredi <mszeredi(a)redhat.com>
ovl: prevent private clone if bind mount is not allowed
Pali Rohár <pali(a)kernel.org>
ppp: Fix generating ppp unit id when ifname is not specified
Luke D Jones <luke(a)ljones.dev>
ALSA: hda: Add quirk for ASUS Flow x13
Longfang Liu <liulongfang(a)huawei.com>
USB:ehci:fix Kunpeng920 ehci hardware problem
Lai Jiangshan <laijs(a)linux.alibaba.com>
KVM: X86: MMU: Use the correct inherited permissions to get shadow page
Wesley Cheng <wcheng(a)codeaurora.org>
usb: dwc3: gadget: Avoid runtime resume if disabling pullup
Wesley Cheng <wcheng(a)codeaurora.org>
usb: dwc3: gadget: Disable gadget IRQ during pullup disable
Wesley Cheng <wcheng(a)codeaurora.org>
usb: dwc3: gadget: Clear DEP flags after stop transfers in ep disable
Wesley Cheng <wcheng(a)codeaurora.org>
usb: dwc3: gadget: Prevent EP queuing while stopping transfers
Wesley Cheng <wcheng(a)codeaurora.org>
usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup
Wesley Cheng <wcheng(a)codeaurora.org>
usb: dwc3: gadget: Allow runtime suspend if UDC unbinded
Wesley Cheng <wcheng(a)codeaurora.org>
usb: dwc3: Stop active transfers before halting the controller
Masami Hiramatsu <mhiramat(a)kernel.org>
tracing: Reject string operand in the histogram expression
Alexandre Courbot <gnurou(a)gmail.com>
media: v4l2-mem2mem: always consider OUTPUT queue during poll
Sumit Garg <sumit.garg(a)linaro.org>
tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag
Sean Christopherson <seanjc(a)google.com>
KVM: SVM: Fix off-by-one indexing when nullifying last used SEV VMCB
-------------
Diffstat:
Documentation/virt/kvm/mmu.txt | 4 +-
Makefile | 4 +-
arch/x86/kvm/paging_tmpl.h | 14 +-
arch/x86/kvm/svm.c | 2 +-
drivers/media/v4l2-core/v4l2-mem2mem.c | 6 +-
drivers/net/ethernet/xilinx/xilinx_emaclite.c | 5 +-
drivers/net/ppp/ppp_generic.c | 19 +-
drivers/tee/optee/call.c | 2 +-
drivers/tee/optee/core.c | 3 +-
drivers/tee/optee/rpc.c | 5 +-
drivers/tee/optee/shm_pool.c | 8 +-
drivers/tee/tee_shm.c | 4 +-
drivers/usb/dwc3/ep0.c | 2 +-
drivers/usb/dwc3/gadget.c | 118 +++++++--
drivers/usb/host/ehci-pci.c | 3 +
fs/btrfs/ctree.h | 13 +-
fs/btrfs/delalloc-space.c | 2 +-
fs/btrfs/delayed-inode.c | 3 +-
fs/btrfs/disk-io.c | 4 +-
fs/btrfs/file.c | 7 +-
fs/btrfs/inode.c | 2 +-
fs/btrfs/qgroup.c | 328 +++++++++++++++++++-------
fs/btrfs/qgroup.h | 5 +-
fs/btrfs/transaction.c | 16 +-
fs/btrfs/transaction.h | 15 --
fs/namespace.c | 42 ++--
include/linux/tee_drv.h | 1 +
kernel/trace/trace_events_hist.c | 20 +-
sound/pci/hda/patch_realtek.c | 1 +
29 files changed, 468 insertions(+), 190 deletions(-)
This is the start of the stable review cycle for the 4.14.244 release.
There are 42 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Sun, 15 Aug 2021 15:05:12 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.14.244-r…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.14.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.14.244-rc1
YueHaibing <yuehaibing(a)huawei.com>
net: xilinx_emaclite: Do not print real IOMEM pointer
Miklos Szeredi <mszeredi(a)redhat.com>
ovl: prevent private clone if bind mount is not allowed
Pali Rohár <pali(a)kernel.org>
ppp: Fix generating ppp unit id when ifname is not specified
Longfang Liu <liulongfang(a)huawei.com>
USB:ehci:fix Kunpeng920 ehci hardware problem
Letu Ren <fantasquex(a)gmail.com>
net/qla3xxx: fix schedule while atomic in ql_wait_for_drvr_lock and ql_adapter_reset
Prarit Bhargava <prarit(a)redhat.com>
alpha: Send stop IPI to send to online CPUs
Shreyansh Chouhan <chouhan.shreyansh630(a)gmail.com>
reiserfs: check directory items on read from disk
Yu Kuai <yukuai3(a)huawei.com>
reiserfs: add check for root_inode in reiserfs_fill_super
Christoph Hellwig <hch(a)lst.de>
libata: fix ata_pio_sector for CONFIG_HIGHMEM
Reinhard Speyerer <rspmn(a)arcor.de>
qmi_wwan: add network device usage statistics for qmimux devices
Like Xu <likexu(a)tencent.com>
perf/x86/amd: Don't touch the AMD64_EVENTSEL_HOSTONLY bit inside the guest
Dongliang Mu <mudongliangabcd(a)gmail.com>
spi: meson-spicc: fix memory leak in meson_spicc_remove
Zheyu Ma <zheyuma97(a)gmail.com>
pcmcia: i82092: fix a null pointer dereference bug
Maciej W. Rozycki <macro(a)orcam.me.uk>
MIPS: Malta: Do not byte-swap accesses to the CBUS UART
Maciej W. Rozycki <macro(a)orcam.me.uk>
serial: 8250: Mask out floating 16/32-bit bus bits
Theodore Ts'o <tytso(a)mit.edu>
ext4: fix potential htree corruption when growing large_dir directories
Alex Xu (Hello71) <alex_y_xu(a)yahoo.ca>
pipe: increase minimum default pipe size to 2 pages
Johan Hovold <johan(a)kernel.org>
media: rtl28xxu: fix zero-length control request
Xiangyang Zhang <xyz.sun.ok(a)gmail.com>
staging: rtl8723bs: Fix a resource leak in sd_int_dpc
Hui Su <suhui(a)zeku.com>
scripts/tracing: fix the bug that can't parse raw_trace_func
Dmitry Osipenko <digetx(a)gmail.com>
usb: otg-fsm: Fix hrtimer list corruption
Maxim Devaev <mdevaev(a)gmail.com>
usb: gadget: f_hid: idle uses the highest byte for duration
Phil Elwell <phil(a)raspberrypi.com>
usb: gadget: f_hid: fixed NULL pointer dereference
Maxim Devaev <mdevaev(a)gmail.com>
usb: gadget: f_hid: added GET_IDLE and SET_IDLE handlers
David Bauer <mail(a)david-bauer.net>
USB: serial: ftdi_sio: add device ID for Auto-M3 OP-COM v2
Willy Tarreau <w(a)1wt.eu>
USB: serial: ch341: fix character loss at high transfer rates
Daniele Palmas <dnlplm(a)gmail.com>
USB: serial: option: add Telit FD980 composition 0x1056
Qiang.zhang <qiang.zhang(a)windriver.com>
USB: usbtmc: Fix RCU stall warning
Tetsuo Handa <penguin-kernel(a)i-love.sakura.ne.jp>
Bluetooth: defer cleanup of resources in hci_unregister_dev()
Pavel Skripkin <paskripkin(a)gmail.com>
net: vxge: fix use-after-free in vxge_device_unregister
Pavel Skripkin <paskripkin(a)gmail.com>
net: fec: fix use-after-free in fec_drv_remove
Pavel Skripkin <paskripkin(a)gmail.com>
net: pegasus: fix uninit-value in get_interrupt_interval
Dan Carpenter <dan.carpenter(a)oracle.com>
bnx2x: fix an error code in bnx2x_nic_load()
H. Nikolaus Schaller <hns(a)goldelico.com>
mips: Fix non-POSIX regexp
Fei Qin <fei.qin(a)corigine.com>
nfp: update ethtool reporting of pauseframe control
Wang Hai <wanghai38(a)huawei.com>
net: natsemi: Fix missing pci_disable_device() in probe and remove
Hans Verkuil <hverkuil-cisco(a)xs4all.nl>
media: videobuf2-core: dequeue if start_streaming fails
Li Manyi <limanyi(a)uniontech.com>
scsi: sr: Return correct event when media event code is 3
H. Nikolaus Schaller <hns(a)goldelico.com>
omap5-board-common: remove not physically existing vdds_1v8_main fixed-regulator
Dario Binacchi <dariobin(a)libero.it>
clk: stm32f4: fix post divisor setup for I2S/SAI PLLs
Takashi Iwai <tiwai(a)suse.de>
ALSA: seq: Fix racy deletion of subscriber
Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
Revert "ACPICA: Fix memory leak caused by _CID repair function"
-------------
Diffstat:
Makefile | 4 +-
arch/alpha/kernel/smp.c | 2 +-
arch/arm/boot/dts/omap5-board-common.dtsi | 9 +--
arch/mips/Makefile | 2 +-
arch/mips/mti-malta/malta-platform.c | 3 +-
arch/x86/events/perf_event.h | 3 +-
drivers/acpi/acpica/nsrepair2.c | 7 --
drivers/ata/libata-sff.c | 35 +++++++---
drivers/clk/clk-stm32f4.c | 10 +--
drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 11 +++-
drivers/media/v4l2-core/videobuf2-core.c | 13 +++-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 3 +-
drivers/net/ethernet/freescale/fec_main.c | 2 +-
drivers/net/ethernet/natsemi/natsemi.c | 8 +--
drivers/net/ethernet/neterion/vxge/vxge-main.c | 6 +-
.../net/ethernet/netronome/nfp/nfp_net_ethtool.c | 2 +
drivers/net/ethernet/qlogic/qla3xxx.c | 6 +-
drivers/net/ethernet/xilinx/xilinx_emaclite.c | 5 +-
drivers/net/ppp/ppp_generic.c | 19 ++++--
drivers/net/usb/pegasus.c | 14 +++-
drivers/net/usb/qmi_wwan.c | 76 ++++++++++++++++++++--
drivers/pcmcia/i82092.c | 1 +
drivers/scsi/sr.c | 2 +-
drivers/spi/spi-meson-spicc.c | 2 +
drivers/staging/rtl8723bs/hal/sdio_ops.c | 2 +
drivers/tty/serial/8250/8250_port.c | 12 +++-
drivers/usb/class/usbtmc.c | 8 +--
drivers/usb/common/usb-otg-fsm.c | 6 +-
drivers/usb/gadget/function/f_hid.c | 44 +++++++++++--
drivers/usb/host/ehci-pci.c | 3 +
drivers/usb/serial/ch341.c | 1 +
drivers/usb/serial/ftdi_sio.c | 1 +
drivers/usb/serial/ftdi_sio_ids.h | 3 +
drivers/usb/serial/option.c | 2 +
fs/ext4/namei.c | 2 +-
fs/namespace.c | 42 ++++++++----
fs/pipe.c | 19 +++++-
fs/reiserfs/stree.c | 31 +++++++--
fs/reiserfs/super.c | 8 +++
include/linux/usb/otg-fsm.h | 1 +
include/net/bluetooth/hci_core.h | 1 +
net/bluetooth/hci_core.c | 16 ++---
net/bluetooth/hci_sock.c | 49 +++++++++-----
net/bluetooth/hci_sysfs.c | 3 +
scripts/tracing/draw_functrace.py | 6 +-
sound/core/seq/seq_ports.c | 39 +++++++----
46 files changed, 400 insertions(+), 144 deletions(-)