2019-11-11 19:09:50

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 000/105] 4.14.154-stable review

This is the start of the stable review cycle for the 4.14.154 release.
There are 105 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 Wed, 13 Nov 2019 18:08:44 +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.154-rc1.gz
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 <[email protected]>
Linux 4.14.154-rc1

Tejun Heo <[email protected]>
cgroup,writeback: don't switch wbs immediately on dead wbs if the memcg is dead

Konstantin Khlebnikov <[email protected]>
mm/filemap.c: don't initiate writeback if mapping has no dirty pages

Joakim Zhang <[email protected]>
can: flexcan: disable completely the ECC mechanism

Jan Beulich <[email protected]>
x86/apic/32: Avoid bogus LDR warnings

Dou Liyang <[email protected]>
x86/apic: Drop logical_smp_processor_id() inline

Dou Liyang <[email protected]>
x86/apic: Move pending interrupt check code into it's own function

Wenwen Wang <[email protected]>
e1000: fix memory leaks

Manfred Rudigier <[email protected]>
igb: Fix constant media auto sense switching when no cable is connected

Chuhong Yuan <[email protected]>
net: ethernet: arc: add the missed clk_disable_unprepare

Trond Myklebust <[email protected]>
NFSv4: Don't allow a cached open with a revoked delegation

Haiyang Zhang <[email protected]>
hv_netvsc: Fix error handling in netvsc_attach()

Jiangfeng Xiao <[email protected]>
net: hisilicon: Fix "Trying to free already-free IRQ"

Will Deacon <[email protected]>
fjes: Handle workqueue allocation failure

Nicholas Piggin <[email protected]>
scsi: qla2xxx: stop timer in shutdown path

Potnuri Bharat Teja <[email protected]>
RDMA/iw_cxgb4: Avoid freeing skb twice in arp failure case

Johan Hovold <[email protected]>
USB: ldusb: use unsigned size format specifiers

Alan Stern <[email protected]>
USB: Skip endpoints with 0 maxpacket length

Kim Phillips <[email protected]>
perf/x86/amd/ibs: Handle erratum #420 only on the affected CPU family (10h)

Kim Phillips <[email protected]>
perf/x86/amd/ibs: Fix reading of the IBS OpData register and thus precise RIP validity

Yinbo Zhu <[email protected]>
usb: dwc3: remove the call trace of USBx_GFLADJ

Peter Chen <[email protected]>
usb: gadget: configfs: fix concurrent issue between composite APIs

Chandana Kishori Chiluveru <[email protected]>
usb: gadget: composite: Fix possible double free memory bug

Cristian Birsan <[email protected]>
usb: gadget: udc: atmel: Fix interrupt storm in FIFO mode.

Nikhil Badola <[email protected]>
usb: fsl: Check memory resource before releasing it

Taehee Yoo <[email protected]>
macsec: fix refcnt leak in module exit routine

Taehee Yoo <[email protected]>
bonding: fix unexpected IFF_BONDING bit unset

Eric Dumazet <[email protected]>
ipvs: move old_secure_tcp into struct netns_ipvs

Davide Caratti <[email protected]>
ipvs: don't ignore errors in case refcounting ip_vs module fails

Himanshu Madhani <[email protected]>
scsi: qla2xxx: Initialized mailbox to prevent driver load failure

Daniel Wagner <[email protected]>
scsi: lpfc: Honor module parameter lpfc_use_adisc

Hillf Danton <[email protected]>
net: openvswitch: free vport unless register_netdevice() succeeds

Dan Carpenter <[email protected]>
RDMA/uverbs: Prevent potential underflow

Hannes Reinecke <[email protected]>
scsi: qla2xxx: fixup incorrect usage of host_byte

Navid Emamdoost <[email protected]>
net/mlx5: prevent memory leak in mlx5_fpga_conn_create_cq

Kamal Heib <[email protected]>
RDMA/qedr: Fix reported firmware version

Zhang Lixu <[email protected]>
HID: intel-ish-hid: fix wrong error handling in ishtp_cl_alloc_tx_ring()

Radhey Shyam Pandey <[email protected]>
dmaengine: xilinx_dma: Fix control reg update in vdma_channel_set_config

Vidya Sagar <[email protected]>
PCI: tegra: Enable Relaxed Ordering only for Tegra20 & Tegra30

Suwan Kim <[email protected]>
usbip: Implement SG support to vhci-hcd and stub driver

Shuah Khan <[email protected]>
usbip: stub_rx: fix static checker warning on unnecessary checks

Shuah Khan <[email protected]>
usbip: Fix vhci_urb_enqueue() URB null transfer buffer error path

Bart Van Assche <[email protected]>
lib/scatterlist: Introduce sgl_alloc() and sgl_free()

Qian Cai <[email protected]>
sched/fair: Fix -Wunused-but-set-variable warnings

Dave Chiluk <[email protected]>
sched/fair: Fix low cpu usage with high throttling by removing expiration of cpu-local slices

Roger Quadros <[email protected]>
ARM: dts: dra7: Disable USB metastability workaround for USB2

Zumeng Chen <[email protected]>
cpufreq: ti-cpufreq: add missing of_node_put()

Claudio Foellmi <[email protected]>
i2c: omap: Trigger bus recovery in lockup case

Christophe Jaillet <[email protected]>
ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()'

Takashi Iwai <[email protected]>
ASoC: davinci: Kill BUG_ON() usage

Arvind Yadav <[email protected]>
ASoC: davinci-mcasp: Handle return value of devm_kasprintf

Gustavo A. R. Silva <[email protected]>
ASoC: tlv320dac31xx: mark expected switch fall-through

Sudeep Holla <[email protected]>
mailbox: reset txdone_method TXDONE_BY_POLL if client knows_txdone

Kishon Vijay Abraham I <[email protected]>
misc: pci_endpoint_test: Fix BUG_ON error during pci_disable_msi()

Keerthy <[email protected]>
PCI: dra7xx: Add shutdown handler to cleanly turn off clocks

Dan Carpenter <[email protected]>
misc: pci_endpoint_test: Prevent some integer overflows

Vignesh R <[email protected]>
mtd: spi-nor: cadence-quadspi: add a delay in write sequence

Roman Yeryomin <[email protected]>
mtd: spi-nor: enable 4B opcodes for mx66l51235l

Andrew F. Davis <[email protected]>
ASoC: tlv320aic31xx: Handle inverted BCLK in non-DSP modes

Keerthy <[email protected]>
mfd: palmas: Assign the right powerhold mask for tps65917

Roger Quadros <[email protected]>
usb: dwc3: Allow disabling of metastability workaround

Al Viro <[email protected]>
configfs: fix a deadlock in configfs_symlink()

Al Viro <[email protected]>
configfs: provide exclusion between IO and removals

Al Viro <[email protected]>
configfs: new object reprsenting tree fragments

Al Viro <[email protected]>
configfs_register_group() shouldn't be (and isn't) called in rmdirable parts

Al Viro <[email protected]>
configfs: stash the data we need into configfs_buffer at open time

Thomas Meyer <[email protected]>
configfs: Fix bool initialization/comparison

Johan Hovold <[email protected]>
can: peak_usb: fix slab info leak

Johan Hovold <[email protected]>
can: mcba_usb: fix use-after-free on disconnect

Navid Emamdoost <[email protected]>
can: gs_usb: gs_can_open(): prevent memory leak

Marc Kleine-Budde <[email protected]>
can: rx-offload: can_rx_offload_queue_sorted(): fix error handling, avoid skb mem leak

Stephane Grosjean <[email protected]>
can: peak_usb: fix a potential out-of-sync while decoding packets

Kurt Van Dijck <[email protected]>
can: c_can: c_can_poll(): only read status register after status IRQ

Johan Hovold <[email protected]>
can: usb_8dev: fix use-after-free on disconnect

Alexander Shishkin <[email protected]>
intel_th: pci: Add Jasper Lake PCH support

Alexander Shishkin <[email protected]>
intel_th: pci: Add Comet Lake PCH support

Dan Carpenter <[email protected]>
netfilter: ipset: Fix an error code in ip_set_sockfn_get()

Lukas Wunner <[email protected]>
netfilter: nf_tables: Align nft_expr private data to 64-bit

Andreas Klinger <[email protected]>
iio: srf04: fix wrong limitation in distance measuring

Alexandru Ardelean <[email protected]>
iio: imu: adis16480: make sure provided frequency is positive

Fabrice Gasnier <[email protected]>
iio: adc: stm32-adc: fix stopping dma

Al Viro <[email protected]>
ceph: add missing check in d_revalidate snapdir handling

Luis Henriques <[email protected]>
ceph: fix use-after-free in __ceph_remove_cap()

Catalin Marinas <[email protected]>
arm64: Do not mask out PTE_RDONLY in pte_same()

Jason Gerecke <[email protected]>
HID: wacom: generic: Treat serial number and related fields as unsigned

Alex Deucher <[email protected]>
drm/radeon: fix si_enable_smc_cac() failed issue

Jiri Olsa <[email protected]>
perf tools: Fix time sorting

Shuah Khan <[email protected]>
tools: gpio: Use !building_out_of_srctree to determine srctree

Kevin Hao <[email protected]>
dump_stack: avoid the livelock of the dump_lock

Michal Hocko <[email protected]>
mm, vmstat: hide /proc/pagetypeinfo from normal users

Yang Shi <[email protected]>
mm: thp: handle page cache THP correctly in PageTransCompoundMap

Mel Gorman <[email protected]>
mm, meminit: recalculate pcpu batch and high limits after init completes

Takashi Iwai <[email protected]>
ALSA: hda/ca0132 - Fix possible workqueue stall

Takashi Sakamoto <[email protected]>
ALSA: bebob: fix to detect configured source of sampling clock for Focusrite Saffire Pro i/o series

Takashi Iwai <[email protected]>
ALSA: timer: Fix incorrectly assigned timer instance

Manish Chopra <[email protected]>
qede: fix NULL pointer deref in __qede_remove()

Pan Bian <[email protected]>
NFC: st21nfca: fix double free

