Any write with either dd or flashcp to a device driven by the
spear_smi.c driver will pass through the spear_smi_cpy_toio()
function. This function will get called for chunks of up to 256 bytes.
If the amount of data is smaller, we may have a problem if the data
length is not 4-byte aligned. In this situation, the kernel panics
during the memcpy:
# dd if=/dev/urandom bs=1001 count=1 of=/dev/mtd6
spear_smi_cpy_toio [620] dest c9070000, src c7be8800, len 256
spear_smi_cpy_toio [620] dest c9070100, src c7be8900, len 256
spear_smi_cpy_toio [620] dest c9070200, src c7be8a00, len 256
spear_smi_cpy_toio [620] dest c9070300, src c7be8b00, len 233
Unhandled fault: external abort on non-linefetch (0x808) at 0xc90703e8
[...]
PC is at memcpy+0xcc/0x330
The above error occurs because the implementation of memcpy_toio()
tries to optimize the number of I/O by writing 4 bytes at a time as
much as possible, until there are less than 4 bytes left and then
switches to word or byte writes.
Unfortunately, the specification states about the Write Burst mode:
"the next AHB Write request should point to the next
incremented address and should have the same size (byte,
half-word or word)"
This means ARM architecture implementation of memcpy_toio() cannot
reliably be used blindly here. Workaround this situation by update the
write path to stick to byte access when the burst length is not
multiple of 4.
Fixes: f18dbbb1bfe0 ("mtd: ST SPEAr: Add SMI driver for serial NOR flash")
Cc: Russell King <linux(a)armlinux.org.uk>
Cc: Boris Brezillon <boris.brezillon(a)collabora.com>
Cc: stable(a)vger.kernel.org
Signed-off-by: Miquel Raynal <miquel.raynal(a)bootlin.com>
---
Changes in v4:
==============
* Change a cast to avoid potential warnings:
s/unsigned int/uintptr_t/
Changes in v3:
==============
* Prevent writes to non 4-byte aligned addresses to fail.
* Use the IS_ALIGNED() macro.
* Add a comment to explain why the 'memcpy_toio_b' helper is needed
directly in the code.
Changes in v2:
==============
* This time I think the patch really fixes the problem: we use a
memcpy_toio_b() function to force byte access only when needed. We
don't use the _memcpy_toio() helper anymore as the fact that it is
doing byte access is purely an implementation detail and is not part
of the API, while the function is also flagged as "should be
optimized".
* One could argue that potentially memcpy_toio() does not ensure by
design 4-bytes access only but I think it is good enough to use it
in this case as the ARM implementation of this function is already
extensively optimized. I also find clearer to use it than
adding my own spear_smi_mempy_toio_l(). Please tell me if you disagree
with this.
* The volatile keyword has been taken voluntarily from the _memcpy_toio()
implementation I was about to use previously.
drivers/mtd/devices/spear_smi.c | 38 ++++++++++++++++++++++++++++++++-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/devices/spear_smi.c b/drivers/mtd/devices/spear_smi.c
index 986f81d2f93e..47ad0766affa 100644
--- a/drivers/mtd/devices/spear_smi.c
+++ b/drivers/mtd/devices/spear_smi.c
@@ -592,6 +592,26 @@ static int spear_mtd_read(struct mtd_info *mtd, loff_t from, size_t len,
return 0;
}
+/*
+ * The purpose of this function is to ensure a memcpy_toio() with byte writes
+ * only. Its structure is inspired from the ARM implementation of _memcpy_toio()
+ * which also does single byte writes but cannot be used here as this is just an
+ * implementation detail and not part of the API. Not mentioning the comment
+ * stating that _memcpy_toio() should be optimized.
+ */
+static void spear_smi_memcpy_toio_b(volatile void __iomem *dest,
+ const void *src, size_t len)
+{
+ const unsigned char *from = src;
+
+ while (len) {
+ len--;
+ writeb(*from, dest);
+ from++;
+ dest++;
+ }
+}
+
static inline int spear_smi_cpy_toio(struct spear_smi *dev, u32 bank,
void __iomem *dest, const void *src, size_t len)
{
@@ -614,7 +634,23 @@ static inline int spear_smi_cpy_toio(struct spear_smi *dev, u32 bank,
ctrlreg1 = readl(dev->io_base + SMI_CR1);
writel((ctrlreg1 | WB_MODE) & ~SW_MODE, dev->io_base + SMI_CR1);
- memcpy_toio(dest, src, len);
+ /*
+ * In Write Burst mode (WB_MODE), the specs states that writes must be:
+ * - incremental
+ * - of the same size
+ * The ARM implementation of memcpy_toio() will optimize the number of
+ * I/O by using as much 4-byte writes as possible, surrounded by
+ * 2-byte/1-byte access if:
+ * - the destination is not 4-byte aligned
+ * - the length is not a multiple of 4-byte.
+ * Avoid this alternance of write access size by using our own 'byte
+ * access' helper if at least one of the two conditions above is true.
+ */
+ if (IS_ALIGNED(len, sizeof(u32)) &&
+ IS_ALIGNED((uintptr_t)dest, sizeof(u32)))
+ memcpy_toio(dest, src, len);
+ else
+ spear_smi_memcpy_toio_b(dest, src, len);
writel(ctrlreg1, dev->io_base + SMI_CR1);
--
2.20.1
The patch titled
Subject: dump_stack: avoid the livelock of the dump_lock
has been added to the -mm tree. Its filename is
dump_stack-avoid-the-livelock-of-the-dump_lock.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/dump_stack-avoid-the-livelock-of-t…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/dump_stack-avoid-the-livelock-of-t…
Before you just go and hit "reply", please:
a) Consider who else should be cc'ed
b) Prefer to cc a suitable mailing list as well
c) Ideally: find the original patch on the mailing list and do a
reply-to-all to that, adding suitable additional cc's
*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***
The -mm tree is included into linux-next and is updated
there every 3-4 working days
------------------------------------------------------
From: Kevin Hao <haokexin(a)gmail.com>
Subject: dump_stack: avoid the livelock of the dump_lock
In the current code, we use the atomic_cmpxchg() to serialize the output
of the dump_stack(), but this implementation suffers the thundering herd
problem. We have observed such kind of livelock on a Marvell cn96xx
board(24 cpus) when heavily using the dump_stack() in a kprobe handler.
Actually we can let the competitors to wait for the releasing of the lock
before jumping to atomic_cmpxchg(). This will definitely mitigate the
thundering herd problem. Thanks Linus for the suggestion.
Link: http://lkml.kernel.org/r/20191030031637.6025-1-haokexin@gmail.com
Fixes: b58d977432c8 ("dump_stack: serialize the output from dump_stack()")
Signed-off-by: Kevin Hao <haokexin(a)gmail.com>
Suggested-by: Linus Torvalds <torvalds(a)linux-foundation.org>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
lib/dump_stack.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--- a/lib/dump_stack.c~dump_stack-avoid-the-livelock-of-the-dump_lock
+++ a/lib/dump_stack.c
@@ -106,7 +106,11 @@ retry:
was_locked = 1;
} else {
local_irq_restore(flags);
- cpu_relax();
+ /*
+ * Wait the lock to release before jumping to atomic_cmpxchg()
+ * in order to mitigate the thundering herd problem.
+ */
+ do { cpu_relax(); } while (atomic_read(&dump_lock) != -1);
goto retry;
}
_
Patches currently in -mm which might be from haokexin(a)gmail.com are
dump_stack-avoid-the-livelock-of-the-dump_lock.patch
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: 96dab4347cbe - Linux 5.3.8-rc2
The results of these automated tests are provided below.
Overall result: FAILED (see details below)
Merge: OK
Compile: OK
Tests: FAILED
All kernel binaries, config files, and logs are available for download here:
https://artifacts.cki-project.org/pipelines/253188
One or more kernel tests failed:
ppc64le:
❌ xfstests: ext4
❌ xfstests: xfs
aarch64:
❌ xfstests: ext4
❌ xfstests: xfs
x86_64:
❌ xfstests: ext4
❌ xfstests: xfs
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
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 3 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
✅ LTP lite
✅ Loopdev Sanity
✅ jvm test suite
✅ Memory function: memfd_create
✅ Memory function: kaslr
✅ AMTU (Abstract Machine Test Utility)
✅ LTP: openposix test suite
✅ Ethernet drivers sanity
✅ Networking MACsec: sanity
✅ Networking socket: fuzz
✅ Networking sctp-auth: sockopts test
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ Networking tunnel: vxlan basic
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ iotop: sanity
✅ tuned: tune-processes-through-perf
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ Usex - version 1.9-29
✅ storage: SCSI VPD
✅ stress: stress-ng
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ Networking bridge: sanity
🚧 ✅ Networking route_func: local
✅ Networking route_func: forward
🚧 ✅ L2TP basic test
🚧 ✅ Networking vnic: ipvlan/basic
🚧 ✅ storage: dm/common
🚧 ✅ Networking ipsec: basic netns transport
🚧 ✅ Networking ipsec: basic netns tunnel
Host 2:
✅ Boot test
❌ xfstests: ext4
❌ xfstests: xfs
✅ selinux-policy: serge-testsuite
✅ lvm thinp sanity
✅ storage: software RAID testing
🚧 ✅ Storage blktests
ppc64le:
Host 1:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
✅ LTP lite
✅ Loopdev Sanity
✅ jvm test suite
✅ Memory function: memfd_create
✅ Memory function: kaslr
✅ AMTU (Abstract Machine Test Utility)
✅ LTP: openposix test suite
✅ Ethernet drivers sanity
✅ Networking MACsec: sanity
✅ Networking socket: fuzz
✅ Networking sctp-auth: sockopts test
✅ Networking route: pmtu
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ Networking tunnel: vxlan basic
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ iotop: sanity
✅ tuned: tune-processes-through-perf
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ Usex - version 1.9-29
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ Networking bridge: sanity
🚧 ✅ Networking route_func: local
✅ Networking route_func: forward
🚧 ✅ L2TP basic test
🚧 ✅ Networking ipsec: basic netns tunnel
🚧 ✅ Networking vnic: ipvlan/basic
🚧 ✅ storage: dm/common
Host 2:
✅ Boot test
❌ xfstests: ext4
❌ xfstests: xfs
✅ selinux-policy: serge-testsuite
✅ lvm thinp sanity
✅ storage: software RAID testing
🚧 ✅ Storage blktests
x86_64:
Host 1:
✅ Boot test
❌ xfstests: ext4
❌ xfstests: xfs
✅ selinux-policy: serge-testsuite
✅ lvm thinp sanity
✅ storage: software RAID testing
🚧 ✅ IOMMU boot test
🚧 ✅ Storage blktests
Host 2:
✅ Boot test
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
Host 3:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
✅ LTP lite
✅ Loopdev Sanity
✅ jvm test suite
✅ Memory function: memfd_create
✅ Memory function: kaslr
✅ AMTU (Abstract Machine Test Utility)
✅ LTP: openposix test suite
✅ Ethernet drivers sanity
✅ Networking MACsec: sanity
✅ Networking socket: fuzz
✅ Networking sctp-auth: sockopts test
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ Networking tunnel: vxlan basic
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ iotop: sanity
✅ tuned: tune-processes-through-perf
✅ pciutils: sanity smoke test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ Usex - version 1.9-29
✅ storage: SCSI VPD
✅ stress: stress-ng
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ Networking bridge: sanity
🚧 ✅ Networking route_func: local
✅ Networking route_func: forward
🚧 ✅ L2TP basic test
🚧 ✅ Networking vnic: ipvlan/basic
🚧 ✅ storage: dm/common
🚧 ✅ Networking ipsec: basic netns transport
🚧 ✅ Networking ipsec: basic netns tunnel
Test sources: https://github.com/CKI-project/tests-beaker
💚 Pull requests are welcome for new tests or improvements to existing tests!
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. 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.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running are marked with ⏱. Reports for non-upstream kernels have
a Beaker recipe linked to next to each host.
The patch titled
Subject: mm/hugetlbfs: fix error handling when setting up mounts
has been added to the -mm tree. Its filename is
mm-hugetlbfs-fix-error-handling-when-setting-up-mounts.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/mm-hugetlbfs-fix-error-handling-wh…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/mm-hugetlbfs-fix-error-handling-wh…
Before you just go and hit "reply", please:
a) Consider who else should be cc'ed
b) Prefer to cc a suitable mailing list as well
c) Ideally: find the original patch on the mailing list and do a
reply-to-all to that, adding suitable additional cc's
*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***
The -mm tree is included into linux-next and is updated
there every 3-4 working days
------------------------------------------------------
From: Mike Kravetz <mike.kravetz(a)oracle.com>
Subject: mm/hugetlbfs: fix error handling when setting up mounts
It is assumed that the hugetlbfs_vfsmount[] array will contain either a
valid vfsmount pointer or NULL for each hstate after initialization.
Changes made while converting to use fs_context broke this assumption.
While fixing the hugetlbfs_vfsmount issue, it was discovered that
init_hugetlbfs_fs never did correctly clean up when encountering a vfs
mount error.
Link: http://lkml.kernel.org/r/94b6244d-2c24-e269-b12c-e3ba694b242d@oracle.com
Reported-by: Chengguang Xu <cgxu519(a)mykernel.net>
Fixes: 32021982a324 ("hugetlbfs: Convert to fs_context")
Signed-off-by: Mike Kravetz <mike.kravetz(a)oracle.com>
Cc: David Howells <dhowells(a)redhat.com>
Cc: Al Viro <viro(a)zeniv.linux.org.uk>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
fs/hugetlbfs/inode.c | 31 ++++++++++++++++++++++---------
1 file changed, 22 insertions(+), 9 deletions(-)
--- a/fs/hugetlbfs/inode.c~mm-hugetlbfs-fix-error-handling-when-setting-up-mounts
+++ a/fs/hugetlbfs/inode.c
@@ -1461,28 +1461,41 @@ static int __init init_hugetlbfs_fs(void
sizeof(struct hugetlbfs_inode_info),
0, SLAB_ACCOUNT, init_once);
if (hugetlbfs_inode_cachep == NULL)
- goto out2;
+ goto out;
error = register_filesystem(&hugetlbfs_fs_type);
if (error)
- goto out;
+ goto out_free;
+
+ /* default hstate mount is required */
+ mnt = mount_one_hugetlbfs(&hstates[default_hstate_idx]);
+ if (IS_ERR(mnt)) {
+ error = PTR_ERR(mnt);
+ goto out_unreg;
+ }
+ hugetlbfs_vfsmount[default_hstate_idx] = mnt;
+ /* other hstates are optional */
i = 0;
for_each_hstate(h) {
+ if (i == default_hstate_idx)
+ continue;
+
mnt = mount_one_hugetlbfs(h);
- if (IS_ERR(mnt) && i == 0) {
- error = PTR_ERR(mnt);
- goto out;
- }
- hugetlbfs_vfsmount[i] = mnt;
+ if (IS_ERR(mnt))
+ hugetlbfs_vfsmount[i] = NULL;
+ else
+ hugetlbfs_vfsmount[i] = mnt;
i++;
}
return 0;
- out:
+ out_unreg:
+ (void)unregister_filesystem(&hugetlbfs_fs_type);
+ out_free:
kmem_cache_destroy(hugetlbfs_inode_cachep);
- out2:
+ out:
return error;
}
fs_initcall(init_hugetlbfs_fs)
_
Patches currently in -mm which might be from mike.kravetz(a)oracle.com are
mm-hugetlbfs-fix-error-handling-when-setting-up-mounts.patch
hugetlbfs-hugetlb_fault_mutex_hash-cleanup.patch
Hello,
We ran automated tests on a patchset that was proposed for merging into this
kernel tree. The patches were applied to:
Kernel repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Commit: 95180e47e77a - Linux 5.3.8
The results of these automated tests are provided below.
Overall result: FAILED (see details below)
Merge: OK
Compile: OK
Tests: FAILED
All kernel binaries, config files, and logs are available for download here:
https://artifacts.cki-project.org/pipelines/254944
One or more kernel tests failed:
x86_64:
❌ xfstests: xfs
❌ LTP lite
ppc64le:
❌ xfstests: xfs
aarch64:
❌ xfstests: xfs
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: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Commit: 95180e47e77a - Linux 5.3.8
We grabbed the cd7c09bbb80c commit of the stable queue repository.
We then merged the patchset with `git am`:
io_uring-fix-up-o_nonblock-handling-for-sockets.patch
dm-snapshot-introduce-account_start_copy-and-account.patch
dm-snapshot-rework-cow-throttling-to-fix-deadlock.patch
btrfs-fix-inode-cache-block-reserve-leak-on-failure-.patch
btrfs-qgroup-always-free-prealloc-meta-reserve-in-bt.patch
iio-adc-meson_saradc-fix-memory-allocation-order.patch
iio-fix-center-temperature-of-bmc150-accel-core.patch
libsubcmd-make-_fortify_source-defines-dependent-on-.patch
perf-tests-avoid-raising-segv-using-an-obvious-null-.patch
perf-map-fix-overlapped-map-handling.patch
perf-script-brstackinsn-fix-recovery-from-lbr-binary.patch
perf-jevents-fix-period-for-intel-fixed-counters.patch
perf-tools-propagate-get_cpuid-error.patch
perf-annotate-propagate-perf_env__arch-error.patch
perf-annotate-fix-the-signedness-of-failure-returns.patch
perf-annotate-propagate-the-symbol__annotate-error-r.patch
perf-annotate-fix-arch-specific-init-failure-errors.patch
perf-annotate-return-appropriate-error-code-for-allo.patch
perf-annotate-don-t-return-1-for-error-when-doing-bp.patch
staging-rtl8188eu-fix-null-dereference-when-kzalloc-.patch
rdma-siw-fix-serialization-issue-in-write_space.patch
rdma-hfi1-prevent-memory-leak-in-sdma_init.patch
rdma-iw_cxgb4-fix-srq-access-from-dump_qp.patch
rdma-iwcm-fix-a-lock-inversion-issue.patch
hid-hyperv-use-in-place-iterator-api-in-the-channel-.patch
kselftest-exclude-failed-targets-from-runlist.patch
selftests-kselftest-runner.sh-add-45-second-timeout-.patch
nfs-fix-nfsi-nrequests-count-error-on-nfs_inode_remo.patch
arm64-cpufeature-effectively-expose-frint-capability.patch
arm64-fix-incorrect-irqflag-restore-for-priority-mas.patch
arm64-ftrace-ensure-synchronisation-in-plt-setup-for.patch
tty-serial-owl-fix-the-link-time-qualifier-of-owl_ua.patch
tty-serial-rda-fix-the-link-time-qualifier-of-rda_ua.patch
serial-sifive-select-serial_earlycon.patch
tty-n_hdlc-fix-build-on-sparc.patch
misc-fastrpc-prevent-memory-leak-in-fastrpc_dma_buf_.patch
rdma-core-fix-an-error-handling-path-in-res_get_comm.patch
rdma-cm-fix-memory-leak-in-cm_add-remove_one.patch
rdma-nldev-reshuffle-the-code-to-avoid-need-to-rebin.patch
rdma-mlx5-do-not-allow-rereg-of-a-odp-mr.patch
rdma-mlx5-order-num_pending_prefetch-properly-with-s.patch
rdma-mlx5-add-missing-synchronize_srcu-for-mw-cases.patch
gpio-max77620-use-correct-unit-for-debounce-times.patch
fs-cifs-mute-wunused-const-variable-message.patch
arm64-vdso32-fix-broken-compat-vdso-build-warnings.patch
arm64-vdso32-detect-binutils-support-for-dmb-ishld.patch
serial-mctrl_gpio-check-for-null-pointer.patch
serial-8250_omap-fix-gpio-check-for-auto-rts-cts.patch
arm64-default-to-building-compat-vdso-with-clang-whe.patch
arm64-vdso32-don-t-use-kbuild_cppflags-unconditional.patch
efi-cper-fix-endianness-of-pcie-class-code.patch
efi-x86-do-not-clean-dummy-variable-in-kexec-path.patch
mips-include-mark-__cmpxchg-as-__always_inline.patch
riscv-avoid-kernel-hangs-when-trapped-in-bug.patch
riscv-avoid-sending-a-sigtrap-to-a-user-thread-trapp.patch
riscv-correct-the-handling-of-unexpected-ebreak-in-d.patch
x86-xen-return-from-panic-notifier.patch
ocfs2-clear-zero-in-unaligned-direct-io.patch
fs-ocfs2-fix-possible-null-pointer-dereferences-in-o.patch
fs-ocfs2-fix-a-possible-null-pointer-dereference-in-.patch
fs-ocfs2-fix-a-possible-null-pointer-dereference-in-.patch
btrfs-silence-maybe-uninitialized-warning-in-clone_r.patch
arm64-armv8_deprecated-checking-return-value-for-mem.patch
x86-cpu-add-comet-lake-to-the-intel-cpu-models-heade.patch
sched-fair-scale-bandwidth-quota-and-period-without-.patch
sched-vtime-fix-guest-system-mis-accounting-on-task-.patch
perf-core-rework-memory-accounting-in-perf_mmap.patch
perf-core-fix-corner-case-in-perf_rotate_context.patch
perf-x86-amd-change-fix-nmi-latency-mitigation-to-us.patch
drm-amdgpu-fix-memory-leak.patch
iio-imu-adis16400-release-allocated-memory-on-failur.patch
iio-imu-adis16400-fix-memory-leak.patch
iio-imu-st_lsm6dsx-fix-waitime-for-st_lsm6dsx-i2c-co.patch
mips-include-mark-__xchg-as-__always_inline.patch
mips-fw-sni-fix-out-of-bounds-init-of-o32-stack.patch
s390-cio-fix-virtio-ccw-dma-without-pv.patch
virt-vbox-fix-memory-leak-in-hgcm_call_preprocess_li.patch
nbd-fix-possible-sysfs-duplicate-warning.patch
nfsv4-fix-leak-of-clp-cl_acceptor-string.patch
sunrpc-fix-race-to-sk_err-after-xs_error_report.patch
s390-uaccess-avoid-false-positive-compiler-warnings.patch
tracing-initialize-iter-seq-after-zeroing-in-tracing.patch
Compile testing
---------------
We compiled the kernel for 3 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test
❌ xfstests: xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
🚧 ✅ Storage blktests
Host 2:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
✅ LTP lite
✅ Loopdev Sanity
✅ jvm test suite
✅ AMTU (Abstract Machine Test Utility)
✅ LTP: openposix test suite
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ iotop: sanity
✅ tuned: tune-processes-through-perf
✅ Usex - version 1.9-29
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ⚡⚡⚡ storage: dm/common
ppc64le:
Host 1:
✅ Boot test
❌ xfstests: xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
🚧 ✅ Storage blktests
Host 2:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
✅ LTP lite
✅ Loopdev Sanity
✅ jvm test suite
✅ AMTU (Abstract Machine Test Utility)
✅ LTP: openposix test suite
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ iotop: sanity
✅ tuned: tune-processes-through-perf
✅ Usex - version 1.9-29
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ storage: dm/common
x86_64:
Host 1:
✅ Boot test
❌ xfstests: xfs
⚡⚡⚡ selinux-policy: serge-testsuite
⚡⚡⚡ storage: software RAID testing
🚧 ⚡⚡⚡ Storage blktests
Host 2:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
❌ LTP lite
✅ Loopdev Sanity
✅ jvm test suite
✅ AMTU (Abstract Machine Test Utility)
✅ LTP: openposix test suite
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ iotop: sanity
✅ tuned: tune-processes-through-perf
✅ pciutils: sanity smoke test
✅ Usex - version 1.9-29
✅ stress: stress-ng
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ storage: dm/common
Host 3:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
🚧 ⚡⚡⚡ /kernel/infiniband/env_setup
🚧 ⚡⚡⚡ /kernel/infiniband/sanity
Host 4:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
🚧 ⚡⚡⚡ /kernel/infiniband/env_setup
🚧 ⚡⚡⚡ /kernel/infiniband/sanity
Host 5:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
🚧 ⚡⚡⚡ /kernel/infiniband/env_setup
🚧 ⚡⚡⚡ /kernel/infiniband/sanity
Host 6:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
🚧 ⚡⚡⚡ /kernel/infiniband/env_setup
🚧 ⚡⚡⚡ /kernel/infiniband/sanity
Test sources: https://github.com/CKI-project/tests-beaker
💚 Pull requests are welcome for new tests or improvements to existing tests!
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. 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.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running are marked with ⏱. Reports for non-upstream kernels have
a Beaker recipe linked to next to each host.
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: db0655e705be - Linux 5.3.8
The results of these automated tests are provided below.
Overall result: FAILED (see details below)
Merge: OK
Compile: OK
Tests: FAILED
All kernel binaries, config files, and logs are available for download here:
https://artifacts.cki-project.org/pipelines/254694
One or more kernel tests failed:
ppc64le:
❌ xfstests: ext4
❌ xfstests: xfs
aarch64:
❌ xfstests: ext4
❌ xfstests: xfs
x86_64:
❌ xfstests: ext4
❌ xfstests: xfs
❌ LTP lite
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
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 3 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
✅ LTP lite
✅ Loopdev Sanity
✅ jvm test suite
✅ Memory function: memfd_create
✅ Memory function: kaslr
✅ AMTU (Abstract Machine Test Utility)
✅ LTP: openposix test suite
✅ Ethernet drivers sanity
✅ Networking MACsec: sanity
✅ Networking socket: fuzz
✅ Networking sctp-auth: sockopts test
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ Networking tunnel: vxlan basic
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ iotop: sanity
✅ tuned: tune-processes-through-perf
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ Usex - version 1.9-29
✅ storage: SCSI VPD
✅ stress: stress-ng
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ Networking bridge: sanity
🚧 ✅ Networking route_func: local
✅ Networking route_func: forward
🚧 ✅ L2TP basic test
🚧 ✅ Networking vnic: ipvlan/basic
🚧 ✅ storage: dm/common
🚧 ✅ Networking ipsec: basic netns transport
🚧 ✅ Networking ipsec: basic netns tunnel
Host 2:
✅ Boot test
❌ xfstests: ext4
❌ xfstests: xfs
✅ selinux-policy: serge-testsuite
✅ lvm thinp sanity
✅ storage: software RAID testing
🚧 ✅ Storage blktests
ppc64le:
Host 1:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
✅ LTP lite
✅ Loopdev Sanity
✅ jvm test suite
✅ Memory function: memfd_create
✅ Memory function: kaslr
✅ AMTU (Abstract Machine Test Utility)
✅ LTP: openposix test suite
✅ Ethernet drivers sanity
✅ Networking MACsec: sanity
✅ Networking socket: fuzz
✅ Networking sctp-auth: sockopts test
✅ Networking route: pmtu
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ Networking tunnel: vxlan basic
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ iotop: sanity
✅ tuned: tune-processes-through-perf
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ Usex - version 1.9-29
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ Networking bridge: sanity
🚧 ✅ Networking route_func: local
✅ Networking route_func: forward
🚧 ✅ L2TP basic test
🚧 ✅ Networking ipsec: basic netns tunnel
🚧 ✅ Networking vnic: ipvlan/basic
🚧 ✅ storage: dm/common
Host 2:
✅ Boot test
❌ xfstests: ext4
❌ xfstests: xfs
✅ selinux-policy: serge-testsuite
✅ lvm thinp sanity
✅ storage: software RAID testing
🚧 ✅ Storage blktests
x86_64:
Host 1:
✅ Boot test
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
Host 2:
✅ Boot test
❌ xfstests: ext4
❌ xfstests: xfs
✅ selinux-policy: serge-testsuite
✅ lvm thinp sanity
✅ storage: software RAID testing
🚧 ✅ IOMMU boot test
🚧 ✅ Storage blktests
Host 3:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
❌ LTP lite
✅ Loopdev Sanity
✅ jvm test suite
✅ Memory function: memfd_create
✅ Memory function: kaslr
✅ AMTU (Abstract Machine Test Utility)
✅ LTP: openposix test suite
✅ Ethernet drivers sanity
✅ Networking MACsec: sanity
✅ Networking socket: fuzz
✅ Networking sctp-auth: sockopts test
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ Networking tunnel: vxlan basic
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ iotop: sanity
✅ tuned: tune-processes-through-perf
✅ pciutils: sanity smoke test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ Usex - version 1.9-29
✅ storage: SCSI VPD
✅ stress: stress-ng
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ Networking bridge: sanity
🚧 ✅ Networking route_func: local
✅ Networking route_func: forward
🚧 ✅ L2TP basic test
🚧 ✅ Networking vnic: ipvlan/basic
🚧 ✅ storage: dm/common
🚧 ✅ Networking ipsec: basic netns transport
🚧 ✅ Networking ipsec: basic netns tunnel
Test sources: https://github.com/CKI-project/tests-beaker
💚 Pull requests are welcome for new tests or improvements to existing tests!
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. 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.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running are marked with ⏱. Reports for non-upstream kernels have
a Beaker recipe linked to next to each host.
Hello,
We ran automated tests on a patchset that was proposed for merging into this
kernel tree. The patches were applied to:
Kernel repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Commit: 365dab61f74e - Linux 5.3.7
The results of these automated tests are provided below.
Overall result: FAILED (see details below)
Merge: OK
Compile: OK
Tests: FAILED
All kernel binaries, config files, and logs are available for download here:
https://artifacts.cki-project.org/pipelines/254661
One or more kernel tests failed:
ppc64le:
❌ xfstests: xfs
aarch64:
❌ xfstests: xfs
x86_64:
❌ xfstests: xfs
❌ LTP lite
❌ Networking route_func: forward
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: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Commit: 365dab61f74e - Linux 5.3.7
We grabbed the 5cedd5ac8c8f commit of the stable queue repository.
We then merged the patchset with `git am`:
drm-free-the-writeback_job-when-it-with-an-empty-fb.patch
drm-clear-the-fence-pointer-when-writeback-job-signa.patch
clk-ti-dra7-fix-mcasp8-clock-bits.patch
arm-dts-fix-wrong-clocks-for-dra7-mcasp.patch
nvme-pci-fix-a-race-in-controller-removal.patch
scsi-ufs-skip-shutdown-if-hba-is-not-powered.patch
scsi-megaraid-disable-device-when-probe-failed-after.patch
scsi-qla2xxx-silence-fwdump-template-message.patch
scsi-qla2xxx-fix-unbound-sleep-in-fcport-delete-path.patch
scsi-qla2xxx-fix-stale-mem-access-on-driver-unload.patch
scsi-qla2xxx-fix-n2n-link-reset.patch
scsi-qla2xxx-fix-n2n-link-up-fail.patch
arm-dts-fix-gpio0-flags-for-am335x-icev2.patch
arm-omap2-fix-missing-reset-done-flag-for-am3-and-am.patch
arm-omap2-add-missing-lcdc-midlemode-for-am335x.patch
arm-omap2-fix-warnings-with-broken-omap2_set_init_vo.patch
nvme-tcp-fix-wrong-stop-condition-in-io_work.patch
nvme-pci-save-pci-state-before-putting-drive-into-de.patch
nvme-fix-an-error-code-in-nvme_init_subsystem.patch
nvme-rdma-fix-max_hw_sectors-calculation.patch
added-quirks-for-adata-xpg-sx8200-pro-512gb.patch
nvme-add-quirk-for-kingston-nvme-ssd-running-fw-e8fk.patch
nvme-allow-64-bit-results-in-passthru-commands.patch
drm-komeda-prevent-memory-leak-in-komeda_wb_connecto.patch
nvme-rdma-fix-possible-use-after-free-in-connect-tim.patch
blk-mq-honor-io-scheduler-for-multiqueue-devices.patch
ieee802154-ca8210-prevent-memory-leak.patch
arm-dts-am4372-set-memory-bandwidth-limit-for-dispc.patch
net-dsa-qca8k-use-up-to-7-ports-for-all-operations.patch
mips-dts-ar9331-fix-interrupt-controller-size.patch
xen-efi-set-nonblocking-callbacks.patch
loop-change-queue-block-size-to-match-when-using-dio.patch
nl80211-fix-null-pointer-dereference.patch
mac80211-fix-txq-null-pointer-dereference.patch
netfilter-nft_connlimit-disable-bh-on-garbage-collec.patch
net-mscc-ocelot-add-missing-of_node_put-after-callin.patch
net-dsa-rtl8366rb-add-missing-of_node_put-after-call.patch
net-stmmac-xgmac-not-all-unicast-addresses-may-be-av.patch
net-stmmac-dwmac4-always-update-the-mac-hash-filter.patch
net-stmmac-correctly-take-timestamp-for-ptpv2.patch
net-stmmac-do-not-stop-phy-if-wol-is-enabled.patch
net-ag71xx-fix-mdio-subnode-support.patch
risc-v-clear-load-reservations-while-restoring-hart-.patch
riscv-fix-memblock-reservation-for-device-tree-blob.patch
drm-amdgpu-fix-multiple-memory-leaks-in-acp_hw_init.patch
drm-amd-display-memory-leak.patch
mips-loongson-fix-the-link-time-qualifier-of-serial_.patch
net-hisilicon-fix-usage-of-uninitialized-variable-in.patch
net-stmmac-avoid-deadlock-on-suspend-resume.patch
selftests-kvm-fix-libkvm-build-error.patch
lib-textsearch-fix-escapes-in-example-code.patch
s390-mm-fix-wunused-but-set-variable-warnings.patch
r8152-set-macpassthru-in-reset_resume-callback.patch
net-phy-allow-for-reset-line-to-be-tied-to-a-sleepy-.patch
net-phy-fix-write-to-mii-ctrl1000-register.patch
namespace-fix-namespace.pl-script-to-support-relativ.patch
convert-filldir-64-from-__put_user-to-unsafe_put_use.patch
elf-don-t-use-map_fixed_noreplace-for-elf-executable.patch
make-filldir-64-verify-the-directory-entry-filename-.patch
uaccess-implement-a-proper-unsafe_copy_to_user-and-s.patch
filldir-64-remove-warn_on_once-for-bad-directory-ent.patch
net_sched-fix-backward-compatibility-for-tca_kind.patch
net_sched-fix-backward-compatibility-for-tca_act_kin.patch
libata-ahci-fix-pcs-quirk-application.patch
md-raid0-fix-warning-message-for-parameter-default_l.patch
revert-drm-radeon-fix-eeh-during-kexec.patch
ocfs2-fix-panic-due-to-ocfs2_wq-is-null.patch
nvme-pci-set-the-prp2-correctly-when-using-more-than-4k-page.patch
ipv4-fix-race-condition-between-route-lookup-and-invalidation.patch
ipv4-return-enetunreach-if-we-can-t-create-route-but-saddr-is-valid.patch
net-avoid-potential-infinite-loop-in-tc_ctl_action.patch
net-bcmgenet-fix-rgmii_mode_en-value-for-genet-v1-2-3.patch
net-bcmgenet-set-phydev-dev_flags-only-for-internal-phys.patch
net-i82596-fix-dma_alloc_attr-for-sni_82596.patch
net-ibmvnic-fix-eoi-when-running-in-xive-mode.patch
net-ipv6-fix-listify-ip6_rcv_finish-in-case-of-forwarding.patch
net-stmmac-disable-enable-ptp_ref_clk-in-suspend-resume-flow.patch
rxrpc-fix-possible-null-pointer-access-in-icmp-handling.patch
sched-etf-fix-ordering-of-packets-with-same-txtime.patch
sctp-change-sctp_prot-.no_autobind-with-true.patch
net-aquantia-temperature-retrieval-fix.patch
net-aquantia-when-cleaning-hw-cache-it-should-be-toggled.patch
net-aquantia-do-not-pass-lro-session-with-invalid-tcp-checksum.patch
net-aquantia-correctly-handle-macvlan-and-multicast-coexistence.patch
net-phy-micrel-discern-ksz8051-and-ksz8795-phys.patch
net-phy-micrel-update-ksz87xx-phy-name.patch
net-avoid-errors-when-trying-to-pop-mlps-header-on-non-mpls-packets.patch
net-sched-fix-corrupted-l2-header-with-mpls-push-and-pop-actions.patch
netdevsim-fix-error-handling-in-nsim_fib_init-and-nsim_fib_exit.patch
net-ethernet-broadcom-have-drivers-select-dimlib-as-needed.patch
net-phy-fix-link-partner-information-disappear-issue.patch
lsm-safesetid-stop-releasing-uninitialized-ruleset.patch
rxrpc-use-rcu-protection-while-reading-sk-sk_user_da.patch
io_uring-fix-bad-inflight-accounting-for-setup_iopoll-setup_sqthread.patch
io_uring-fix-corrupted-user_data.patch
usb-legousbtower-fix-memleak-on-disconnect.patch
alsa-hda-realtek-add-support-for-alc711.patch
alsa-hda-realtek-enable-headset-mic-on-asus-mj401ta.patch
alsa-usb-audio-disable-quirks-for-boss-katana-amplifiers.patch
alsa-hda-force-runtime-pm-on-nvidia-hdmi-codecs.patch
usb-udc-lpc32xx-fix-bad-bit-shift-operation.patch
usb-serial-ti_usb_3410_5052-fix-port-close-races.patch
usb-ldusb-fix-memleak-on-disconnect.patch
usb-usblp-fix-use-after-free-on-disconnect.patch
usb-ldusb-fix-read-info-leaks.patch
binder-don-t-modify-vma-bounds-in-mmap-handler.patch
mips-tlbex-fix-build_restore_pagemask-kscratch-restore.patch
staging-wlan-ng-fix-exit-return-when-sme-key_idx-num_wepkeys.patch
scsi-zfcp-fix-reaction-on-bit-error-threshold-notification.patch
scsi-sd-ignore-a-failure-to-sync-cache-due-to-lack-of-authorization.patch
scsi-core-save-restore-command-resid-for-error-handling.patch
scsi-core-try-to-get-module-before-removing-device.patch
scsi-ch-make-it-possible-to-open-a-ch-device-multiple-times-again.patch
revert-input-elantech-enable-smbus-on-new-2018-systems.patch
input-da9063-fix-capability-and-drop-key_sleep.patch
input-synaptics-rmi4-avoid-processing-unknown-irqs.patch
input-st1232-fix-reporting-multitouch-coordinates.patch
asoc-rsnd-reinitialize-bit-clock-inversion-flag-for-every-format-setting.patch
acpi-cppc-set-pcc_data-to-null-in-acpi_cppc_processor_exit.patch
acpi-nfit-fix-unlock-on-error-in-scrub_show.patch
iwlwifi-pcie-change-qu-with-jf-devices-to-use-qu-configuration.patch
cfg80211-wext-avoid-copying-malformed-ssids.patch
mac80211-reject-malformed-ssid-elements.patch
drm-edid-add-6-bpc-quirk-for-sdc-panel-in-lenovo-g50.patch
drm-ttm-restore-ttm-prefaulting.patch
drm-panfrost-handle-resetting-on-timeout-better.patch
drm-amdgpu-bail-earlier-when-amdgpu.cik_-si_support-is-not-set-to-1.patch
drm-amdgpu-sdma5-fix-mask-value-of-poll_regmem-packet-for-pipe-sync.patch
drm-i915-userptr-never-allow-userptr-into-the-mappable-ggtt.patch
drm-i915-favor-last-vbt-child-device-with-conflicting-aux-ch-ddc-pin.patch
drm-amdgpu-vce-fix-allocation-size-in-enc-ring-test.patch
drm-amdgpu-vcn-fix-allocation-size-in-enc-ring-test.patch
drm-amdgpu-uvd6-fix-allocation-size-in-enc-ring-test-v2.patch
drm-amdgpu-uvd7-fix-allocation-size-in-enc-ring-test-v2.patch
drm-amdgpu-user-pages-array-memory-leak-fix.patch
drivers-base-memory.c-don-t-access-uninitialized-memmaps-in-soft_offline_page_store.patch
fs-proc-page.c-don-t-access-uninitialized-memmaps-in-fs-proc-page.c.patch
io_uring-fix-broken-links-with-offloading.patch
io_uring-fix-race-for-sqes-with-userspace.patch
io_uring-used-cached-copies-of-sq-dropped-and-cq-ove.patch
mmc-mxs-fix-flags-passed-to-dmaengine_prep_slave_sg.patch
mmc-cqhci-commit-descriptors-before-setting-the-doorbell.patch
mmc-sdhci-omap-fix-tuning-procedure-for-temperatures-20c.patch
mm-memory-failure.c-don-t-access-uninitialized-memmaps-in-memory_failure.patch
mm-slub-fix-a-deadlock-in-show_slab_objects.patch
mm-page_owner-don-t-access-uninitialized-memmaps-when-reading-proc-pagetypeinfo.patch
mm-memunmap-don-t-access-uninitialized-memmap-in-memunmap_pages.patch
mm-memcg-slab-fix-panic-in-__free_slab-caused-by-premature-memcg-pointer-release.patch
mm-compaction-fix-wrong-pfn-handling-in-__reset_isolation_pfn.patch
mm-memcg-get-number-of-pages-on-the-lru-list-in-memcgroup-base-on-lru_zone_size.patch
mm-memblock-do-not-enforce-current-limit-for-memblock_phys-family.patch
hugetlbfs-don-t-access-uninitialized-memmaps-in-pfn_range_valid_gigantic.patch
mm-memory-failure-poison-read-receives-sigkill-instead-of-sigbus-if-mmaped-more-than-once.patch
zram-fix-race-between-backing_dev_show-and-backing_dev_store.patch
xtensa-drop-export_symbol-for-outs-ins.patch
xtensa-fix-change_bit-in-exclusive-access-option.patch
s390-zcrypt-fix-memleak-at-release.patch
s390-kaslr-add-support-for-r_390_glob_dat-relocation-type.patch
lib-vdso-make-clock_getres-posix-compliant-again.patch
parisc-fix-vmap-memory-leak-in-ioremap-iounmap.patch
edac-ghes-fix-use-after-free-in-ghes_edac-remove-path.patch
arm64-kvm-trap-vm-ops-when-arm64_workaround_cavium_tx2_219_tvm-is-set.patch
arm64-avoid-cavium-tx2-erratum-219-when-switching-ttbr.patch
arm64-enable-workaround-for-cavium-tx2-erratum-219-when-running-smt.patch
arm64-allow-cavium_tx2_erratum_219-to-be-selected.patch
cifs-avoid-using-mid-0xffff.patch
cifs-fix-missed-free-operations.patch
cifs-fix-use-after-free-of-file-info-structures.patch
perf-aux-fix-aux-output-stopping.patch
tracing-fix-race-in-perf_trace_buf-initialization.patch
fs-dax-fix-pmd-vs-pte-conflict-detection.patch
dm-cache-fix-bugs-when-a-gfp_nowait-allocation-fails.patch
irqchip-sifive-plic-switch-to-fasteoi-flow.patch
x86-boot-64-make-level2_kernel_pgt-pages-invalid-outside-kernel-area.patch
x86-apic-x2apic-fix-a-null-pointer-deref-when-handling-a-dying-cpu.patch
x86-hyperv-make-vapic-support-x2apic-mode.patch
pinctrl-cherryview-restore-strago-dmi-workaround-for-all-versions.patch
pinctrl-armada-37xx-fix-control-of-pins-32-and-up.patch
pinctrl-armada-37xx-swap-polarity-on-led-group.patch
btrfs-block-group-fix-a-memory-leak-due-to-missing-btrfs_put_block_group.patch
btrfs-add-missing-extents-release-on-file-extent-cluster-relocation-error.patch
btrfs-don-t-needlessly-create-extent-refs-kernel-thread.patch
btrfs-fix-qgroup-double-free-after-failure-to-reserve-metadata-for-delalloc.patch
btrfs-check-for-the-full-sync-flag-while-holding-the-inode-lock-during-fsync.patch
btrfs-tracepoints-fix-wrong-parameter-order-for-qgroup-events.patch
btrfs-tracepoints-fix-bad-entry-members-of-qgroup-events.patch
kvm-ppc-book3s-hv-xive-ensure-vp-isn-t-already-in-use.patch
memstick-jmb38x_ms-fix-an-error-handling-path-in-jmb38x_ms_probe.patch
cpufreq-avoid-cpufreq_suspend-deadlock-on-system-shutdown.patch
ceph-just-skip-unrecognized-info-in-ceph_reply_info_extra.patch
xen-netback-fix-error-path-of-xenvif_connect_data.patch
pci-pm-fix-pci_power_up.patch
opp-of-drop-incorrect-lockdep_assert_held.patch
of-reserved_mem-add-missing-of_node_put-for-proper-ref-counting.patch
blk-rq-qos-fix-first-node-deletion-of-rq_qos_del.patch
rdma-cxgb4-do-not-dma-memory-off-of-the-stack.patch
Compile testing
---------------
We compiled the kernel for 3 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test
❌ xfstests: xfs
✅ selinux-policy: serge-testsuite
✅ lvm thinp sanity
✅ storage: software RAID testing
🚧 ✅ Storage blktests
Host 2:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
✅ LTP lite
✅ Loopdev Sanity
✅ jvm test suite
✅ AMTU (Abstract Machine Test Utility)
✅ LTP: openposix test suite
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking sctp-auth: sockopts test
✅ Networking route: pmtu
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ iotop: sanity
✅ tuned: tune-processes-through-perf
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ Usex - version 1.9-29
✅ storage: SCSI VPD
✅ stress: stress-ng
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ Networking route_func: local
✅ Networking route_func: forward
🚧 ✅ storage: dm/common
ppc64le:
Host 1:
✅ Boot test
❌ xfstests: xfs
✅ selinux-policy: serge-testsuite
✅ lvm thinp sanity
✅ storage: software RAID testing
🚧 ✅ Storage blktests
Host 2:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
✅ LTP lite
✅ Loopdev Sanity
✅ jvm test suite
✅ AMTU (Abstract Machine Test Utility)
✅ LTP: openposix test suite
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking sctp-auth: sockopts test
✅ Networking route: pmtu
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ iotop: sanity
✅ tuned: tune-processes-through-perf
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ Usex - version 1.9-29
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ Networking route_func: local
✅ Networking route_func: forward
🚧 ✅ storage: dm/common
x86_64:
Host 1:
✅ Boot test
❌ xfstests: xfs
✅ selinux-policy: serge-testsuite
✅ lvm thinp sanity
✅ storage: software RAID testing
🚧 ✅ Storage blktests
Host 2:
✅ Boot test
✅ Podman system integration test (as root)
✅ Podman system integration test (as user)
❌ LTP lite
✅ Loopdev Sanity
✅ jvm test suite
✅ AMTU (Abstract Machine Test Utility)
✅ LTP: openposix test suite
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking sctp-auth: sockopts test
✅ Networking route: pmtu
✅ audit: audit testsuite test
✅ httpd: mod_ssl smoke sanity
✅ iotop: sanity
✅ tuned: tune-processes-through-perf
✅ pciutils: sanity smoke test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ Usex - version 1.9-29
✅ storage: SCSI VPD
✅ stress: stress-ng
✅ trace: ftrace/tracer
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ❌ Networking route_func: local
❌ Networking route_func: forward
🚧 ✅ storage: dm/common
Test sources: https://github.com/CKI-project/tests-beaker
💚 Pull requests are welcome for new tests or improvements to existing tests!
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. 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.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running are marked with ⏱. Reports for non-upstream kernels have
a Beaker recipe linked to next to each host.
With the introduction of 'cce360b54ce6 ("arm64: capabilities: Filter the
entries based on a given mask")' the Qualcomm Falkor/Kryo errata 1003 is
no long applied.
The result of not applying errata 1003 is that MSM8996 runs into various
RCU stalls and fails to boot most of the times.
Give 1003 a "type" to ensure they are not filtered out in
update_cpu_capabilities().
Fixes: cce360b54ce6 ("arm64: capabilities: Filter the entries based on a given mask")
Cc: stable(a)vger.kernel.org
Reported-by: Mark Brown <broonie(a)kernel.org>
Suggested-by: Will Deacon <will(a)kernel.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson(a)linaro.org>
---
Changes since v1:
- s/ARM64_CPUCAP_SCOPE_LOCAL_CPU/ARM64_CPUCAP_LOCAL_CPU_ERRATUM/
- Dropped 1009 "fix" as it already had a type from ERRATA_MIDR_RANGE_LIST()
arch/arm64/kernel/cpu_errata.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/kernel/cpu_errata.c b/arch/arm64/kernel/cpu_errata.c
index df9465120e2f..3facd5ca52ed 100644
--- a/arch/arm64/kernel/cpu_errata.c
+++ b/arch/arm64/kernel/cpu_errata.c
@@ -780,6 +780,7 @@ const struct arm64_cpu_capabilities arm64_errata[] = {
{
.desc = "Qualcomm Technologies Falkor/Kryo erratum 1003",
.capability = ARM64_WORKAROUND_QCOM_FALKOR_E1003,
+ .type = ARM64_CPUCAP_LOCAL_CPU_ERRATUM,
.matches = cpucap_multi_entry_cap_matches,
.match_list = qcom_erratum_1003_list,
},
--
2.23.0