Hello,
We ran automated tests on a patchset that was proposed for merging into this
kernel tree. The patches were applied to:
Kernel repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Commit: 2df16141a2c4 - Linux 5.1.9
The results of these automated tests are provided below.
Overall result: PASSED
Merge: OK
Compile: OK
Tests: OK
We hope that these logs can help you find the problem quickly. For the full
detail on our testing procedures, please scroll to the bottom of this message.
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Merge testing
-------------
We cloned this repository and checked out the following commit:
Repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Commit: 2df16141a2c4 - Linux 5.1.9
We then merged the patchset with `git am`:
revert-drm-allow-render-capable-master-with-drm_auth.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
media-rockchip-vpu-fix-re-order-probe-error-remove-p.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
media-rockchip-vpu-add-missing-dont_use_autosuspend-.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
rapidio-fix-a-null-pointer-dereference-when-create_w.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
fs-fat-file.c-issue-flush-after-the-writeback-of-fat.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
sysctl-return-einval-if-val-violates-minmax.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
ipc-prevent-lockup-on-alloc_msg-and-free_msg.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
drm-msm-correct-attempted-null-pointer-dereference-i.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
drm-pl111-initialize-clock-spinlock-early.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mm-mprotect.c-fix-compilation-warning-because-of-unu.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm-prevent-tracing-ipi_cpu_backtrace.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mm-hmm-select-mmu-notifier-when-selecting-hmm.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
hugetlbfs-on-restore-reserve-error-path-retain-subpo.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mm-memory_hotplug-release-memory-resource-after-arch.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mem-hotplug-fix-node-spanned-pages-when-we-have-a-no.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mm-cma.c-fix-crash-on-cma-allocation-if-bitmap-alloc.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
initramfs-free-initrd-memory-if-opening-initrd.image.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mm-compaction.c-fix-an-undefined-behaviour.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mm-memory_hotplug.c-fix-the-wrong-usage-of-n_high_me.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mm-cma.c-fix-the-bitmap-status-to-show-failed-alloca.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mm-page_mkclean-vs-madv_dontneed-race.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mm-cma_debug.c-fix-the-break-condition-in-cma_maxchu.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mm-slab.c-fix-an-infinite-loop-in-leaks_show.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
kernel-sys.c-prctl-fix-false-positive-in-validate_pr.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
thermal-rcar_gen3_thermal-disable-interrupt-in-.remo.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
drivers-thermal-tsens-don-t-print-error-message-on-e.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mfd-tps65912-spi-add-missing-of-table-registration.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mfd-intel-lpss-set-the-device-in-reset-state-when-in.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
drm-nouveau-disp-dp-respect-sink-limits-when-selecti.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mfd-twl6040-fix-device-init-errors-for-accctl-regist.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
perf-x86-intel-allow-pebs-multi-entry-in-watermark-m.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
drm-nouveau-kms-gf119-gp10x-push-headsetcontroloutpu.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
drm-nouveau-fix-duplication-of-nv50_head_atom-struct.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
drm-bridge-adv7511-fix-low-refresh-rate-selection.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
objtool-don-t-use-ignore-flag-for-fake-jumps.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
drm-nouveau-kms-gv100-fix-spurious-window-immediate-.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
bpf-fix-undefined-behavior-in-narrow-load-handling.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
edac-mpc85xx-prevent-building-as-a-module.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
pwm-meson-use-the-spin-lock-only-to-protect-register.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mailbox-stm32-ipcc-check-invalid-irq.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
ntp-allow-tai-utc-offset-to-be-set-to-zero.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
f2fs-fix-to-avoid-panic-in-do_recover_data.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
f2fs-fix-to-avoid-panic-in-f2fs_inplace_write_data.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
f2fs-fix-error-path-of-recovery.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
f2fs-fix-to-avoid-panic-in-f2fs_remove_inode_page.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
f2fs-fix-to-do-sanity-check-on-free-nid.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
f2fs-fix-to-clear-dirty-inode-in-error-path-of-f2fs_.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
f2fs-fix-to-avoid-panic-in-dec_valid_block_count.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
f2fs-fix-to-use-inline-space-only-if-inline_xattr-is.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
f2fs-fix-to-avoid-panic-in-dec_valid_node_count.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
f2fs-fix-to-do-sanity-check-on-valid-block-count-of-.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
f2fs-fix-to-avoid-deadloop-in-foreground-gc.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
f2fs-fix-to-retrieve-inline-xattr-space.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
f2fs-fix-to-do-checksum-even-if-inode-page-is-uptoda.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
media-atmel-atmel-isc-fix-asd-memory-allocation.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
percpu-remove-spurious-lock-dependency-between-percp.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
configfs-fix-possible-use-after-free-in-configfs_reg.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
uml-fix-a-boot-splat-wrt-use-of-cpu_all_mask.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
pci-dwc-free-msi-in-dw_pcie_host_init-error-path.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
pci-dwc-free-msi-irq-page-in-dw_pcie_free_msi.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
fbcon-don-t-reset-logo_shown-when-logo-is-currently-.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
ovl-do-not-generate-duplicate-fsnotify-events-for-fa.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mmc-mmci-prevent-polling-for-busy-detection-in-irq-c.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
netfilter-nf_flow_table-fix-missing-error-check-for-.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
netfilter-nf_conntrack_h323-restore-boundary-check-c.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
mips-make-sure-dt-memory-regions-are-valid.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
netfilter-nf_tables-fix-base-chain-stat-rcu_derefere.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
watchdog-imx2_wdt-fix-set_timeout-for-big-timeout-va.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
watchdog-fix-compile-time-error-of-pretimeout-govern.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
blk-mq-move-cancel-of-requeue_work-into-blk_mq_relea.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
iommu-vt-d-set-intel_iommu_gfx_mapped-correctly.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
vfio-pci-nvlink2-fix-potential-vma-leak.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
misc-pci_endpoint_test-fix-test_reg_bar-to-be-update.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
pci-designware-ep-use-aligned-atu-window-for-raising.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
nvme-pci-unquiesce-admin-queue-on-shutdown.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
nvme-pci-shutdown-on-timeout-during-deletion.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
netfilter-nf_flow_table-check-ttl-value-in-flow-offl.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
netfilter-nf_flow_table-fix-netdev-refcnt-leak.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
alsa-hda-register-irq-handler-after-the-chip-initial.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
powerpc-pseries-track-lmb-nid-instead-of-using-devic.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm64-defconfig-update-ufshcd-for-hi3660-soc.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
iommu-vt-d-don-t-request-page-request-irq-under-dmar.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
nvmem-core-fix-read-buffer-in-place.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
nvmem-sunxi_sid-support-sid-on-a83t-and-h5.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
fuse-retrieve-cap-requested-size-to-negotiated-max_w.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
nfsd-allow-fh_want_write-to-be-called-twice.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
nfsd-avoid-uninitialized-variable-warning.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
vfio-fix-warning-do-not-call-blocking-ops-when-task_.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
iommu-arm-smmu-v3-don-t-disable-smmu-in-kdump-kernel.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
switchtec-fix-unintended-mask-of-mrpc-event.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
net-thunderbolt-unregister-thunderboltip-protocol-ha.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
x86-pci-fix-pci-irq-routing-table-memory-leak.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
soc-tegra-pmc-remove-reset-sysfs-entries-on-error.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
i40e-queues-are-reserved-despite-invalid-argument-er.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
power-supply-cpcap-battery-fix-signed-counter-sample.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
platform-chrome-cros_ec_proto-check-for-null-transfe.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
pci-keystone-invoke-phy_reset-api-before-enabling-ph.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
pci-keystone-prevent-arm32-specific-code-to-be-compi.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
soc-mediatek-pwrap-zero-initialize-rdata-in-pwrap_in.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
clk-rockchip-turn-on-aclk_dmac1-for-suspend-on-rk328.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
usb-ohci-da8xx-disable-the-regulator-if-the-overcurr.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
iommu-vt-d-flush-iotlb-for-untrusted-device-in-time.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
soc-rockchip-set-the-proper-pwm-for-rk3288.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm64-dts-imx8mq-mark-iomuxc_gpr-as-i.mx6q-compatibl.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm-dts-imx51-specify-imx5_clk_ipg-as-ahb-clock-to-s.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm-dts-imx50-specify-imx5_clk_ipg-as-ahb-clock-to-s.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm-dts-imx53-specify-imx5_clk_ipg-as-ahb-clock-to-s.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm-dts-imx6sx-specify-imx6sx_clk_ipg-as-ahb-clock-t.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm-dts-imx6sll-specify-imx6sll_clk_ipg-as-ipg-clock.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm-dts-imx7d-specify-imx7d_clk_ipg-as-ipg-clock-to-.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm-dts-imx6ul-specify-imx6ul_clk_ipg-as-ipg-clock-t.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm-dts-imx6sx-specify-imx6sx_clk_ipg-as-ipg-clock-t.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm-dts-imx6qdl-specify-imx6qdl_clk_ipg-as-ipg-clock.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
pci-rpadlpar-fix-leaked-device_node-references-in-ad.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
drm-amd-display-disable-link-before-changing-link-se.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
drm-amd-display-use-plane-color_space-for-dpp-if-spe.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
alsa-seq-protect-in-kernel-ioctl-calls-with-mutex.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm-omap2-pm33xx-core-do-not-turn-off-cefuse-as-ppa-.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
pinctrl-pinctrl-intel-move-gpio-suspend-resume-to-no.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
platform-x86-intel_pmc_ipc-adding-error-handling.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
power-supply-max14656-fix-potential-use-before-alloc.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
f2fs-fix-potential-recursive-call-when-enabling-data.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
net-hns3-return-0-and-print-warning-when-hit-duplica.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
pci-dwc-remove-default-msi-initialization-for-platfo.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
pci-rcar-fix-a-potential-null-pointer-dereference.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
pci-rcar-fix-64bit-msi-message-address-handling.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
scsi-qla2xxx-reset-the-fcf_async_-sent-active-flags.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
input-goodix-add-gt5663-ctp-support.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
video-hgafb-fix-potential-null-pointer-dereference.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
video-imsttfb-fix-potential-null-pointer-dereference.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
block-bfq-increase-idling-for-weight-raised-queues.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
pci-xilinx-check-for-__get_free_pages-failure.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm64-dts-qcom-qcs404-fix-regulator-supply-names.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
gpio-gpio-omap-add-check-for-off-wake-capable-gpios.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
gpio-gpio-omap-limit-errata-1.101-handling-to-wkup-d.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
ice-add-missing-case-in-print_link_msg-for-printing-.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
media-v4l2-ctrl-v4l2_ctrl_request_setup-returns-with.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
batman-adv-adjust-name-for-batadv_dat_send_data.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
ice-enable-lan_en-for-the-right-recipes.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
ice-do-not-set-lb_en-for-prune-switch-rules.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
dmaengine-idma64-use-actual-device-for-dma-transfers.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
pwm-tiehrpwm-update-shadow-register-for-disabling-pw.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
media-v4l2-fwnode-defaults-may-not-override-endpoint.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm-dts-exynos-always-enable-necessary-apio_1v8-and-.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
pwm-fix-deadlock-warning-when-removing-pwm-device.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm-exynos-fix-undefined-instruction-during-exynos54.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
usb-typec-fusb302-check-vconn-is-off-when-we-start-t.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
soc-renesas-identify-r-car-m3-w-es1.3.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
arm-shmobile-porter-enable-r-car-gen2-regulator-quir.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
gpio-vf610-do-not-share-irq_chip.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
percpu-do-not-search-past-bitmap-when-allocating-an-.patch?id=67c62f8dfe91c623f7105e941258790b2ac2b500
Compile testing
---------------
We compiled the kernel for 4 architectures:
aarch64:
build options: -j20 INSTALL_MOD_STRIP=1 targz-pkg
configuration: https://artifacts.cki-project.org/builds/aarch64/kernel-stable_queue_5.1-aa…
kernel build: https://artifacts.cki-project.org/builds/aarch64/kernel-stable_queue_5.1-aa…
ppc64le:
build options: -j20 INSTALL_MOD_STRIP=1 targz-pkg
configuration: https://artifacts.cki-project.org/builds/ppc64le/kernel-stable_queue_5.1-pp…
kernel build: https://artifacts.cki-project.org/builds/ppc64le/kernel-stable_queue_5.1-pp…
s390x:
build options: -j20 INSTALL_MOD_STRIP=1 targz-pkg
configuration: https://artifacts.cki-project.org/builds/s390x/kernel-stable_queue_5.1-s390…
kernel build: https://artifacts.cki-project.org/builds/s390x/kernel-stable_queue_5.1-s390…
x86_64:
build options: -j20 INSTALL_MOD_STRIP=1 targz-pkg
configuration: https://artifacts.cki-project.org/builds/x86_64/kernel-stable_queue_5.1-x86…
kernel build: https://artifacts.cki-project.org/builds/x86_64/kernel-stable_queue_5.1-x86…
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test [0]
✅ xfstests: xfs [1]
✅ selinux-policy: serge-testsuite [2]
Host 2:
✅ Boot test [0]
✅ LTP lite [3]
✅ Loopdev Sanity [4]
✅ AMTU (Abstract Machine Test Utility) [5]
✅ Ethernet drivers sanity [6]
✅ audit: audit testsuite test [7]
✅ httpd: mod_ssl smoke sanity [8]
✅ iotop: sanity [9]
✅ tuned: tune-processes-through-perf [10]
✅ Usex - version 1.9-29 [11]
✅ lvm thinp sanity [12]
🚧 ✅ Networking socket: fuzz [13]
🚧 ✅ storage: SCSI VPD [14]
🚧 ✅ storage: software RAID testing [15]
🚧 ✅ Libhugetlbfs - version 2.2.1 [16]
ppc64le:
⚡ Internal infrastructure issues prevented one or more tests from running
on this architecture. This is not the fault of the kernel that was tested.
s390x:
⚡ Internal infrastructure issues prevented one or more tests from running
on this architecture. This is not the fault of the kernel that was tested.
x86_64:
Host 1:
✅ Boot test [0]
✅ LTP lite [3]
✅ Loopdev Sanity [4]
✅ AMTU (Abstract Machine Test Utility) [5]
✅ Ethernet drivers sanity [6]
✅ audit: audit testsuite test [7]
✅ httpd: mod_ssl smoke sanity [8]
✅ iotop: sanity [9]
✅ tuned: tune-processes-through-perf [10]
✅ Usex - version 1.9-29 [11]
✅ lvm thinp sanity [12]
🚧 ✅ Networking socket: fuzz [13]
🚧 ✅ storage: SCSI VPD [14]
🚧 ✅ storage: software RAID testing [15]
🚧 ✅ Libhugetlbfs - version 2.2.1 [16]
Test source:
💚 Pull requests are welcome for new tests or improvements to existing tests!
[0]: https://github.com/CKI-project/tests-beaker/archive/master.zip#distribution…
[1]: https://github.com/CKI-project/tests-beaker/archive/master.zip#/filesystems…
[2]: https://github.com/CKI-project/tests-beaker/archive/master.zip#/packages/se…
[3]: https://github.com/CKI-project/tests-beaker/archive/master.zip#distribution…
[4]: https://github.com/CKI-project/tests-beaker/archive/master.zip#filesystems/…
[5]: https://github.com/CKI-project/tests-beaker/archive/master.zip#misc/amtu
[6]: https://github.com/CKI-project/tests-beaker/archive/master.zip#/networking/…
[7]: https://github.com/CKI-project/tests-beaker/archive/master.zip#packages/aud…
[8]: https://github.com/CKI-project/tests-beaker/archive/master.zip#packages/htt…
[9]: https://github.com/CKI-project/tests-beaker/archive/master.zip#packages/iot…
[10]: https://github.com/CKI-project/tests-beaker/archive/master.zip#packages/tun…
[11]: https://github.com/CKI-project/tests-beaker/archive/master.zip#standards/us…
[12]: https://github.com/CKI-project/tests-beaker/archive/master.zip#storage/lvm/…
[13]: https://github.com/CKI-project/tests-beaker/archive/master.zip#/networking/…
[14]: https://github.com/CKI-project/tests-beaker/archive/master.zip#storage/scsi…
[15]: https://github.com/CKI-project/tests-beaker/archive/master.zip#storage/swra…
[16]: https://github.com/CKI-project/tests-beaker/archive/master.zip#vm/hugepage/…
Waived tests (marked with 🚧)
-----------------------------
This test run included waived tests. Such tests are executed but their results
are not taken into account. Tests are waived when their results are not
reliable enough, e.g. when they're just introduced or are being fixed.
fuse_dev_splice_write() reads pipe->buffers to determine the size of
'bufs' array before taking the pipe_lock(). This is not safe as
another thread might change the 'pipe->buffers' between the allocation
and taking the pipe_lock(). So we end up with too small 'bufs' array.
Move the bufs allocations inside pipe_lock()/pipe_unlock() to fix this.
Fixes: dd3bb14f44a6 ("fuse: support splice() writing to fuse device")
Signed-off-by: Andrey Ryabinin <aryabinin(a)virtuozzo.com>
Cc: <stable(a)vger.kernel.org>
---
fs/fuse/dev.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index c6b88fa85e2e..702592cce546 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -1944,12 +1944,15 @@ static ssize_t fuse_dev_splice_write(struct pipe_inode_info *pipe,
if (!fud)
return -EPERM;
+ pipe_lock(pipe);
+
bufs = kmalloc_array(pipe->buffers, sizeof(struct pipe_buffer),
GFP_KERNEL);
- if (!bufs)
+ if (!bufs) {
+ pipe_unlock(pipe);
return -ENOMEM;
+ }
- pipe_lock(pipe);
nbuf = 0;
rem = 0;
for (idx = 0; idx < pipe->nrbufs && rem < len; idx++)
--
2.16.4
On Thu, May 23, 2019 at 12:30 PM <gregkh(a)linuxfoundation.org> wrote:
>
>
> This is a note to let you know that I've just added the patch titled
>
> ovl: fix missing upper fs freeze protection on copy up for ioctl
>
> to the 4.19-stable tree which can be found at:
> http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
>
> The filename of the patch is:
> ovl-fix-missing-upper-fs-freeze-protection-on-copy-up-for-ioctl.patch
> and it can be found in the queue-4.19 subdirectory.
>
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable(a)vger.kernel.org> know about it.
>
>
> From 3428030da004a1128cbdcf93dc03e16f184d845b Mon Sep 17 00:00:00 2001
> From: Amir Goldstein <amir73il(a)gmail.com>
> Date: Tue, 22 Jan 2019 07:01:39 +0200
> Subject: ovl: fix missing upper fs freeze protection on copy up for ioctl
>
> From: Amir Goldstein <amir73il(a)gmail.com>
>
> commit 3428030da004a1128cbdcf93dc03e16f184d845b upstream.
>
> Generalize the helper ovl_open_maybe_copy_up() and use it to copy up file
> with data before FS_IOC_SETFLAGS ioctl.
>
> The FS_IOC_SETFLAGS ioctl is a bit of an odd ball in vfs, which probably
> caused the confusion. File may be open O_RDONLY, but ioctl modifies the
> file. VFS does not call mnt_want_write_file() nor lock inode mutex, but
> fs-specific code for FS_IOC_SETFLAGS does. So ovl_ioctl() calls
> mnt_want_write_file() for the overlay file, and fs-specific code calls
> mnt_want_write_file() for upper fs file, but there was no call for
> ovl_want_write() for copy up duration which prevents overlayfs from copying
> up on a frozen upper fs.
>
> Fixes: dab5ca8fd9dd ("ovl: add lsattr/chattr support")
> Cc: <stable(a)vger.kernel.org> # v4.19
> Signed-off-by: Amir Goldstein <amir73il(a)gmail.com>
> Acked-by: Vivek Goyal <vgoyal(a)redhat.com>
> Signed-off-by: Miklos Szeredi <mszeredi(a)redhat.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
>
> ---
> fs/overlayfs/copy_up.c | 6 +++---
> fs/overlayfs/file.c | 5 ++---
> fs/overlayfs/overlayfs.h | 2 +-
> 3 files changed, 6 insertions(+), 7 deletions(-)
>
> --- a/fs/overlayfs/copy_up.c
> +++ b/fs/overlayfs/copy_up.c
> @@ -878,14 +878,14 @@ static bool ovl_open_need_copy_up(struct
> return true;
> }
>
> -int ovl_open_maybe_copy_up(struct dentry *dentry, unsigned int file_flags)
> +int ovl_maybe_copy_up(struct dentry *dentry, int flags)
> {
> int err = 0;
>
> - if (ovl_open_need_copy_up(dentry, file_flags)) {
> + if (ovl_open_need_copy_up(dentry, flags)) {
> err = ovl_want_write(dentry);
> if (!err) {
> - err = ovl_copy_up_flags(dentry, file_flags);
> + err = ovl_copy_up_flags(dentry, flags);
> ovl_drop_write(dentry);
> }
> }
> --- a/fs/overlayfs/file.c
> +++ b/fs/overlayfs/file.c
> @@ -116,11 +116,10 @@ static int ovl_real_fdget(const struct f
>
> static int ovl_open(struct inode *inode, struct file *file)
> {
> - struct dentry *dentry = file_dentry(file);
> struct file *realfile;
> int err;
>
> - err = ovl_open_maybe_copy_up(dentry, file->f_flags);
> + err = ovl_maybe_copy_up(file_dentry(file), file->f_flags);
> if (err)
> return err;
>
> @@ -390,7 +389,7 @@ static long ovl_ioctl(struct file *file,
> if (ret)
> return ret;
>
> - ret = ovl_copy_up_with_data(file_dentry(file));
> + ret = ovl_maybe_copy_up(file_dentry(file), O_WRONLY);
> if (!ret) {
> ret = ovl_real_ioctl(file, cmd, arg);
>
> --- a/fs/overlayfs/overlayfs.h
> +++ b/fs/overlayfs/overlayfs.h
> @@ -411,7 +411,7 @@ extern const struct file_operations ovl_
> int ovl_copy_up(struct dentry *dentry);
> int ovl_copy_up_with_data(struct dentry *dentry);
> int ovl_copy_up_flags(struct dentry *dentry, int flags);
> -int ovl_open_maybe_copy_up(struct dentry *dentry, unsigned int file_flags);
> +int ovl_maybe_copy_up(struct dentry *dentry, int flags);
> int ovl_copy_xattr(struct dentry *old, struct dentry *new);
> int ovl_set_attr(struct dentry *upper, struct kstat *stat);
> struct ovl_fh *ovl_encode_real_fh(struct dentry *real, bool is_upper);
>
>
> Patches currently in stable-queue which might be from amir73il(a)gmail.com are
>
> queue-4.19/ovl-fix-missing-upper-fs-freeze-protection-on-copy-up-for-ioctl.patch
This patch is fine for stable, but I have a process question.
All these patches from overlayfs 5.2-rc1 are also v4.9 stable candidates:
1. acf3062a7e1c - ovl: relax WARN_ON() for overlapping layers use case
2. 98487de318a6 - ovl: check the capability before cred overridden
3. d989903058a8 - ovl: do not generate duplicate fsnotify events for "fake" path
4. 9e46b840c705 - ovl: support stacked SEEK_HOLE/SEEK_DATA
#2 wasn't properly marked for stable, but the other are marked with
Fixes: and Reported-by:
Are those marks not sufficient to get selected for stable trees these days?
I must admit that #1 in borderline stable. Not sure if eliminating an unjust
WARN_ON qualified, but syzbot did report a bug..
Just asking in order to improve the process, but in any case,
please pick those patches for v4.9+ (unless anyone objects?)
They all already have LTP/xfstests/syzkaller tests that cover them.
Thanks,
Amir.
This is a note to let you know that I've just added the patch titled
binder: fix possible UAF when freeing buffer
to my char-misc git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
in the char-misc-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From a370003cc301d4361bae20c9ef615f89bf8d1e8a Mon Sep 17 00:00:00 2001
From: Todd Kjos <tkjos(a)android.com>
Date: Wed, 12 Jun 2019 13:29:27 -0700
Subject: binder: fix possible UAF when freeing buffer
There is a race between the binder driver cleaning
up a completed transaction via binder_free_transaction()
and a user calling binder_ioctl(BC_FREE_BUFFER) to
release a buffer. It doesn't matter which is first but
they need to be protected against running concurrently
which can result in a UAF.
Signed-off-by: Todd Kjos <tkjos(a)google.com>
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/android/binder.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/drivers/android/binder.c b/drivers/android/binder.c
index 748ac489ef7e..bc26b5511f0a 100644
--- a/drivers/android/binder.c
+++ b/drivers/android/binder.c
@@ -1941,8 +1941,18 @@ static void binder_free_txn_fixups(struct binder_transaction *t)
static void binder_free_transaction(struct binder_transaction *t)
{
- if (t->buffer)
- t->buffer->transaction = NULL;
+ struct binder_proc *target_proc = t->to_proc;
+
+ if (target_proc) {
+ binder_inner_proc_lock(target_proc);
+ if (t->buffer)
+ t->buffer->transaction = NULL;
+ binder_inner_proc_unlock(target_proc);
+ }
+ /*
+ * If the transaction has no target_proc, then
+ * t->buffer->transaction has already been cleared.
+ */
binder_free_txn_fixups(t);
kfree(t);
binder_stats_deleted(BINDER_STAT_TRANSACTION);
@@ -3551,10 +3561,12 @@ static void binder_transaction(struct binder_proc *proc,
static void
binder_free_buf(struct binder_proc *proc, struct binder_buffer *buffer)
{
+ binder_inner_proc_lock(proc);
if (buffer->transaction) {
buffer->transaction->buffer = NULL;
buffer->transaction = NULL;
}
+ binder_inner_proc_unlock(proc);
if (buffer->async_transaction && buffer->target_node) {
struct binder_node *buf_node;
struct binder_work *w;
--
2.22.0
The patch below does not apply to the 4.19-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 c16b85559dcfb5a348cc085a7b4c75ed49b05e2c Mon Sep 17 00:00:00 2001
From: Helen Koike <helen.koike(a)collabora.com>
Date: Mon, 3 Jun 2019 13:56:09 -0300
Subject: [PATCH] drm/vc4: fix fb references in async update
Async update callbacks are expected to set the old_fb in the new_state
so prepare/cleanup framebuffers are balanced.
Calling drm_atomic_set_fb_for_plane() (which gets a reference of the new
fb and put the old fb) is not required, as it's taken care by
drm_mode_cursor_universal() when calling drm_atomic_helper_update_plane().
Cc: <stable(a)vger.kernel.org> # v4.19+
Fixes: 539c320bfa97 ("drm/vc4: update cursors asynchronously through atomic")
Suggested-by: Boris Brezillon <boris.brezillon(a)collabora.com>
Signed-off-by: Helen Koike <helen.koike(a)collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon(a)collabora.com>
Signed-off-by: Boris Brezillon <boris.brezillon(a)collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190603165610.24614-5-helen.…
diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c
index 4d918d3e4858..afc80b245ea3 100644
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -1025,7 +1025,7 @@ static void vc4_plane_atomic_async_update(struct drm_plane *plane,
{
struct vc4_plane_state *vc4_state, *new_vc4_state;
- drm_atomic_set_fb_for_plane(plane->state, state->fb);
+ swap(plane->state->fb, state->fb);
plane->state->crtc_x = state->crtc_x;
plane->state->crtc_y = state->crtc_y;
plane->state->crtc_w = state->crtc_w;
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 89a4aac0ab0e6f5eea10d7bf4869dd15c3de2cd4 Mon Sep 17 00:00:00 2001
From: Helen Koike <helen.koike(a)collabora.com>
Date: Mon, 3 Jun 2019 13:56:10 -0300
Subject: [PATCH] drm: don't block fb changes for async plane updates
In the case of a normal sync update, the preparation of framebuffers (be
it calling drm_atomic_helper_prepare_planes() or doing setups with
drm_framebuffer_get()) are performed in the new_state and the respective
cleanups are performed in the old_state.
In the case of async updates, the preparation is also done in the
new_state but the cleanups are done in the new_state (because updates
are performed in place, i.e. in the current state).
The current code blocks async udpates when the fb is changed, turning
async updates into sync updates, slowing down cursor updates and
introducing regressions in igt tests with errors of type:
"CRITICAL: completed 97 cursor updated in a period of 30 flips, we
expect to complete approximately 15360 updates, with the threshold set
at 7680"
Fb changes in async updates were prevented to avoid the following scenario:
- Async update, oldfb = NULL, newfb = fb1, prepare fb1, cleanup fb1
- Async update, oldfb = fb1, newfb = fb2, prepare fb2, cleanup fb2
- Non-async commit, oldfb = fb2, newfb = fb1, prepare fb1, cleanup fb2 (wrong)
Where we have a single call to prepare fb2 but double cleanup call to fb2.
To solve the above problems, instead of blocking async fb changes, we
place the old framebuffer in the new_state object, so when the code
performs cleanups in the new_state it will cleanup the old_fb and we
will have the following scenario instead:
- Async update, oldfb = NULL, newfb = fb1, prepare fb1, no cleanup
- Async update, oldfb = fb1, newfb = fb2, prepare fb2, cleanup fb1
- Non-async commit, oldfb = fb2, newfb = fb1, prepare fb1, cleanup fb2
Where calls to prepare/cleanup are balanced.
Cc: <stable(a)vger.kernel.org> # v4.14+
Fixes: 25dc194b34dd ("drm: Block fb changes for async plane updates")
Suggested-by: Boris Brezillon <boris.brezillon(a)collabora.com>
Signed-off-by: Helen Koike <helen.koike(a)collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon(a)collabora.com>
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas(a)amd.com>
Signed-off-by: Boris Brezillon <boris.brezillon(a)collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190603165610.24614-6-helen.…
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index 2e0cb4246cbd..22a5c617f670 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -1607,15 +1607,6 @@ int drm_atomic_helper_async_check(struct drm_device *dev,
old_plane_state->crtc != new_plane_state->crtc)
return -EINVAL;
- /*
- * FIXME: Since prepare_fb and cleanup_fb are always called on
- * the new_plane_state for async updates we need to block framebuffer
- * changes. This prevents use of a fb that's been cleaned up and
- * double cleanups from occuring.
- */
- if (old_plane_state->fb != new_plane_state->fb)
- return -EINVAL;
-
funcs = plane->helper_private;
if (!funcs->atomic_async_update)
return -EINVAL;
@@ -1646,6 +1637,8 @@ EXPORT_SYMBOL(drm_atomic_helper_async_check);
* drm_atomic_async_check() succeeds. Async commits are not supposed to swap
* the states like normal sync commits, but just do in-place changes on the
* current state.
+ *
+ * TODO: Implement full swap instead of doing in-place changes.
*/
void drm_atomic_helper_async_commit(struct drm_device *dev,
struct drm_atomic_state *state)
@@ -1656,6 +1649,9 @@ void drm_atomic_helper_async_commit(struct drm_device *dev,
int i;
for_each_new_plane_in_state(state, plane, plane_state, i) {
+ struct drm_framebuffer *new_fb = plane_state->fb;
+ struct drm_framebuffer *old_fb = plane->state->fb;
+
funcs = plane->helper_private;
funcs->atomic_async_update(plane, plane_state);
@@ -1664,11 +1660,17 @@ void drm_atomic_helper_async_commit(struct drm_device *dev,
* plane->state in-place, make sure at least common
* properties have been properly updated.
*/
- WARN_ON_ONCE(plane->state->fb != plane_state->fb);
+ WARN_ON_ONCE(plane->state->fb != new_fb);
WARN_ON_ONCE(plane->state->crtc_x != plane_state->crtc_x);
WARN_ON_ONCE(plane->state->crtc_y != plane_state->crtc_y);
WARN_ON_ONCE(plane->state->src_x != plane_state->src_x);
WARN_ON_ONCE(plane->state->src_y != plane_state->src_y);
+
+ /*
+ * Make sure the FBs have been swapped so that cleanups in the
+ * new_state performs a cleanup in the old FB.
+ */
+ WARN_ON_ONCE(plane_state->fb != old_fb);
}
}
EXPORT_SYMBOL(drm_atomic_helper_async_commit);
diff --git a/include/drm/drm_modeset_helper_vtables.h b/include/drm/drm_modeset_helper_vtables.h
index f9c94c2a1364..f7bbd0b0ecd1 100644
--- a/include/drm/drm_modeset_helper_vtables.h
+++ b/include/drm/drm_modeset_helper_vtables.h
@@ -1185,6 +1185,14 @@ struct drm_plane_helper_funcs {
* current one with the new plane configurations in the new
* plane_state.
*
+ * Drivers should also swap the framebuffers between current plane
+ * state (&drm_plane.state) and new_state.
+ * This is required since cleanup for async commits is performed on
+ * the new state, rather than old state like for traditional commits.
+ * Since we want to give up the reference on the current (old) fb
+ * instead of our brand new one, swap them in the driver during the
+ * async commit.
+ *
* FIXME:
* - It only works for single plane updates
* - Async Pageflips are not supported yet