Pan Bian <[email protected]>
nfc: netlink: fix double device reference drop

Pan Bian <[email protected]>
NFC: fdp: fix incorrect free object

Aleksander Morgado <[email protected]>
net: usb: qmi_wwan: add support for DW5821e with eSIM support

Sean Tranchetti <[email protected]>
net: qualcomm: rmnet: Fix potential UAF when unregistering

Eric Dumazet <[email protected]>
net: fix data-race in neigh_event_send()

Alexander Sverdlin <[email protected]>
net: ethernet: octeon_mgmt: Account for second possible VLAN header

David Ahern <[email protected]>
ipv4: Fix table id reference in fib_sync_down_addr

Oliver Neukum <[email protected]>
CDC-NCM: handle incomplete transfer of MTU

Jay Vosburgh <[email protected]>
bonding: fix state transition issue in link monitoring


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

Diffstat:

Documentation/devicetree/bindings/usb/dwc3.txt | 2 +
Documentation/scheduler/sched-bwc.txt | 45 ++++
Makefile | 4 +-
arch/arm/boot/dts/dra7.dtsi | 1 +
arch/arm64/include/asm/pgtable.h | 17 --
arch/x86/events/amd/ibs.c | 8 +-
arch/x86/include/asm/smp.h | 10 -
arch/x86/kernel/apic/apic.c | 122 +++++----
drivers/cpufreq/ti-cpufreq.c | 1 +
drivers/dma/xilinx/xilinx_dma.c | 7 +
drivers/gpu/drm/radeon/si_dpm.c | 1 +
drivers/hid/intel-ish-hid/ishtp/client-buffers.c | 2 +-
drivers/hid/wacom.h | 15 ++
drivers/hid/wacom_wac.c | 10 +-
drivers/hwtracing/intel_th/pci.c | 10 +
drivers/i2c/busses/i2c-omap.c | 25 +-
drivers/iio/adc/stm32-adc.c | 4 +-
drivers/iio/imu/adis16480.c | 5 +-
drivers/iio/proximity/srf04.c | 29 +-
drivers/infiniband/core/uverbs.h | 2 +-
drivers/infiniband/hw/cxgb4/cm.c | 2 -
drivers/infiniband/hw/qedr/main.c | 2 +-
drivers/mailbox/mailbox.c | 4 +-
drivers/mailbox/pcc.c | 4 +-
drivers/mfd/palmas.c | 10 +-
drivers/misc/pci_endpoint_test.c | 17 ++
drivers/mtd/spi-nor/cadence-quadspi.c | 27 +-
drivers/mtd/spi-nor/spi-nor.c | 2 +-
drivers/net/bonding/bond_main.c | 47 ++--
drivers/net/can/c_can/c_can.c | 25 +-
drivers/net/can/c_can/c_can.h | 1 +
drivers/net/can/flexcan.c | 1 +
drivers/net/can/rx-offload.c | 6 +-
drivers/net/can/usb/gs_usb.c | 1 +
drivers/net/can/usb/mcba_usb.c | 3 +-
drivers/net/can/usb/peak_usb/pcan_usb.c | 17 +-
drivers/net/can/usb/peak_usb/pcan_usb_core.c | 2 +-
drivers/net/can/usb/usb_8dev.c | 3 +-
drivers/net/ethernet/arc/emac_rockchip.c | 3 +
drivers/net/ethernet/cavium/octeon/octeon_mgmt.c | 2 +-
drivers/net/ethernet/hisilicon/hip04_eth.c | 1 -
drivers/net/ethernet/intel/e1000/e1000_ethtool.c | 7 +-
drivers/net/ethernet/intel/igb/igb_main.c | 3 +-
.../net/ethernet/mellanox/mlx5/core/fpga/conn.c | 4 +-
drivers/net/ethernet/qlogic/qede/qede_main.c | 12 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 4 +-
drivers/net/fjes/fjes_main.c | 15 +-
drivers/net/hyperv/netvsc_drv.c | 9 +-
drivers/net/macsec.c | 4 -
drivers/net/usb/cdc_ncm.c | 6 +-
drivers/net/usb/qmi_wwan.c | 1 +
drivers/nfc/fdp/i2c.c | 2 +-
drivers/nfc/st21nfca/core.c | 1 +
drivers/pci/dwc/pci-dra7xx.c | 17 ++
drivers/pci/host/pci-tegra.c | 7 +-
drivers/scsi/lpfc/lpfc_nportdisc.c | 4 +-
drivers/scsi/qla2xxx/qla_bsg.c | 6 +-
drivers/scsi/qla2xxx/qla_mbx.c | 3 +-
drivers/scsi/qla2xxx/qla_os.c | 4 +
drivers/usb/core/config.c | 5 +
drivers/usb/dwc3/core.c | 6 +-
drivers/usb/dwc3/core.h | 3 +
drivers/usb/dwc3/gadget.c | 6 +-
drivers/usb/gadget/composite.c | 4 +
drivers/usb/gadget/configfs.c | 110 +++++++-
drivers/usb/gadget/udc/atmel_usba_udc.c | 6 +-
drivers/usb/gadget/udc/fsl_udc_core.c | 2 +-
drivers/usb/misc/ldusb.c | 7 +-
drivers/usb/usbip/Kconfig | 1 +
drivers/usb/usbip/stub.h | 7 +-
drivers/usb/usbip/stub_main.c | 57 ++--
drivers/usb/usbip/stub_rx.c | 213 ++++++++++-----
drivers/usb/usbip/stub_tx.c | 99 +++++--
drivers/usb/usbip/usbip_common.c | 59 +++--
drivers/usb/usbip/vhci_hcd.c | 16 +-
drivers/usb/usbip/vhci_rx.c | 3 +
drivers/usb/usbip/vhci_tx.c | 66 ++++-
fs/ceph/caps.c | 10 +-
fs/ceph/inode.c | 1 +
fs/configfs/configfs_internal.h | 15 +-
fs/configfs/dir.c | 137 +++++++---
fs/configfs/file.c | 294 ++++++++++-----------
fs/configfs/symlink.c | 33 ++-
fs/fs-writeback.c | 9 +-
fs/nfs/delegation.c | 10 +
fs/nfs/delegation.h | 1 +
fs/nfs/nfs4proc.c | 7 +-
include/linux/mfd/palmas.h | 3 +
include/linux/mm.h | 5 -
include/linux/mm_types.h | 5 +
include/linux/page-flags.h | 20 +-
include/linux/scatterlist.h | 10 +
include/net/bonding.h | 3 +-
include/net/ip_vs.h | 1 +
include/net/neighbour.h | 4 +-
include/net/netfilter/nf_tables.h | 3 +-
include/rdma/ib_verbs.h | 2 +-
kernel/sched/fair.c | 85 +-----
kernel/sched/sched.h | 4 -
lib/Kconfig | 4 +
lib/dump_stack.c | 7 +-
lib/scatterlist.c | 105 ++++++++
mm/filemap.c | 3 +-
mm/page_alloc.c | 10 +-
mm/vmstat.c | 2 +-
net/ipv4/fib_semantics.c | 2 +-
net/netfilter/ipset/ip_set_core.c | 8 +-
net/netfilter/ipvs/ip_vs_app.c | 12 +-
net/netfilter/ipvs/ip_vs_ctl.c | 29 +-
net/netfilter/ipvs/ip_vs_pe.c | 3 +-
net/netfilter/ipvs/ip_vs_sched.c | 3 +-
net/netfilter/ipvs/ip_vs_sync.c | 13 +-
net/nfc/netlink.c | 2 -
net/openvswitch/vport-internal_dev.c | 11 +-
sound/core/timer.c | 6 +-
sound/firewire/bebob/bebob_focusrite.c | 3 +
sound/pci/hda/patch_ca0132.c | 2 +-
sound/soc/codecs/tlv320aic31xx.c | 30 ++-
sound/soc/davinci/davinci-mcasp.c | 21 +-
tools/gpio/Makefile | 6 +-
tools/perf/util/hist.c | 2 +-
121 files changed, 1532 insertions(+), 693 deletions(-)



2019-11-11 19:10:04

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 070/105] HID: intel-ish-hid: fix wrong error handling in ishtp_cl_alloc_tx_ring()

From: Zhang Lixu <[email protected]>

[ Upstream commit 16ff7bf6dbcc6f77d2eec1ac9120edf44213c2f1 ]

When allocating tx ring buffers failed, should free tx buffers, not rx buffers.

Signed-off-by: Zhang Lixu <[email protected]>
Acked-by: Srinivas Pandruvada <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/hid/intel-ish-hid/ishtp/client-buffers.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hid/intel-ish-hid/ishtp/client-buffers.c b/drivers/hid/intel-ish-hid/ishtp/client-buffers.c
index b9b917d2d50db..c41dbb167c91b 100644
--- a/drivers/hid/intel-ish-hid/ishtp/client-buffers.c
+++ b/drivers/hid/intel-ish-hid/ishtp/client-buffers.c
@@ -90,7 +90,7 @@ int ishtp_cl_alloc_tx_ring(struct ishtp_cl *cl)
return 0;
out:
dev_err(&cl->device->dev, "error in allocating Tx pool\n");
- ishtp_cl_free_rx_ring(cl);
+ ishtp_cl_free_tx_ring(cl);
return -ENOMEM;
}

--
2.20.1



2019-11-11 19:10:08

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 065/105] usbip: Fix vhci_urb_enqueue() URB null transfer buffer error path

From: Shuah Khan <[email protected]>

commit 2c904963b1dd2acd4bc785b6c72e10a6283c2081 upstream.

Fix vhci_urb_enqueue() to print debug msg and return error instead of
failing with BUG_ON.

Signed-off-by: Shuah Khan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/usbip/vhci_hcd.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

--- a/drivers/usb/usbip/vhci_hcd.c
+++ b/drivers/usb/usbip/vhci_hcd.c
@@ -716,8 +716,10 @@ static int vhci_urb_enqueue(struct usb_h
}
vdev = &vhci_hcd->vdev[portnum-1];

- /* patch to usb_sg_init() is in 2.5.60 */
- BUG_ON(!urb->transfer_buffer && urb->transfer_buffer_length);
+ if (!urb->transfer_buffer && urb->transfer_buffer_length) {
+ dev_dbg(dev, "Null URB transfer buffer\n");
+ return -EINVAL;
+ }

spin_lock_irqsave(&vhci->lock, flags);



2019-11-11 19:10:14

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 042/105] configfs_register_group() shouldnt be (and isnt) called in rmdirable parts

From: Al Viro <[email protected]>

commit f19e4ed1e1edbfa3c9ccb9fed17759b7d6db24c6 upstream.

revert cc57c07343bd "configfs: fix registered group removal"
It was an attempt to handle something that fundamentally doesn't
work - configfs_register_group() should never be done in a part
of tree that can be rmdir'ed. And in mainline it never had been,
so let's not borrow trouble; the fix was racy anyway, it would take
a lot more to make that work and desired semantics is not clear.

Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Christoph Hellwig <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
fs/configfs/dir.c | 11 -----------
1 file changed, 11 deletions(-)

--- a/fs/configfs/dir.c
+++ b/fs/configfs/dir.c
@@ -1782,16 +1782,6 @@ void configfs_unregister_group(struct co
struct dentry *dentry = group->cg_item.ci_dentry;
struct dentry *parent = group->cg_item.ci_parent->ci_dentry;

- mutex_lock(&subsys->su_mutex);
- if (!group->cg_item.ci_parent->ci_group) {
- /*
- * The parent has already been unlinked and detached
- * due to a rmdir.
- */
- goto unlink_group;
- }
- mutex_unlock(&subsys->su_mutex);
-
inode_lock_nested(d_inode(parent), I_MUTEX_PARENT);
spin_lock(&configfs_dirent_lock);
configfs_detach_prep(dentry, NULL);
@@ -1806,7 +1796,6 @@ void configfs_unregister_group(struct co
dput(dentry);

mutex_lock(&subsys->su_mutex);
-unlink_group:
unlink_group(group);
mutex_unlock(&subsys->su_mutex);
}


2019-11-11 19:10:16

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 064/105] lib/scatterlist: Introduce sgl_alloc() and sgl_free()

From: Bart Van Assche <[email protected]>

commit e80a0af4759a164214f02da157a3800753ce135f upstream.

Many kernel drivers contain code that allocates and frees both a
scatterlist and the pages that populate that scatterlist.
Introduce functions in lib/scatterlist.c that perform these tasks
instead of duplicating this functionality in multiple drivers.
Only include these functions in the build if CONFIG_SGL_ALLOC=y
to avoid that the kernel size increases if this functionality is
not used.

Signed-off-by: Bart Van Assche <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
include/linux/scatterlist.h | 10 ++++
lib/Kconfig | 4 +
lib/scatterlist.c | 105 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 119 insertions(+)

--- a/include/linux/scatterlist.h
+++ b/include/linux/scatterlist.h
@@ -267,6 +267,16 @@ int sg_alloc_table_from_pages(struct sg_
unsigned long offset, unsigned long size,
gfp_t gfp_mask);

+#ifdef CONFIG_SGL_ALLOC
+struct scatterlist *sgl_alloc_order(unsigned long long length,
+ unsigned int order, bool chainable,
+ gfp_t gfp, unsigned int *nent_p);
+struct scatterlist *sgl_alloc(unsigned long long length, gfp_t gfp,
+ unsigned int *nent_p);
+void sgl_free_order(struct scatterlist *sgl, int order);
+void sgl_free(struct scatterlist *sgl);
+#endif /* CONFIG_SGL_ALLOC */
+
size_t sg_copy_buffer(struct scatterlist *sgl, unsigned int nents, void *buf,
size_t buflen, off_t skip, bool to_buffer);

--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -413,6 +413,10 @@ config HAS_DMA
depends on !NO_DMA
default y

+config SGL_ALLOC
+ bool
+ default n
+
config DMA_NOOP_OPS
bool
depends on HAS_DMA && (!64BIT || ARCH_DMA_ADDR_T_64BIT)
--- a/lib/scatterlist.c
+++ b/lib/scatterlist.c
@@ -433,6 +433,111 @@ int sg_alloc_table_from_pages(struct sg_
}
EXPORT_SYMBOL(sg_alloc_table_from_pages);

+#ifdef CONFIG_SGL_ALLOC
+
+/**
+ * sgl_alloc_order - allocate a scatterlist and its pages
+ * @length: Length in bytes of the scatterlist. Must be at least one
+ * @order: Second argument for alloc_pages()
+ * @chainable: Whether or not to allocate an extra element in the scatterlist
+ * for scatterlist chaining purposes
+ * @gfp: Memory allocation flags
+ * @nent_p: [out] Number of entries in the scatterlist that have pages
+ *
+ * Returns: A pointer to an initialized scatterlist or %NULL upon failure.
+ */
+struct scatterlist *sgl_alloc_order(unsigned long long length,
+ unsigned int order, bool chainable,
+ gfp_t gfp, unsigned int *nent_p)
+{
+ struct scatterlist *sgl, *sg;
+ struct page *page;
+ unsigned int nent, nalloc;
+ u32 elem_len;
+
+ nent = round_up(length, PAGE_SIZE << order) >> (PAGE_SHIFT + order);
+ /* Check for integer overflow */
+ if (length > (nent << (PAGE_SHIFT + order)))
+ return NULL;
+ nalloc = nent;
+ if (chainable) {
+ /* Check for integer overflow */
+ if (nalloc + 1 < nalloc)
+ return NULL;
+ nalloc++;
+ }
+ sgl = kmalloc_array(nalloc, sizeof(struct scatterlist),
+ (gfp & ~GFP_DMA) | __GFP_ZERO);
+ if (!sgl)
+ return NULL;
+
+ sg_init_table(sgl, nent);
+ sg = sgl;
+ while (length) {
+ elem_len = min_t(u64, length, PAGE_SIZE << order);
+ page = alloc_pages(gfp, order);
+ if (!page) {
+ sgl_free(sgl);
+ return NULL;
+ }
+
+ sg_set_page(sg, page, elem_len, 0);
+ length -= elem_len;
+ sg = sg_next(sg);
+ }
+ WARN_ON_ONCE(sg);
+ if (nent_p)
+ *nent_p = nent;
+ return sgl;
+}
+EXPORT_SYMBOL(sgl_alloc_order);
+
+/**
+ * sgl_alloc - allocate a scatterlist and its pages
+ * @length: Length in bytes of the scatterlist
+ * @gfp: Memory allocation flags
+ * @nent_p: [out] Number of entries in the scatterlist
+ *
+ * Returns: A pointer to an initialized scatterlist or %NULL upon failure.
+ */
+struct scatterlist *sgl_alloc(unsigned long long length, gfp_t gfp,
+ unsigned int *nent_p)
+{
+ return sgl_alloc_order(length, 0, false, gfp, nent_p);
+}
+EXPORT_SYMBOL(sgl_alloc);
+
+/**
+ * sgl_free_order - free a scatterlist and its pages
+ * @sgl: Scatterlist with one or more elements
+ * @order: Second argument for __free_pages()
+ */
+void sgl_free_order(struct scatterlist *sgl, int order)
+{
+ struct scatterlist *sg;
+ struct page *page;
+
+ for (sg = sgl; sg; sg = sg_next(sg)) {
+ page = sg_page(sg);
+ if (page)
+ __free_pages(page, order);
+ }
+ kfree(sgl);
+}
+EXPORT_SYMBOL(sgl_free_order);
+
+/**
+ * sgl_free - free a scatterlist and its pages
+ * @sgl: Scatterlist with one or more elements
+ */
+void sgl_free(struct scatterlist *sgl)
+{
+ sgl_free_order(sgl, 0);
+}
+EXPORT_SYMBOL(sgl_free);
+
+#endif /* CONFIG_SGL_ALLOC */
+
void __sg_page_iter_start(struct sg_page_iter *piter,
struct scatterlist *sglist, unsigned int nents,
unsigned long pgoffset)


2019-11-11 19:10:23

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 066/105] usbip: stub_rx: fix static checker warning on unnecessary checks

From: Shuah Khan <[email protected]>

commit 10c90120930628e8b959bf58d4a0aaef3ae5d945 upstream.

Fix the following static checker warnings:

The patch c6688ef9f297: "usbip: fix stub_rx: harden CMD_SUBMIT path
to handle malicious input" from Dec 7, 2017, leads to the following
static checker warning:

drivers/usb/usbip/stub_rx.c:346 get_pipe()
warn: impossible condition
'(pdu->u.cmd_submit.transfer_buffer_length > ((~0 >> 1))) =>
(s32min-s32max > s32max)'
drivers/usb/usbip/stub_rx.c:486 stub_recv_cmd_submit()
warn: always true condition
'(pdu->u.cmd_submit.transfer_buffer_length <= ((~0 >> 1))) =>
(s32min-s32max <= s32max)'

Reported-by: Dan Carpenter <[email protected]>
Signed-off-by: Shuah Khan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/usbip/stub_rx.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)

--- a/drivers/usb/usbip/stub_rx.c
+++ b/drivers/usb/usbip/stub_rx.c
@@ -353,14 +353,6 @@ static int get_pipe(struct stub_device *

epd = &ep->desc;

- /* validate transfer_buffer_length */
- if (pdu->u.cmd_submit.transfer_buffer_length > INT_MAX) {
- dev_err(&sdev->udev->dev,
- "CMD_SUBMIT: -EMSGSIZE transfer_buffer_length %d\n",
- pdu->u.cmd_submit.transfer_buffer_length);
- return -1;
- }
-
if (usb_endpoint_xfer_control(epd)) {
if (dir == USBIP_DIR_OUT)
return usb_sndctrlpipe(udev, epnum);
@@ -487,8 +479,7 @@ static void stub_recv_cmd_submit(struct
}

/* allocate urb transfer buffer, if needed */
- if (pdu->u.cmd_submit.transfer_buffer_length > 0 &&
- pdu->u.cmd_submit.transfer_buffer_length <= INT_MAX) {
+ if (pdu->u.cmd_submit.transfer_buffer_length > 0) {
priv->urb->transfer_buffer =
kzalloc(pdu->u.cmd_submit.transfer_buffer_length,
GFP_KERNEL);


2019-11-11 19:10:35

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 056/105] ASoC: davinci-mcasp: Handle return value of devm_kasprintf

From: Arvind Yadav <[email protected]>

commit 0c8b794c4a10aaf7ac0d4a49be2b2638e2038adb upstream

devm_kasprintf() can fail here and we must check its return value.

Signed-off-by: Arvind Yadav <[email protected]>
Acked-by: Peter Ujfalusi <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Mathieu Poirier <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
sound/soc/davinci/davinci-mcasp.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -1894,6 +1894,10 @@ static int davinci_mcasp_probe(struct pl
if (irq >= 0) {
irq_name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s_common",
dev_name(&pdev->dev));
+ if (!irq_name) {
+ ret = -ENOMEM;
+ goto err;
+ }
ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
davinci_mcasp_common_irq_handler,
IRQF_ONESHOT | IRQF_SHARED,
@@ -1911,6 +1915,10 @@ static int davinci_mcasp_probe(struct pl
if (irq >= 0) {
irq_name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s_rx",
dev_name(&pdev->dev));
+ if (!irq_name) {
+ ret = -ENOMEM;
+ goto err;
+ }
ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
davinci_mcasp_rx_irq_handler,
IRQF_ONESHOT, irq_name, mcasp);
@@ -1926,6 +1934,10 @@ static int davinci_mcasp_probe(struct pl
if (irq >= 0) {
irq_name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s_tx",
dev_name(&pdev->dev));
+ if (!irq_name) {
+ ret = -ENOMEM;
+ goto err;
+ }
ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
davinci_mcasp_tx_irq_handler,
IRQF_ONESHOT, irq_name, mcasp);


2019-11-11 19:10:53

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 051/105] misc: pci_endpoint_test: Prevent some integer overflows

From: Dan Carpenter <[email protected]>

commit 378f79cab12b669928f3a4037f023837ead2ce0c upstream

"size + max" can have an arithmetic overflow when we're allocating:

orig_src_addr = dma_alloc_coherent(dev, size + alignment, ...

I've added a few checks to prevent that.

Fixes: 13107c60681f ("misc: pci_endpoint_test: Add support to provide aligned buffer addresses")
Signed-off-by: Dan Carpenter <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Mathieu Poirier <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/misc/pci_endpoint_test.c | 9 +++++++++
1 file changed, 9 insertions(+)

--- a/drivers/misc/pci_endpoint_test.c
+++ b/drivers/misc/pci_endpoint_test.c
@@ -226,6 +226,9 @@ static bool pci_endpoint_test_copy(struc
u32 src_crc32;
u32 dst_crc32;

+ if (size > SIZE_MAX - alignment)
+ goto err;
+
orig_src_addr = dma_alloc_coherent(dev, size + alignment,
&orig_src_phys_addr, GFP_KERNEL);
if (!orig_src_addr) {
@@ -311,6 +314,9 @@ static bool pci_endpoint_test_write(stru
size_t alignment = test->alignment;
u32 crc32;

+ if (size > SIZE_MAX - alignment)
+ goto err;
+
orig_addr = dma_alloc_coherent(dev, size + alignment, &orig_phys_addr,
GFP_KERNEL);
if (!orig_addr) {
@@ -369,6 +375,9 @@ static bool pci_endpoint_test_read(struc
size_t alignment = test->alignment;
u32 crc32;

+ if (size > SIZE_MAX - alignment)
+ goto err;
+
orig_addr = dma_alloc_coherent(dev, size + alignment, &orig_phys_addr,
GFP_KERNEL);
if (!orig_addr) {


2019-11-11 19:11:12

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 030/105] netfilter: ipset: Fix an error code in ip_set_sockfn_get()

From: Dan Carpenter <[email protected]>

commit 30b7244d79651460ff114ba8f7987ed94c86b99a upstream.

The copy_to_user() function returns the number of bytes remaining to be
copied. In this code, that positive return is checked at the end of the
function and we return zero/success. What we should do instead is
return -EFAULT.

Fixes: a7b4f989a629 ("netfilter: ipset: IP set core support")
Signed-off-by: Dan Carpenter <[email protected]>
Signed-off-by: Jozsef Kadlecsik <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
net/netfilter/ipset/ip_set_core.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

--- a/net/netfilter/ipset/ip_set_core.c
+++ b/net/netfilter/ipset/ip_set_core.c
@@ -1950,8 +1950,9 @@ ip_set_sockfn_get(struct sock *sk, int o
}

req_version->version = IPSET_PROTOCOL;
- ret = copy_to_user(user, req_version,
- sizeof(struct ip_set_req_version));
+ if (copy_to_user(user, req_version,
+ sizeof(struct ip_set_req_version)))
+ ret = -EFAULT;
goto done;
}
case IP_SET_OP_GET_BYNAME: {
@@ -2008,7 +2009,8 @@ ip_set_sockfn_get(struct sock *sk, int o
} /* end of switch(op) */

copy:
- ret = copy_to_user(user, data, copylen);
+ if (copy_to_user(user, data, copylen))
+ ret = -EFAULT;

done:
vfree(data);


2019-11-11 19:11:23

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 026/105] iio: adc: stm32-adc: fix stopping dma

From: Fabrice Gasnier <[email protected]>

commit e6afcf6c598d6f3a0c9c408bfeddb3f5730608b0 upstream.

There maybe a race when using dmaengine_terminate_all(). The predisable
routine may call iio_triggered_buffer_predisable() prior to a pending DMA
callback.
Adopt dmaengine_terminate_sync() to ensure there's no pending DMA request
before calling iio_triggered_buffer_predisable().

Fixes: 2763ea0585c9 ("iio: adc: stm32: add optional dma support")

Signed-off-by: Fabrice Gasnier <[email protected]>
Cc: <[email protected]>
Signed-off-by: Jonathan Cameron <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/iio/adc/stm32-adc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/iio/adc/stm32-adc.c
+++ b/drivers/iio/adc/stm32-adc.c
@@ -1343,7 +1343,7 @@ static int stm32_adc_dma_start(struct ii
cookie = dmaengine_submit(desc);
ret = dma_submit_error(cookie);
if (ret) {
- dmaengine_terminate_all(adc->dma_chan);
+ dmaengine_terminate_sync(adc->dma_chan);
return ret;
}

@@ -1416,7 +1416,7 @@ static int stm32_adc_buffer_predisable(s
dev_err(&indio_dev->dev, "predisable failed\n");

if (adc->dma_chan)
- dmaengine_terminate_all(adc->dma_chan);
+ dmaengine_terminate_sync(adc->dma_chan);

if (stm32_adc_set_trig(indio_dev, NULL))
dev_err(&indio_dev->dev, "Can't clear trigger\n");


2019-11-11 19:11:31

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 020/105] perf tools: Fix time sorting

From: Jiri Olsa <[email protected]>

commit 722ddfde366fd46205456a9c5ff9b3359dc9a75e upstream.

The final sort might get confused when the comparison is done over
bigger numbers than int like for -s time.

Check the following report for longer workloads:

$ perf report -s time -F time,overhead --stdio

Fix hist_entry__sort() to properly return int64_t and not possible cut
int.

Fixes: 043ca389a318 ("perf tools: Use hpp formats to sort final output")
Signed-off-by: Jiri Olsa <[email protected]>
Reviewed-by: Andi Kleen <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Michael Petlan <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected] # v3.16+
Link: http://lore.kernel.org/lkml/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
tools/perf/util/hist.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/tools/perf/util/hist.c
+++ b/tools/perf/util/hist.c
@@ -1504,7 +1504,7 @@ int hists__collapse_resort(struct hists
return 0;
}

-static int hist_entry__sort(struct hist_entry *a, struct hist_entry *b)
+static int64_t hist_entry__sort(struct hist_entry *a, struct hist_entry *b)
{
struct hists *hists = a->hists;
struct perf_hpp_fmt *fmt;


2019-11-11 19:11:34

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 019/105] tools: gpio: Use !building_out_of_srctree to determine srctree

From: Shuah Khan <[email protected]>

commit 4a6a6f5c4aeedb72db871d60bfcca89835f317aa upstream.

make TARGETS=gpio kselftest fails with:

Makefile:23: tools/build/Makefile.include: No such file or directory

When the gpio tool make is invoked from tools Makefile, srctree is
cleared and the current logic check for srctree equals to empty
string to determine srctree location from CURDIR.

When the build in invoked from selftests/gpio Makefile, the srctree
is set to "." and the same logic used for srctree equals to empty is
needed to determine srctree.

Check building_out_of_srctree undefined as the condition for both
cases to fix "make TARGETS=gpio kselftest" build failure.

Cc: [email protected]
Signed-off-by: Shuah Khan <[email protected]>
Signed-off-by: Bartosz Golaszewski <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
tools/gpio/Makefile | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

--- a/tools/gpio/Makefile
+++ b/tools/gpio/Makefile
@@ -3,7 +3,11 @@ include ../scripts/Makefile.include

bindir ?= /usr/bin

-ifeq ($(srctree),)
+# This will work when gpio is built in tools env. where srctree
+# isn't set and when invoked from selftests build, where srctree
+# is set to ".". building_out_of_srctree is undefined for in srctree
+# builds
+ifndef building_out_of_srctree
srctree := $(patsubst %/,%,$(dir $(CURDIR)))
srctree := $(patsubst %/,%,$(dir $(srctree)))
endif


2019-11-11 19:11:41

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 014/105] ALSA: hda/ca0132 - Fix possible workqueue stall

From: Takashi Iwai <[email protected]>

commit 15c2b3cc09a31620914955cb2a89c277c18ee999 upstream.

The unsolicited event handler for the headphone jack on CA0132 codec
driver tries to reschedule the another delayed work with
cancel_delayed_work_sync(). It's no good idea, unfortunately,
especially after we changed the work queue to the standard global
one; this may lead to a stall because both works are using the same
global queue.

Fix it by dropping the _sync but does call cancel_delayed_work()
instead.

Fixes: 993884f6a26c ("ALSA: hda/ca0132 - Delay HP amp turnon.")
BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1155836
Cc: <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
sound/pci/hda/patch_ca0132.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -4440,7 +4440,7 @@ static void hp_callback(struct hda_codec
/* Delay enabling the HP amp, to let the mic-detection
* state machine run.
*/
- cancel_delayed_work_sync(&spec->unsol_hp_work);
+ cancel_delayed_work(&spec->unsol_hp_work);
schedule_delayed_work(&spec->unsol_hp_work, msecs_to_jiffies(500));
tbl = snd_hda_jack_tbl_get(codec, cb->nid);
if (tbl)


2019-11-11 19:11:50

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 075/105] net: openvswitch: free vport unless register_netdevice() succeeds

From: Hillf Danton <[email protected]>

[ Upstream commit 9464cc37f3671ee69cb1c00662b5e1f113a96b23 ]

syzbot found the following crash on:

HEAD commit: 1e78030e Merge tag 'mmc-v5.3-rc1' of git://git.kernel.org/..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=148d3d1a600000
kernel config: https://syzkaller.appspot.com/x/.config?x=30cef20daf3e9977
dashboard link: https://syzkaller.appspot.com/bug?extid=13210896153522fe1ee5
compiler: gcc (GCC) 9.0.0 20181231 (experimental)
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=136aa8c4600000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=109ba792600000

=====================================================================
BUG: memory leak
unreferenced object 0xffff8881207e4100 (size 128):
comm "syz-executor032", pid 7014, jiffies 4294944027 (age 13.830s)
hex dump (first 32 bytes):
00 70 16 18 81 88 ff ff 80 af 8c 22 81 88 ff ff .p........."....
00 b6 23 17 81 88 ff ff 00 00 00 00 00 00 00 00 ..#.............
backtrace:
[<000000000eb78212>] kmemleak_alloc_recursive include/linux/kmemleak.h:43 [inline]
[<000000000eb78212>] slab_post_alloc_hook mm/slab.h:522 [inline]
[<000000000eb78212>] slab_alloc mm/slab.c:3319 [inline]
[<000000000eb78212>] kmem_cache_alloc_trace+0x145/0x2c0 mm/slab.c:3548
[<00000000006ea6c6>] kmalloc include/linux/slab.h:552 [inline]
[<00000000006ea6c6>] kzalloc include/linux/slab.h:748 [inline]
[<00000000006ea6c6>] ovs_vport_alloc+0x37/0xf0 net/openvswitch/vport.c:130
[<00000000f9a04a7d>] internal_dev_create+0x24/0x1d0 net/openvswitch/vport-internal_dev.c:164
[<0000000056ee7c13>] ovs_vport_add+0x81/0x190 net/openvswitch/vport.c:199
[<000000005434efc7>] new_vport+0x19/0x80 net/openvswitch/datapath.c:194
[<00000000b7b253f1>] ovs_dp_cmd_new+0x22f/0x410 net/openvswitch/datapath.c:1614
[<00000000e0988518>] genl_family_rcv_msg+0x2ab/0x5b0 net/netlink/genetlink.c:629
[<00000000d0cc9347>] genl_rcv_msg+0x54/0x9c net/netlink/genetlink.c:654
[<000000006694b647>] netlink_rcv_skb+0x61/0x170 net/netlink/af_netlink.c:2477
[<0000000088381f37>] genl_rcv+0x29/0x40 net/netlink/genetlink.c:665
[<00000000dad42a47>] netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline]
[<00000000dad42a47>] netlink_unicast+0x1ec/0x2d0 net/netlink/af_netlink.c:1328
[<0000000067e6b079>] netlink_sendmsg+0x270/0x480 net/netlink/af_netlink.c:1917
[<00000000aab08a47>] sock_sendmsg_nosec net/socket.c:637 [inline]
[<00000000aab08a47>] sock_sendmsg+0x54/0x70 net/socket.c:657
[<000000004cb7c11d>] ___sys_sendmsg+0x393/0x3c0 net/socket.c:2311
[<00000000c4901c63>] __sys_sendmsg+0x80/0xf0 net/socket.c:2356
[<00000000c10abb2d>] __do_sys_sendmsg net/socket.c:2365 [inline]
[<00000000c10abb2d>] __se_sys_sendmsg net/socket.c:2363 [inline]
[<00000000c10abb2d>] __x64_sys_sendmsg+0x23/0x30 net/socket.c:2363

BUG: memory leak
unreferenced object 0xffff88811723b600 (size 64):
comm "syz-executor032", pid 7014, jiffies 4294944027 (age 13.830s)
hex dump (first 32 bytes):
01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 02 00 00 00 05 35 82 c1 .............5..
backtrace:
[<00000000352f46d8>] kmemleak_alloc_recursive include/linux/kmemleak.h:43 [inline]
[<00000000352f46d8>] slab_post_alloc_hook mm/slab.h:522 [inline]
[<00000000352f46d8>] slab_alloc mm/slab.c:3319 [inline]
[<00000000352f46d8>] __do_kmalloc mm/slab.c:3653 [inline]
[<00000000352f46d8>] __kmalloc+0x169/0x300 mm/slab.c:3664
[<000000008e48f3d1>] kmalloc include/linux/slab.h:557 [inline]
[<000000008e48f3d1>] ovs_vport_set_upcall_portids+0x54/0xd0 net/openvswitch/vport.c:343
[<00000000541e4f4a>] ovs_vport_alloc+0x7f/0xf0 net/openvswitch/vport.c:139
[<00000000f9a04a7d>] internal_dev_create+0x24/0x1d0 net/openvswitch/vport-internal_dev.c:164
[<0000000056ee7c13>] ovs_vport_add+0x81/0x190 net/openvswitch/vport.c:199
[<000000005434efc7>] new_vport+0x19/0x80 net/openvswitch/datapath.c:194
[<00000000b7b253f1>] ovs_dp_cmd_new+0x22f/0x410 net/openvswitch/datapath.c:1614
[<00000000e0988518>] genl_family_rcv_msg+0x2ab/0x5b0 net/netlink/genetlink.c:629
[<00000000d0cc9347>] genl_rcv_msg+0x54/0x9c net/netlink/genetlink.c:654
[<000000006694b647>] netlink_rcv_skb+0x61/0x170 net/netlink/af_netlink.c:2477
[<0000000088381f37>] genl_rcv+0x29/0x40 net/netlink/genetlink.c:665
[<00000000dad42a47>] netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline]
[<00000000dad42a47>] netlink_unicast+0x1ec/0x2d0 net/netlink/af_netlink.c:1328
[<0000000067e6b079>] netlink_sendmsg+0x270/0x480 net/netlink/af_netlink.c:1917
[<00000000aab08a47>] sock_sendmsg_nosec net/socket.c:637 [inline]
[<00000000aab08a47>] sock_sendmsg+0x54/0x70 net/socket.c:657
[<000000004cb7c11d>] ___sys_sendmsg+0x393/0x3c0 net/socket.c:2311
[<00000000c4901c63>] __sys_sendmsg+0x80/0xf0 net/socket.c:2356

BUG: memory leak
unreferenced object 0xffff8881228ca500 (size 128):
comm "syz-executor032", pid 7015, jiffies 4294944622 (age 7.880s)
hex dump (first 32 bytes):
00 f0 27 18 81 88 ff ff 80 ac 8c 22 81 88 ff ff ..'........"....
40 b7 23 17 81 88 ff ff 00 00 00 00 00 00 00 00 @.#.............
backtrace:
[<000000000eb78212>] kmemleak_alloc_recursive include/linux/kmemleak.h:43 [inline]
[<000000000eb78212>] slab_post_alloc_hook mm/slab.h:522 [inline]
[<000000000eb78212>] slab_alloc mm/slab.c:3319 [inline]
[<000000000eb78212>] kmem_cache_alloc_trace+0x145/0x2c0 mm/slab.c:3548
[<00000000006ea6c6>] kmalloc include/linux/slab.h:552 [inline]
[<00000000006ea6c6>] kzalloc include/linux/slab.h:748 [inline]
[<00000000006ea6c6>] ovs_vport_alloc+0x37/0xf0 net/openvswitch/vport.c:130
[<00000000f9a04a7d>] internal_dev_create+0x24/0x1d0 net/openvswitch/vport-internal_dev.c:164
[<0000000056ee7c13>] ovs_vport_add+0x81/0x190 net/openvswitch/vport.c:199
[<000000005434efc7>] new_vport+0x19/0x80 net/openvswitch/datapath.c:194
[<00000000b7b253f1>] ovs_dp_cmd_new+0x22f/0x410 net/openvswitch/datapath.c:1614
[<00000000e0988518>] genl_family_rcv_msg+0x2ab/0x5b0 net/netlink/genetlink.c:629
[<00000000d0cc9347>] genl_rcv_msg+0x54/0x9c net/netlink/genetlink.c:654
[<000000006694b647>] netlink_rcv_skb+0x61/0x170 net/netlink/af_netlink.c:2477
[<0000000088381f37>] genl_rcv+0x29/0x40 net/netlink/genetlink.c:665
[<00000000dad42a47>] netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline]
[<00000000dad42a47>] netlink_unicast+0x1ec/0x2d0 net/netlink/af_netlink.c:1328
[<0000000067e6b079>] netlink_sendmsg+0x270/0x480 net/netlink/af_netlink.c:1917
[<00000000aab08a47>] sock_sendmsg_nosec net/socket.c:637 [inline]
[<00000000aab08a47>] sock_sendmsg+0x54/0x70 net/socket.c:657
[<000000004cb7c11d>] ___sys_sendmsg+0x393/0x3c0 net/socket.c:2311
[<00000000c4901c63>] __sys_sendmsg+0x80/0xf0 net/socket.c:2356
[<00000000c10abb2d>] __do_sys_sendmsg net/socket.c:2365 [inline]
[<00000000c10abb2d>] __se_sys_sendmsg net/socket.c:2363 [inline]
[<00000000c10abb2d>] __x64_sys_sendmsg+0x23/0x30 net/socket.c:2363
=====================================================================

The function in net core, register_netdevice(), may fail with vport's
destruction callback either invoked or not. After commit 309b66970ee2
("net: openvswitch: do not free vport if register_netdevice() is failed."),
the duty to destroy vport is offloaded from the driver OTOH, which ends
up in the memory leak reported.

It is fixed by releasing vport unless device is registered successfully.
To do that, the callback assignment is defered until device is registered.

Reported-by: [email protected]
Fixes: 309b66970ee2 ("net: openvswitch: do not free vport if register_netdevice() is failed.")
Cc: Taehee Yoo <[email protected]>
Cc: Greg Rose <[email protected]>
Cc: Eric Dumazet <[email protected]>
Cc: Marcelo Ricardo Leitner <[email protected]>
Cc: Ying Xue <[email protected]>
Cc: Andrey Konovalov <[email protected]>
Signed-off-by: Hillf Danton <[email protected]>
Acked-by: Pravin B Shelar <[email protected]>
[sbrivio: this was sent to [email protected] and never made its way
to netdev -- resending original patch]
Signed-off-by: Stefano Brivio <[email protected]>
Reviewed-by: Greg Rose <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
net/openvswitch/vport-internal_dev.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/net/openvswitch/vport-internal_dev.c b/net/openvswitch/vport-internal_dev.c
index b9377afeaba45..1c09ad457d2a9 100644
--- a/net/openvswitch/vport-internal_dev.c
+++ b/net/openvswitch/vport-internal_dev.c
@@ -156,7 +156,7 @@ static void do_setup(struct net_device *netdev)
netdev->priv_flags |= IFF_LIVE_ADDR_CHANGE | IFF_OPENVSWITCH |
IFF_PHONY_HEADROOM | IFF_NO_QUEUE;
netdev->needs_free_netdev = true;
- netdev->priv_destructor = internal_dev_destructor;
+ netdev->priv_destructor = NULL;
netdev->ethtool_ops = &internal_dev_ethtool_ops;
netdev->rtnl_link_ops = &internal_dev_link_ops;

@@ -178,7 +178,6 @@ static struct vport *internal_dev_create(const struct vport_parms *parms)
struct internal_dev *internal_dev;
struct net_device *dev;
int err;
- bool free_vport = true;

vport = ovs_vport_alloc(0, &ovs_internal_vport_ops, parms);
if (IS_ERR(vport)) {
@@ -210,10 +209,9 @@ static struct vport *internal_dev_create(const struct vport_parms *parms)

rtnl_lock();
err = register_netdevice(vport->dev);
- if (err) {
- free_vport = false;
+ if (err)
goto error_unlock;
- }
+ vport->dev->priv_destructor = internal_dev_destructor;

dev_set_promiscuity(vport->dev, 1);
rtnl_unlock();
@@ -227,8 +225,7 @@ error_unlock:
error_free_netdev:
free_netdev(dev);
error_free_vport:
- if (free_vport)
- ovs_vport_free(vport);
+ ovs_vport_free(vport);
error:
return ERR_PTR(err);
}
--
2.20.1



2019-11-11 19:11:51

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 011/105] qede: fix NULL pointer deref in __qede_remove()

From: Manish Chopra <[email protected]>

[ Upstream commit deabc87111c690097c03765ea017cd500f7376fc ]

While rebooting the system with SR-IOV vfs enabled leads
to below crash due to recurrence of __qede_remove() on the VF
devices (first from .shutdown() flow of the VF itself and
another from PF's .shutdown() flow executing pci_disable_sriov())

This patch adds a safeguard in __qede_remove() flow to fix this,
so that driver doesn't attempt to remove "already removed" devices.

[ 194.360134] BUG: unable to handle kernel NULL pointer dereference at 00000000000008dc
[ 194.360227] IP: [<ffffffffc03553c4>] __qede_remove+0x24/0x130 [qede]
[ 194.360304] PGD 0
[ 194.360325] Oops: 0000 [#1] SMP
[ 194.360360] Modules linked in: tcp_lp fuse tun bridge stp llc devlink bonding ip_set nfnetlink ib_isert iscsi_target_mod ib_srpt target_core_mod ib_srp scsi_transport_srp scsi_tgt ib_ipoib ib_umad rpcrdma sunrpc rdma_ucm ib_uverbs ib_iser rdma_cm iw_cm ib_cm libiscsi scsi_transport_iscsi dell_smbios iTCO_wdt iTCO_vendor_support dell_wmi_descriptor dcdbas vfat fat pcc_cpufreq skx_edac intel_powerclamp coretemp intel_rapl iosf_mbi kvm_intel kvm irqbypass crc32_pclmul ghash_clmulni_intel aesni_intel lrw gf128mul glue_helper ablk_helper cryptd qedr ib_core pcspkr ses enclosure joydev ipmi_ssif sg i2c_i801 lpc_ich mei_me mei wmi ipmi_si ipmi_devintf ipmi_msghandler tpm_crb acpi_pad acpi_power_meter xfs libcrc32c sd_mod crc_t10dif crct10dif_generic crct10dif_pclmul crct10dif_common crc32c_intel mgag200
[ 194.361044] qede i2c_algo_bit drm_kms_helper qed syscopyarea sysfillrect nvme sysimgblt fb_sys_fops ttm nvme_core mpt3sas crc8 ptp drm pps_core ahci raid_class scsi_transport_sas libahci libata drm_panel_orientation_quirks nfit libnvdimm dm_mirror dm_region_hash dm_log dm_mod [last unloaded: ip_tables]
[ 194.361297] CPU: 51 PID: 7996 Comm: reboot Kdump: loaded Not tainted 3.10.0-1062.el7.x86_64 #1
[ 194.361359] Hardware name: Dell Inc. PowerEdge MX840c/0740HW, BIOS 2.4.6 10/15/2019
[ 194.361412] task: ffff9cea9b360000 ti: ffff9ceabebdc000 task.ti: ffff9ceabebdc000
[ 194.361463] RIP: 0010:[<ffffffffc03553c4>] [<ffffffffc03553c4>] __qede_remove+0x24/0x130 [qede]
[ 194.361534] RSP: 0018:ffff9ceabebdfac0 EFLAGS: 00010282
[ 194.361570] RAX: 0000000000000000 RBX: ffff9cd013846098 RCX: 0000000000000000
[ 194.361621] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff9cd013846098
[ 194.361668] RBP: ffff9ceabebdfae8 R08: 0000000000000000 R09: 0000000000000000
[ 194.361715] R10: 00000000bfe14201 R11: ffff9ceabfe141e0 R12: 0000000000000000
[ 194.361762] R13: ffff9cd013846098 R14: 0000000000000000 R15: ffff9ceab5e48000
[ 194.361810] FS: 00007f799c02d880(0000) GS:ffff9ceacb0c0000(0000) knlGS:0000000000000000
[ 194.361865] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 194.361903] CR2: 00000000000008dc CR3: 0000001bdac76000 CR4: 00000000007607e0
[ 194.361953] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 194.362002] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 194.362051] PKRU: 55555554
[ 194.362073] Call Trace:
[ 194.362109] [<ffffffffc0355500>] qede_remove+0x10/0x20 [qede]
[ 194.362180] [<ffffffffb97d0f3e>] pci_device_remove+0x3e/0xc0
[ 194.362240] [<ffffffffb98b3c52>] __device_release_driver+0x82/0xf0
[ 194.362285] [<ffffffffb98b3ce3>] device_release_driver+0x23/0x30
[ 194.362343] [<ffffffffb97c86d4>] pci_stop_bus_device+0x84/0xa0
[ 194.362388] [<ffffffffb97c87e2>] pci_stop_and_remove_bus_device+0x12/0x20
[ 194.362450] [<ffffffffb97f153f>] pci_iov_remove_virtfn+0xaf/0x160
[ 194.362496] [<ffffffffb97f1aec>] sriov_disable+0x3c/0xf0
[ 194.362534] [<ffffffffb97f1bc3>] pci_disable_sriov+0x23/0x30
[ 194.362599] [<ffffffffc02f83c3>] qed_sriov_disable+0x5e3/0x650 [qed]
[ 194.362658] [<ffffffffb9622df6>] ? kfree+0x106/0x140
[ 194.362709] [<ffffffffc02cc0c0>] ? qed_free_stream_mem+0x70/0x90 [qed]
[ 194.362754] [<ffffffffb9622df6>] ? kfree+0x106/0x140
[ 194.362803] [<ffffffffc02cd659>] qed_slowpath_stop+0x1a9/0x1d0 [qed]
[ 194.362854] [<ffffffffc035544e>] __qede_remove+0xae/0x130 [qede]
[ 194.362904] [<ffffffffc03554e0>] qede_shutdown+0x10/0x20 [qede]
[ 194.362956] [<ffffffffb97cf90a>] pci_device_shutdown+0x3a/0x60
[ 194.363010] [<ffffffffb98b180b>] device_shutdown+0xfb/0x1f0
[ 194.363066] [<ffffffffb94b66c6>] kernel_restart_prepare+0x36/0x40
[ 194.363107] [<ffffffffb94b66e2>] kernel_restart+0x12/0x60
[ 194.363146] [<ffffffffb94b6959>] SYSC_reboot+0x229/0x260
[ 194.363196] [<ffffffffb95f200d>] ? handle_mm_fault+0x39d/0x9b0
[ 194.363253] [<ffffffffb942b621>] ? __switch_to+0x151/0x580
[ 194.363304] [<ffffffffb9b7ec28>] ? __schedule+0x448/0x9c0
[ 194.363343] [<ffffffffb94b69fe>] SyS_reboot+0xe/0x10
[ 194.363387] [<ffffffffb9b8bede>] system_call_fastpath+0x25/0x2a
[ 194.363430] Code: f9 e9 37 ff ff ff 90 0f 1f 44 00 00 55 48 89 e5 41 57 41 56 41 55 4c 8d af 98 00 00 00 41 54 4c 89 ef 41 89 f4 53 e8 4c e4 55 f9 <80> b8 dc 08 00 00 01 48 89 c3 4c 8d b8 c0 08 00 00 4c 8b b0 c0
[ 194.363712] RIP [<ffffffffc03553c4>] __qede_remove+0x24/0x130 [qede]
[ 194.363764] RSP <ffff9ceabebdfac0>
[ 194.363791] CR2: 00000000000008dc

Signed-off-by: Manish Chopra <[email protected]>
Signed-off-by: Ariel Elior <[email protected]>
Signed-off-by: Sudarsana Kalluru <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/net/ethernet/qlogic/qede/qede_main.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)

--- a/drivers/net/ethernet/qlogic/qede/qede_main.c
+++ b/drivers/net/ethernet/qlogic/qede/qede_main.c
@@ -1052,8 +1052,16 @@ enum qede_remove_mode {
static void __qede_remove(struct pci_dev *pdev, enum qede_remove_mode mode)
{
struct net_device *ndev = pci_get_drvdata(pdev);
- struct qede_dev *edev = netdev_priv(ndev);
- struct qed_dev *cdev = edev->cdev;
+ struct qede_dev *edev;
+ struct qed_dev *cdev;
+
+ if (!ndev) {
+ dev_info(&pdev->dev, "Device has already been removed\n");
+ return;
+ }
+
+ edev = netdev_priv(ndev);
+ cdev = edev->cdev;

DP_INFO(edev, "Starting qede_remove\n");



2019-11-12 02:22:40

by kernelci.org bot

[permalink] [raw]
Subject: Re: [PATCH 4.14 000/105] 4.14.154-stable review

stable-rc/linux-4.14.y boot: 112 boots: 104 failed, 0 passed with 8 offline (v4.14.153-106-ga46a2b6a665b)

Full Boot Summary: https://kernelci.org/boot/all/job/stable-rc/branch/linux-4.14.y/kernel/v4.14.153-106-ga46a2b6a665b/
Full Build Summary: https://kernelci.org/build/stable-rc/branch/linux-4.14.y/kernel/v4.14.153-106-ga46a2b6a665b/

Tree: stable-rc
Branch: linux-4.14.y
Git Describe: v4.14.153-106-ga46a2b6a665b
Git Commit: a46a2b6a665bee1f0e231d13d5c04472bafec941
Git URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Tested: 61 unique boards, 21 SoC families, 13 builds out of 201

Boot Regressions Detected:

arm:

bcm2835_defconfig:
gcc-8:
bcm2835-rpi-b:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
bcm2836-rpi-2-b:
lab-collabora: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)

davinci_all_defconfig:
gcc-8:
da850-evm:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
dm365evm,legacy:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)

exynos_defconfig:
gcc-8:
exynos4412-odroidx2:
lab-collabora: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
exynos5250-arndale:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
exynos5420-arndale-octa:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
exynos5800-peach-pi:
lab-collabora: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)

imx_v6_v7_defconfig:
gcc-8:
imx6dl-wandboard_dual:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
imx6dl-wandboard_solo:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
imx6q-wandboard:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
imx7s-warp:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
vf610-colibri-eval-v3:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)

multi_v7_defconfig:
gcc-8:
alpine-db:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
am335x-boneblack:
lab-baylibre: failing since 1 day (last pass: v4.14.151 - first fail: v4.14.153-68-g0d12dcf336c6)
armada-xp-openblocks-ax3-4:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
bcm2836-rpi-2-b:
lab-collabora: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
exynos4412-odroidx2:
lab-collabora: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
exynos5250-arndale:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
exynos5420-arndale-octa:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
exynos5800-peach-pi:
lab-collabora: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
imx6dl-wandboard_dual:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
imx6dl-wandboard_solo:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
imx6q-sabrelite:
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
imx6q-wandboard:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
imx7s-warp:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
meson8b-odroidc1:
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
mt7623n-bananapi-bpi-r2:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
omap3-beagle:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
omap3-beagle-xm:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
omap4-panda:
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
qcom-apq8064-cm-qs600:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
rk3288-rock2-square:
lab-collabora: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
rk3288-veyron-jaq:
lab-collabora: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
socfpga_cyclone5_de0_sockit:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
stih410-b2120:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun4i-a10-cubieboard:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun5i-a13-olinuxino-micro:
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun5i-r8-chip:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun7i-a20-bananapi:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun7i-a20-cubieboard2:
lab-clabbe: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun8i-a83t-bananapi-m3:
lab-clabbe: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun8i-h2-plus-orangepi-zero:
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
tegra124-jetson-tk1:
lab-collabora: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
tegra124-nyan-big:
lab-collabora: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
tegra20-iris-512:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
tegra30-beaver:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
vf610-colibri-eval-v3:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
zynq-zc702:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)

mvebu_v7_defconfig:
gcc-8:
armada-xp-openblocks-ax3-4:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)

omap2plus_defconfig:
gcc-8:
am335x-boneblack:
lab-baylibre: failing since 1 day (last pass: v4.14.151 - first fail: v4.14.153-68-g0d12dcf336c6)
omap3-beagle:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
omap3-beagle-xm:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
omap4-panda:
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)

sunxi_defconfig:
gcc-8:
sun4i-a10-cubieboard:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun5i-a13-olinuxino-micro:
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun5i-r8-chip:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun7i-a20-bananapi:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun7i-a20-cubieboard2:
lab-clabbe: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun8i-a33-olinuxino:
lab-clabbe: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun8i-a83t-bananapi-m3:
lab-clabbe: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun8i-h2-plus-orangepi-zero:
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)

tegra_defconfig:
gcc-8:
tegra124-jetson-tk1:
lab-collabora: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
tegra124-nyan-big:
lab-collabora: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
tegra20-iris-512:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
tegra30-beaver:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)

arm64:

defconfig:
gcc-8:
bcm2837-rpi-3-b:
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
juno-r2:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
meson-gxbb-p200:
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
meson-gxl-s905x-khadas-vim:
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
meson-gxl-s905x-libretech-cc:
lab-clabbe: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
meson-gxl-s905x-nexbox-a95x:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
meson-gxm-nexbox-a1:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
mt7622-rfb1:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
r8a7795-salvator-x:
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
r8a7796-m3ulcb:
lab-baylibre: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun50i-a64-bananapi-m64:
lab-clabbe: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)
sun50i-a64-pine64-plus:
lab-baylibre-seattle: failing since 1 day (last pass: v4.14.153 - first fail: v4.14.153-40-gf7fb2676f8a6)

Boot Failures Detected:

i386:
i386_defconfig:
gcc-8:
qemu_i386: 2 failed labs

arm:
tegra_defconfig:
gcc-8:
tegra124-jetson-tk1: 1 failed lab
tegra124-nyan-big: 1 failed lab
tegra20-iris-512: 1 failed lab
tegra30-beaver: 1 failed lab

multi_v7_defconfig:
gcc-8:
alpine-db: 1 failed lab
am335x-boneblack: 1 failed lab
armada-xp-openblocks-ax3-4: 1 failed lab
bcm2836-rpi-2-b: 1 failed lab
exynos4412-odroidx2: 1 failed lab
exynos5250-arndale: 1 failed lab
exynos5420-arndale-octa: 1 failed lab
exynos5422-odroidxu3: 2 failed labs
exynos5800-peach-pi: 2 failed labs
imx6dl-wandboard_dual: 1 failed lab
imx6dl-wandboard_solo: 1 failed lab
imx6q-sabrelite: 2 failed labs
imx6q-wandboard: 1 failed lab
imx7s-warp: 1 failed lab
meson8b-odroidc1: 2 failed labs
mt7623n-bananapi-bpi-r2: 1 failed lab
omap3-beagle: 1 failed lab
omap4-panda: 3 failed labs
qemu_arm-virt-gicv2: 2 failed labs
qemu_arm-virt-gicv3: 2 failed labs
rk3288-rock2-square: 1 failed lab
rk3288-veyron-jaq: 1 failed lab
socfpga_cyclone5_de0_sockit: 1 failed lab
stih410-b2120: 1 failed lab
sun4i-a10-cubieboard: 1 failed lab
sun5i-a13-olinuxino-micro: 1 failed lab
sun7i-a20-cubieboard2: 2 failed labs
sun8i-a33-olinuxino: 1 failed lab
sun8i-a83t-bananapi-m3: 1 failed lab
sun8i-h2-plus-orangepi-zero: 1 failed lab
tegra124-jetson-tk1: 1 failed lab
tegra124-nyan-big: 1 failed lab
tegra20-iris-512: 1 failed lab
tegra30-beaver: 1 failed lab
vf610-colibri-eval-v3: 1 failed lab
zynq-zc702: 1 failed lab

davinci_all_defconfig:
gcc-8:
da850-evm: 1 failed lab

sunxi_defconfig:
gcc-8:
sun4i-a10-cubieboard: 1 failed lab
sun5i-a13-olinuxino-micro: 1 failed lab
sun7i-a20-cubieboard2: 2 failed labs
sun8i-a33-olinuxino: 1 failed lab
sun8i-a83t-bananapi-m3: 1 failed lab
sun8i-h2-plus-orangepi-zero: 1 failed lab

imx_v6_v7_defconfig:
gcc-8:
imx6dl-wandboard_dual: 1 failed lab
imx6dl-wandboard_solo: 1 failed lab
imx6q-wandboard: 1 failed lab
imx7s-warp: 1 failed lab
vf610-colibri-eval-v3: 1 failed lab

exynos_defconfig:
gcc-8:
exynos4412-odroidx2: 1 failed lab
exynos5250-arndale: 1 failed lab
exynos5420-arndale-octa: 1 failed lab
exynos5422-odroidxu3: 2 failed labs
exynos5800-peach-pi: 2 failed labs

bcm2835_defconfig:
gcc-8:
bcm2835-rpi-b: 1 failed lab
bcm2836-rpi-2-b: 1 failed lab
bcm2837-rpi-3-b: 1 failed lab

omap2plus_defconfig:
gcc-8:
am335x-boneblack: 1 failed lab
omap3-beagle: 1 failed lab
omap3-beagle-xm: 1 failed lab
omap4-panda: 3 failed labs

mvebu_v7_defconfig:
gcc-8:
armada-xp-openblocks-ax3-4: 1 failed lab

x86_64:
x86_64_defconfig:
gcc-8:
minnowboard-turbot-E3826: 1 failed lab
qemu_x86_64: 2 failed labs

arm64:
defconfig:
gcc-8:
bcm2837-rpi-3-b: 1 failed lab
juno-r2: 1 failed lab
meson-gxbb-p200: 1 failed lab
meson-gxl-s905x-khadas-vim: 1 failed lab
meson-gxl-s905x-libretech-cc: 3 failed labs
meson-gxl-s905x-nexbox-a95x: 1 failed lab
meson-gxm-nexbox-a1: 1 failed lab
mt7622-rfb1: 1 failed lab
qemu_arm64-virt-gicv2: 2 failed labs
qemu_arm64-virt-gicv3: 2 failed labs
r8a7795-salvator-x: 1 failed lab
r8a7796-m3ulcb: 2 failed labs
rk3399-gru-kevin: 1 failed lab
sun50i-a64-bananapi-m64: 1 failed lab
sun50i-a64-pine64-plus: 1 failed lab

Offline Platforms:

arm:

sunxi_defconfig:
gcc-8
sun5i-r8-chip: 1 offline lab
sun7i-a20-bananapi: 1 offline lab

multi_v7_defconfig:
gcc-8
omap3-beagle-xm: 1 offline lab
qcom-apq8064-cm-qs600: 1 offline lab
sun5i-r8-chip: 1 offline lab
sun7i-a20-bananapi: 1 offline lab

davinci_all_defconfig:
gcc-8
dm365evm,legacy: 1 offline lab

qcom_defconfig:
gcc-8
qcom-apq8064-cm-qs600: 1 offline lab

---
For more info write to <[email protected]>

2019-11-12 05:33:16

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 4.14 000/105] 4.14.154-stable review

On Mon, Nov 11, 2019 at 06:19:12PM -0800, kernelci.org bot wrote:
> stable-rc/linux-4.14.y boot: 112 boots: 104 failed, 0 passed with 8 offline (v4.14.153-106-ga46a2b6a665b)

wow, everything dies :(

2019-11-12 05:33:30

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 4.14 000/105] 4.14.154-stable review

On Tue, Nov 12, 2019 at 06:10:35AM +0100, Greg Kroah-Hartman wrote:
> On Mon, Nov 11, 2019 at 06:19:12PM -0800, kernelci.org bot wrote:
> > stable-rc/linux-4.14.y boot: 112 boots: 104 failed, 0 passed with 8 offline (v4.14.153-106-ga46a2b6a665b)
>
> wow, everything dies :(
>

Ok, pushing out -rc2 now to hopefully resolve this.

thanks,

greg k-h

2019-11-12 05:34:50

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 4.14 000/105] 4.14.154-stable review

On Mon, Nov 11, 2019 at 07:27:30PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.14.154 release.
> There are 105 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 Wed, 13 Nov 2019 18:08:44 +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.154-rc1.gz

There is now a -rc2 out:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.14.154-rc2.gz

2019-11-12 05:35:28

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.14 061/105] ARM: dts: dra7: Disable USB metastability workaround for USB2

From: Roger Quadros <[email protected]>

commit b8c9c6fa2002b8fd4a9710f76f80f99c6046d48c upstream.

The metastability workaround causes Erratic errors [1]
on the HighSpeed USB PHY which can cause upto 2 seconds
delay in enumerating to a USB host while in Gadget mode.

Disable the Run/Stop metastability workaround to avoid this
ill effect. We are aware that this opens up the opportunity
for Run/Stop metastability, however this issue has never been
observed in TI releases so we think that Run/Stop metastability
is a lesser evil than the PHY Erratic errors. So disable it.

[1] USB controller trace during gadget enumeration
irq/90-dwc3-969 [000] d... 52.323145: dwc3_event: event
(00000901): Erratic Error [U0]
irq/90-dwc3-969 [000] d... 52.560646: dwc3_event: event
(00000901): Erratic Error [U0]
irq/90-dwc3-969 [000] d... 52.798144: dwc3_event: event
(00000901): Erratic Error [U0]

Signed-off-by: Roger Quadros <[email protected]>
Acked-by: Felipe Balbi <felipe.balbi@linux/intel.com>
Signed-off-by: Tony Lindgren <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
arch/arm/boot/dts/dra7.dtsi | 1 +
1 file changed, 1 insertion(+)

--- a/arch/arm/boot/dts/dra7.dtsi
+++ b/arch/arm/boot/dts/dra7.dtsi
@@ -1540,6 +1540,7 @@
dr_mode = "otg";
snps,dis_u3_susphy_quirk;
snps,dis_u2_susphy_quirk;
+ snps,dis_metastability_quirk;
};
};



2019-11-12 12:03:15

by Jon Hunter

[permalink] [raw]
Subject: Re: [PATCH 4.14 000/105] 4.14.154-stable review


On 12/11/2019 05:28, Greg Kroah-Hartman wrote:
> On Mon, Nov 11, 2019 at 07:27:30PM +0100, Greg Kroah-Hartman wrote:
>> This is the start of the stable review cycle for the 4.14.154 release.
>> There are 105 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 Wed, 13 Nov 2019 18:08:44 +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.154-rc1.gz
>
> There is now a -rc2 out:
> https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.14.154-rc2.gz
>

All tests for Tegra are passing ...

Test results for stable-v4.14:
8 builds: 8 pass, 0 fail
16 boots: 16 pass, 0 fail
24 tests: 24 pass, 0 fail

Linux version: 4.14.154-rc2-gfc7e45ae100f
Boards tested: tegra124-jetson-tk1, tegra20-ventana,
tegra210-p2371-2180, tegra30-cardhu-a04

Cheers
Jon

--
nvpublic

2019-11-12 13:27:38

by Naresh Kamboju

[permalink] [raw]
Subject: Re: [PATCH 4.14 000/105] 4.14.154-stable review

On Tue, 12 Nov 2019 at 11:02, Greg Kroah-Hartman
<[email protected]> wrote:
>
> On Mon, Nov 11, 2019 at 07:27:30PM +0100, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 4.14.154 release.
> > There are 105 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 Wed, 13 Nov 2019 18:08:44 +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.154-rc1.gz
>
> There is now a -rc2 out:
> https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.14.154-rc2.gz

Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.

Summary
------------------------------------------------------------------------

kernel: 4.14.154-rc2
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git branch: linux-4.14.y
git commit: fc7e45ae100f042a6f3e1cb7bf47c487b2d5bf3e
git describe: v4.14.153-105-gfc7e45ae100f
Test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-4.14-oe/build/v4.14.153-105-gfc7e45ae100f

No regressions (compared to build v4.14.153)

No fixes (compared to build v4.14.153)

Ran 24216 total tests in the following environments and test suites.

Environments
--------------
- dragonboard-410c - arm64
- hi6220-hikey - arm64
- i386
- juno-r2 - arm64
- qemu_arm
- qemu_arm64
- qemu_i386
- qemu_x86_64
- x15 - arm
- x86_64

Test Suites
-----------
* build
* install-android-platform-tools-r2600
* kselftest
* libhugetlbfs
* ltp-cap_bounds-tests
* ltp-commands-tests
* ltp-containers-tests
* ltp-cpuhotplug-tests
* ltp-cve-tests
* ltp-dio-tests
* ltp-fcntl-locktests-tests
* ltp-filecaps-tests
* ltp-fs-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-hugetlb-tests
* ltp-io-tests
* ltp-ipc-tests
* ltp-math-tests
* ltp-mm-tests
* ltp-nptl-tests
* ltp-pty-tests
* ltp-sched-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* perf
* spectre-meltdown-checker-test
* v4l2-compliance
* network-basic-tests
* ltp-open-posix-tests
* kvm-unit-tests
* ssuite
* kselftest-vsyscall-mode-native
* kselftest-vsyscall-mode-none

--
Linaro LKFT
https://lkft.linaro.org

2019-11-12 13:55:57

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 4.14 000/105] 4.14.154-stable review

On Tue, Nov 12, 2019 at 12:01:03PM +0000, Jon Hunter wrote:
>
> On 12/11/2019 05:28, Greg Kroah-Hartman wrote:
> > On Mon, Nov 11, 2019 at 07:27:30PM +0100, Greg Kroah-Hartman wrote:
> >> This is the start of the stable review cycle for the 4.14.154 release.
> >> There are 105 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 Wed, 13 Nov 2019 18:08:44 +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.154-rc1.gz
> >
> > There is now a -rc2 out:
> > https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.14.154-rc2.gz
> >
>
> All tests for Tegra are passing ...
>
> Test results for stable-v4.14:
> 8 builds: 8 pass, 0 fail
> 16 boots: 16 pass, 0 fail
> 24 tests: 24 pass, 0 fail
>
> Linux version: 4.14.154-rc2-gfc7e45ae100f
> Boards tested: tegra124-jetson-tk1, tegra20-ventana,
> tegra210-p2371-2180, tegra30-cardhu-a04
>

Oh good, thanks for testing all of these and letting me know.

greg k-h

2019-11-12 18:23:25

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 4.14 000/105] 4.14.154-stable review

On Mon, Nov 11, 2019 at 07:27:30PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.14.154 release.
> There are 105 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 Wed, 13 Nov 2019 18:08:44 +0000.
> Anything received after that time might be too late.
>

For -rc2:

Build results:
total: 172 pass: 172 fail: 0
Qemu test results:
total: 372 pass: 372 fail: 0

Guenter