Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain(a)lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
We appreciate that it might be difficult to find the necessary logs or reproduce the issue locally. If you can't get what you need from our CI within minutes, let us know and we will be happy to help.
We track this report status in https://linaro.atlassian.net/browse/GNU-1293 , please let us know if you are looking at the problem and/or when you have a fix.
In CI config tcwg_kernel/gnu-master-arm-mainline-defconfig after:
| commit v6.9-rc6-1843-g7ef8f6821d16
| Author: Johannes Berg <johannes.berg(a)intel.com>
| Date: Mon Apr 15 11:27:11 2024 +0300
|
| wifi: mac80211: mlme: handle cross-link CSA
|
| If we see a channel switch announcement on one link for
| another, handle that case and start the CSA. The driver
| can react to this in whatever way it needs. The stack
| will have the ability to track it via the RNR/MLE in the
| reporting link's beacon if it sees it for inactive links
| ... 10 lines of the commit log omitted.
Results changed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
6930
From
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
7833
# linux build successful:
all
# linux boot successful:
boot
The configuration of this build is:
CI config tcwg_kernel/gnu-master-arm-mainline-defconfig
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-mainline-defconfig-bu…
Reference build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-mainline-defconfig-bu…
Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/…
Full commit : https://gitlab.com/Linaro/lkft/mirrors/torvalds/linux-mainline/commit/7ef8f…
List of configurations that regressed due to this commit :
* tcwg_kernel
** gnu-master-arm-mainline-defconfig
*** Failure
*** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/…
*** https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-mainline-defconfig-bu…
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain(a)lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
We appreciate that it might be difficult to find the necessary logs or reproduce the issue locally. If you can't get what you need from our CI within minutes, let us know and we will be happy to help.
We track this report status in https://linaro.atlassian.net/browse/GNU-1203 , please let us know if you are looking at the problem and/or when you have a fix.
In CI config tcwg_kernel/gnu-master-arm-mainline-allmodconfig after:
| commit v6.9-rc2-79-g031ad9e7dbd18
| Author: Kent Overstreet <kent.overstreet(a)linux.dev>
| Date: Thu Apr 11 21:30:43 2024 -0400
|
| bcachefs: Check for packed bkeys that are too big
|
| add missing validation; fixes assertion pop in bkey unpack
|
| Signed-off-by: Kent Overstreet <kent.overstreet(a)linux.dev>
Results changed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
24637
From
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
34005
# linux build successful:
all
# linux boot successful:
boot
The configuration of this build is:
CI config tcwg_kernel/gnu-master-arm-mainline-allmodconfig
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-mainline-allmodconfig…
Reference build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-mainline-allmodconfig…
Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/…
Full commit : https://git.linaro.org/kernel-org/linux.git/commit/?id=031ad9e7dbd18c63e671…
List of configurations that regressed due to this commit :
* tcwg_kernel
** gnu-master-arm-mainline-allmodconfig
*** Failure
*** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/…
*** https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-mainline-allmodconfig…
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain(a)lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
We appreciate that it might be difficult to find the necessary logs or reproduce the issue locally. If you can't get what you need from our CI within minutes, let us know and we will be happy to help.
We track this report status in https://linaro.atlassian.net/browse/GNU-1189 , please let us know if you are looking at the problem and/or when you have a fix.
In CI config tcwg_kernel/gnu-master-arm-next-allyesconfig after:
| commit v6.9-rc2-36-gfc4216add64ee
| Author: Samuel Holland <samuel.holland(a)sifive.com>
| Date: Fri Mar 29 00:18:28 2024 -0700
|
| drm/amd/display: use ARCH_HAS_KERNEL_FPU_SUPPORT
|
| Now that all previously-supported architectures select
| ARCH_HAS_KERNEL_FPU_SUPPORT, this code can depend on that symbol instead
| of the existing list of architectures. It can also take advantage of the
| common kernel-mode FPU API and method of adjusting CFLAGS.
|
| ... 21 lines of the commit log omitted.
Results changed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
22511
From
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
22321
# linux build successful:
all
The configuration of this build is:
CI config tcwg_kernel/gnu-master-arm-next-allyesconfig
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allyesconfig-bui…
Reference build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allyesconfig-bui…
Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/…
Full commit : https://git.linaro.org/kernel-org/linux-next.git/commit/?id=fc4216add64ee4d…
List of configurations that regressed due to this commit :
* tcwg_kernel
** gnu-master-arm-next-allyesconfig
*** Failure
*** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/…
*** https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allyesconfig-bui…
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain(a)lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
We appreciate that it might be difficult to find the necessary logs or reproduce the issue locally. If you can't get what you need from our CI within minutes, let us know and we will be happy to help.
We track this report status in https://linaro.atlassian.net/browse/GNU-1170 , please let us know if you are looking at the problem and/or when you have a fix.
In CI config tcwg_kernel/gnu-master-arm-next-allmodconfig after:
| commit v6.8-rc3-34-gc2b24812f7bc5
| Author: Ji Sheng Teoh <jisheng.teoh(a)starfivetech.com>
| Date: Thu Feb 29 15:27:17 2024 +0800
|
| perf: starfive: Add StarLink PMU support
|
| This patch adds support for StarFive's StarLink PMU (Performance
| Monitor Unit). StarLink PMU integrates one or more CPU cores with
| a shared L3 memory system. The PMU supports overflow interrupt,
| up to 16 programmable 64bit event counters, and an independent
| 64bit cycle counter. StarLink PMU is accessed via MMIO.
| ... 40 lines of the commit log omitted.
Results changed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
24332
From
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
33626
# linux build successful:
all
# linux boot successful:
boot
The configuration of this build is:
CI config tcwg_kernel/gnu-master-arm-next-allmodconfig
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allmodconfig-bui…
Reference build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allmodconfig-bui…
Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/…
Full commit : https://git.linaro.org/kernel-org/linux-next.git/commit/?id=c2b24812f7bc5fb…
List of configurations that regressed due to this commit :
* tcwg_kernel
** gnu-master-arm-next-allmodconfig
*** Failure
*** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/…
*** https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allmodconfig-bui…
Hi kernel folks,
It seems a new gcc patch uncovered a potential problem in btrfs code, see the warning/error below.
Does this look like a legit kernel problem?
--
Maxim Kuvyrkov
https://www.linaro.org
> On Dec 22, 2023, at 06:54, ci_notify(a)linaro.org wrote:
>
> Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain(a)lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
>
> We appreciate that it might be difficult to find the necessary logs or reproduce the issue locally. If you can't get what you need from our CI within minutes, let us know and we will be happy to help.
>
> We track this report status in https://linaro.atlassian.net/browse/GNU-1087 , please let us know if you are looking at the problem and/or when you have a fix.
>
> In CI config tcwg_kernel/gnu-master-arm-stable-allmodconfig after:
>
> | commit gcc-14-6741-ge7dd72aefed
> | Author: Jakub Jelinek <jakub(a)redhat.com>
> | Date: Wed Dec 20 11:31:18 2023 +0100
> |
> | c: Split -Wcalloc-transposed-args warning from -Walloc-size, -Walloc-size fixes
> |
> | The following patch changes -Walloc-size warning to no longer warn
> | about int *p = calloc (1, sizeof (int));, because as discussed earlier,
> | the size is IMNSHO sufficient in that case, for alloc_size with 2
> | arguments warns if the product of the 2 arguments is insufficiently small.
> |
> | ... 37 lines of the commit log omitted.
>
> Results changed to
> # reset_artifacts:
> -10
> # build_abe binutils:
> -9
> # build_abe stage1:
> -5
> # build_abe qemu:
> -2
> # linux_n_obj:
> 23978
> # First few build errors in logs:
>
> # 00:33:29 fs/btrfs/send.c:8208:44: error: ‘kvcalloc’ sizes specified with ‘sizeof’ in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
> # 00:33:44 make[4]: *** [scripts/Makefile.build:243: fs/btrfs/send.o] Error 1
> # 00:35:42 make[3]: *** [scripts/Makefile.build:480: fs/btrfs] Error 2
> # 00:37:40 make[2]: *** [scripts/Makefile.build:480: fs] Error 2
> # 00:47:05 make[1]: *** [/home/tcwg-buildslave/workspace/tcwg_kernel_1/linux/Makefile:1913: .] Error 2
> # 00:47:05 make: *** [Makefile:234: __sub-make] Error 2
>
> From
> # reset_artifacts:
> -10
> # build_abe binutils:
> -9
> # build_abe stage1:
> -5
> # build_abe qemu:
> -2
> # linux_n_obj:
> 33156
> # linux build successful:
> all
> # linux boot successful:
> boot
>
> The configuration of this build is:
> CI config tcwg_kernel/gnu-master-arm-stable-allmodconfig
>
> -----------------8<--------------------------8<--------------------------8<--------------------------
> The information below can be used to reproduce a debug environment:
>
> Current build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-stable-allmodconfig-b…
> Reference build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-stable-allmodconfig-b…
>
> Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gcc/sh…
>
> Full commit : https://github.com/gcc-mirror/gcc/commit/e7dd72aefed851d11655aa301d6e394ec9…
>
> List of configurations that regressed due to this commit :
> * tcwg_kernel
> ** gnu-master-arm-stable-allmodconfig
> *** Failure
> *** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gcc/sh…
> *** https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-stable-allmodconfig-b…
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain(a)lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
We appreciate that it might be difficult to find the necessary logs or reproduce the issue locally. If you can't get what you need from our CI within minutes, let us know and we will be happy to help.
We track this report status in https://linaro.atlassian.net/browse/GNU-1085 , please let us know if you are looking at the problem and/or when you have a fix.
In CI config tcwg_kernel/gnu-master-arm-next-allmodconfig after:
| commit v6.7-rc5-41-g4a0d72ea10ce
| Author: David Howells <dhowells(a)redhat.com>
| Date: Wed Nov 8 13:57:42 2023 +0000
|
| afs: Overhaul invalidation handling to better support RO volumes
|
| Overhaul the third party-induced invalidation handling, making use of the
| previously added volume-level event counters (cb_scrub and cb_ro_snapshot)
| that are now being parsed out of the VolSync record returned by the
| fileserver in many of its replies.
|
| ... 75 lines of the commit log omitted.
Results changed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
24233
# First few build errors in logs:
# 00:36:46 make[2]: *** [scripts/Makefile.modpost:145: Module.symvers] Error 1
# 00:36:46 make[1]: *** [/home/tcwg-buildslave/workspace/tcwg_kernel_0/linux/Makefile:1863: modpost] Error 2
# 00:36:46 make: *** [Makefile:234: __sub-make] Error 2
From
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
33478
# linux build successful:
all
# linux boot successful:
boot
The configuration of this build is:
CI config tcwg_kernel/gnu-master-arm-next-allmodconfig
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allmodconfig-bui…
Reference build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allmodconfig-bui…
Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/…
Full commit : https://git.linaro.org/kernel-org/linux-next.git/commit/?id=4a0d72ea10ce156…
List of configurations that regressed due to this commit :
* tcwg_kernel
** gnu-master-arm-next-allmodconfig
*** Failure
*** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/…
*** https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allmodconfig-bui…
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain(a)lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
We appreciate that it might be difficult to find the necessary logs or reproduce the issue locally. If you can't get what you need from our CI within minutes, let us know and we will be happy to help.
We track this report status in https://linaro.atlassian.net/browse/GNU-1079 , please let us know if you are looking at the problem and/or when you have a fix.
In CI config tcwg_kernel/gnu-master-arm-next-allyesconfig after:
| commit v6.7-rc5-467-g7f9554ae8528
| Merge: 501631e4f287 d9d9bd979cce
| Author: Stephen Rothwell <sfr(a)canb.auug.org.au>
| Date: Fri Dec 15 09:02:52 2023 +1100
|
| Merge branch 'mm-stable' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Results changed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
21940
# First few build errors in logs:
# 00:06:30 lib/maple_tree.c:5480:32: error: ‘struct ma_wr_state’ has no member named ‘node_end’
# 00:06:31 make[3]: *** [scripts/Makefile.build:243: lib/maple_tree.o] Error 1
# 00:14:59 make[2]: *** [scripts/Makefile.build:480: lib] Error 2
# 00:47:44 make[1]: *** [/home/tcwg-buildslave/workspace/tcwg_kernel_0/linux/Makefile:1911: .] Error 2
# 00:47:44 make: *** [Makefile:234: __sub-make] Error 2
From
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
22024
# linux build successful:
all
The configuration of this build is:
CI config tcwg_kernel/gnu-master-arm-next-allyesconfig
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allyesconfig-bui…
Reference build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allyesconfig-bui…
Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/…
Full commit : https://git.linaro.org/kernel-org/linux-next.git/commit/?id=7f9554ae852806b…
List of configurations that regressed due to this commit :
* tcwg_kernel
** gnu-master-arm-next-allyesconfig
*** Failure
*** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/…
*** https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allyesconfig-bui…
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain(a)lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
In CI config tcwg_kernel/gnu-master-arm-next-allmodconfig after:
| commit v6.6-rc1-12-g7683a63c08ff
| Author: Dmitry Baryshkov <dmitry.baryshkov(a)linaro.org>
| Date: Mon Oct 2 21:59:36 2023 +0300
|
| cpufreq: qcom-nvmem: create L2 cache device
|
| Scaling the frequencies on some of Qualcomm Krait platforms (e.g.
| APQ8064) also requires scaling of the L2 cache frequency. As the
| l2-cache device node is places under /cpus/ path, it is not created by
| default by the OF code. Create corresponding device here.
|
| ... 2 lines of the commit log omitted.
Results changed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
23915
# First few build errors in logs:
# 00:44:43 make[2]: *** [scripts/Makefile.modpost:145: Module.symvers] Error 1
# 00:44:43 make[1]: *** [/home/tcwg-buildslave/workspace/tcwg_kernel_0/linux/Makefile:1865: modpost] Error 2
# 00:44:43 make: *** [Makefile:234: __sub-make] Error 2
From
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
33026
# linux build successful:
all
# linux boot successful:
boot
The configuration of this build is:
CI config tcwg_kernel/gnu-master-arm-next-allmodconfig
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allmodconfig-bui…
Reference build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allmodconfig-bui…
Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/…
Full commit : https://git.linaro.org/kernel-org/linux-next.git/commit/?id=7683a63c08ff599…
Latest bug report status : https://linaro.atlassian.net/browse/GNU-967
List of configurations that regressed due to this commit :
* tcwg_kernel
** gnu-master-arm-next-allmodconfig
*** Failure
*** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/…
*** https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allmodconfig-bui…
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain(a)lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
In CI config tcwg_kernel/gnu-master-arm-next-allmodconfig after:
| commit v6.5-8911-g5ec30115c066
| Author: Kent Overstreet <kent.overstreet(a)gmail.com>
| Date: Thu Mar 16 22:18:50 2017 -0800
|
| bcachefs: Initial commit
|
| Initially forked from drivers/md/bcache, bcachefs is a new copy-on-write
| filesystem with every feature you could possibly want.
|
| Website: https://bcachefs.org
|
| ... 1 lines of the commit log omitted.
Results changed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
23885
# First few build errors in logs:
# 00:26:26 fs/bcachefs/btree_update.h:72:35: error: implicit declaration of function ‘COUNT_ARGS’ [-Werror=implicit-function-declaration]
# 00:26:36 make[4]: *** [scripts/Makefile.build:243: fs/bcachefs/alloc.o] Error 1
# 00:27:48 fs/bcachefs/btree_update.h:72:35: error: implicit declaration of function ‘COUNT_ARGS’ [-Werror=implicit-function-declaration]
# 00:27:52 make[4]: *** [scripts/Makefile.build:243: fs/bcachefs/btree_update_leaf.o] Error 1
# 00:28:11 fs/bcachefs/btree_update.h:72:35: error: implicit declaration of function ‘COUNT_ARGS’ [-Werror=implicit-function-declaration]
# 00:28:17 fs/bcachefs/btree_update.h:72:35: error: implicit declaration of function ‘COUNT_ARGS’ [-Werror=implicit-function-declaration]
# 00:28:21 make[4]: *** [scripts/Makefile.build:243: fs/bcachefs/fsck.o] Error 1
# 00:28:21 make[4]: *** [scripts/Makefile.build:243: fs/bcachefs/fs-io.o] Error 1
# 00:28:24 fs/bcachefs/btree_update.h:72:35: error: implicit declaration of function ‘COUNT_ARGS’ [-Werror=implicit-function-declaration]
# 00:28:26 make[4]: *** [scripts/Makefile.build:243: fs/bcachefs/inode.o] Error 1
From
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
32897
# linux build successful:
all
# linux boot successful:
boot
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allmodconfig-bui…
Reference build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allmodconfig-bui…
Reproduce last good and first bad builds: https://git.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/sha…
Full commit : https://git.linaro.org/kernel-org/linux-next.git/commit/?id=5ec30115c06692f…
Latest bug report status : https://linaro.atlassian.net/browse/GNU-936
List of configurations that regressed due to this commit :
* tcwg_kernel
** gnu-master-arm-next-allmodconfig
*** Failure
*** https://git.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/sha…
*** https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-next-allmodconfig-bui…
Dear contributor, our automatic CI has detected problems related to your patch(es).
Please find some details below. If you have any questions, please follow up on linaro-toolchain(a)lists.linaro.org mailing list.
In CI config tcwg_kernel/gnu-master-arm-mainline-defconfig after:
| commit v6.5-10661-g7716f383a583
| Merge: e987af4546ac 78d44b824ed0
| Author: Linus Torvalds <torvalds(a)linux-foundation.org>
| Date: Fri Sep 1 15:58:21 2023 -0700
|
| Merge tag 'cgroup-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
|
| Pull cgroup updates from Tejun Heo:
|
| - Per-cpu cpu usage stats are now tracked
|
| ... 35 lines of the commit log omitted.
Results changed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
6806
# First few build errors in logs:
# 00:01:57 kernel/cgroup/cgroup.c:3699:15: error: implicit declaration of function ‘cgroup_tryget_css’; did you mean ‘cgroup_tryget’? [-Werror=implicit-function-declaration]
# 00:02:05 make[4]: *** [scripts/Makefile.build:243: kernel/cgroup/cgroup.o] Error 1
# 00:02:05 make[3]: *** [scripts/Makefile.build:480: kernel/cgroup] Error 2
# 00:03:50 make[2]: *** [scripts/Makefile.build:480: kernel] Error 2
# 00:09:42 make[1]: *** [/home/tcwg-buildslave/workspace/tcwg_kernel_0/linux/Makefile:2029: .] Error 2
# 00:09:42 make: *** [Makefile:234: __sub-make] Error 2
From
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
7684
# linux build successful:
all
# linux boot successful:
boot
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-mainline-defconfig-bu…
Reference build : https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-mainline-defconfig-bu…
Reproduce last good and first bad builds: https://git.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/sha…
Full commit : https://git.linaro.org/kernel-org/linux.git/commit/?id=7716f383a58314378604…
Latest bug report status : https://linaro.atlassian.net/browse/GNU-925
List of configurations that regressed due to this commit :
* tcwg_kernel
** gnu-master-arm-mainline-defconfig
*** Failure
*** https://git.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/sha…
*** https://ci.linaro.org/job/tcwg_kernel--gnu-master-arm-mainline-defconfig-bu…
On Mon, 26 Dec 2022 13:01:57 +0900, tkuw584924(a)gmail.com wrote:
> From: Takahiro Kuwano <Takahiro.Kuwano(a)infineon.com>
>
> Existing BFPT_DWORD() converts 1-based indexing to 0-based indexing for
> C arrays, and is used in BFPT parse. This is applicable to other parameter
> tables than BFPT.
>
> Based on a suggestion in:
> https://patchwork.ozlabs.org/project/linux-mtd/patch/20220912051317.2369-1-…
>
> [...]
Applied to spi-nor/next, thanks!
[1/3] mtd: spi-nor: sfdp: Fix index value for SCCR dwords
https://git.kernel.org/mtd/c/ad9679f38118
[2/3] mtd: spi-nor: sfdp: Rename BFPT_DWORD() macro to SFDP_DWORD()
https://git.kernel.org/mtd/c/86d4cdf88c81
[3/3] mtd: spi-nor: sfdp: Use SFDP_DWORD() macro for optional parameter tables
https://git.kernel.org/mtd/c/55398beb0846
Best regards,
--
Tudor Ambarus <tudor.ambarus(a)linaro.org>
Lee, we don't have a shared repo, so here are the changes that I have until
now.
Add [--gdb] option to start qemu for kernel gdb debug.
Add clang-13 on host compiler option.
And some other goodies.
v2:
- update gdb patch and introduce a new variable: KERNEL_PARAMS
- add Jun's logfile name extension
- add clang-13 on host compiler option
Jun Nie (1):
syzkaller-start: Extend logfile name with bugid, commit id and time
Tudor Ambarus (9):
syzkaller-start: Add COMPILER_BIN_PATH
syzkaller-start: Use the selected compiler to make oldconfig
syzkaller-start: Describe [--again] option
syzkaller-start: Add [--gdb] option to start qemu for kernel gdb debug
syzkaller-start: Set printk.time=1 kernel parameter
syzkaller-start: Add [-h] option to display help message
syzkaller-start: Make script executable
syzkaller-start: Prepare code for on host compiler option
syzkaller-start: Add clang-13 on host compiler option
syzkaller-start | 91 ++++++++++++++++++++++++++++++++++++-------------
1 file changed, 67 insertions(+), 24 deletions(-)
mode change 100644 => 100755 syzkaller-start
--
2.34.1
Failure after v6.1-rc4-9-g9ed2b4616d4e: arm64/mm: Drop redundant BUG_ON(!pgtable_alloc):
Results changed to
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
629
# linux build successful:
all
# First few build errors in logs:
from
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
629
# linux build successful:
all
# linux boot successful:
boot
THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
For latest status see comments in https://linaro.atlassian.net/browse/GNU-681 .
Status of v6.1-rc4-9-g9ed2b4616d4e commit for tcwg_kernel:
commit 9ed2b4616d4e846ece2a04cb5007ce1d1bd9e3f3
Author: Anshuman Khandual <anshuman.khandual(a)arm.com>
Date: Fri Nov 18 11:01:02 2022 +0530
arm64/mm: Drop redundant BUG_ON(!pgtable_alloc)
__create_pgd_mapping_locked() expects a page allocator used while mapping a
virtual range. This page allocator function propagates down the call chain,
while building intermediate levels in the page table. Passed page allocator
is a necessary ingredient required to build the page table but its presence
can be asserted just once in the very beginning rather than in all the down
stream functions. This consolidates BUG_ON(!pgtable_alloc) checks just in a
single place i.e __create_pgd_mapping_locked().
Cc: Catalin Marinas <catalin.marinas(a)arm.com>
Cc: Will Deacon <will(a)kernel.org>
Cc: Mark Rutland <mark.rutland(a)arm.com>
Cc: Andrew Morton <akpm(a)linux-foundation.org>
Cc: linux-arm-kernel(a)lists.infradead.org
Cc: linux-kernel(a)vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual(a)arm.com>
Acked-by: Mark Rutland <mark.rutland(a)arm.com>
Link: https://lore.kernel.org/r/20221118053102.500216-1-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will(a)kernel.org>
* gnu-release-aarch64-next-allnoconfig
** Failure after v6.1-rc4-9-g9ed2b4616d4e: arm64/mm: Drop redundant BUG_ON(!pgtable_alloc):
** https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al…
Bad build: https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al…
Good build: https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al…
Reproduce current build:
<cut>
mkdir -p investigate-linux-9ed2b4616d4e846ece2a04cb5007ce1d1bd9e3f3
cd investigate-linux-9ed2b4616d4e846ece2a04cb5007ce1d1bd9e3f3
# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts
# Fetch manifests for bad and good builds
mkdir -p bad/artifacts good/artifacts
curl -o bad/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al… --fail
curl -o good/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al… --fail
# Reproduce bad build
(cd bad; ../jenkins-scripts/tcwg_kernel-build.sh ^^ true %%rr[top_artifacts] artifacts)
# Reproduce good build
(cd good; ../jenkins-scripts/tcwg_kernel-build.sh ^^ true %%rr[top_artifacts] artifacts)
</cut>
Full commit (up to 1000 lines):
<cut>
commit 9ed2b4616d4e846ece2a04cb5007ce1d1bd9e3f3
Author: Anshuman Khandual <anshuman.khandual(a)arm.com>
Date: Fri Nov 18 11:01:02 2022 +0530
arm64/mm: Drop redundant BUG_ON(!pgtable_alloc)
__create_pgd_mapping_locked() expects a page allocator used while mapping a
virtual range. This page allocator function propagates down the call chain,
while building intermediate levels in the page table. Passed page allocator
is a necessary ingredient required to build the page table but its presence
can be asserted just once in the very beginning rather than in all the down
stream functions. This consolidates BUG_ON(!pgtable_alloc) checks just in a
single place i.e __create_pgd_mapping_locked().
Cc: Catalin Marinas <catalin.marinas(a)arm.com>
Cc: Will Deacon <will(a)kernel.org>
Cc: Mark Rutland <mark.rutland(a)arm.com>
Cc: Andrew Morton <akpm(a)linux-foundation.org>
Cc: linux-arm-kernel(a)lists.infradead.org
Cc: linux-kernel(a)vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual(a)arm.com>
Acked-by: Mark Rutland <mark.rutland(a)arm.com>
Link: https://lore.kernel.org/r/20221118053102.500216-1-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will(a)kernel.org>
---
arch/arm64/mm/mmu.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
index d386033a074c..73a12b3abf82 100644
--- a/arch/arm64/mm/mmu.c
+++ b/arch/arm64/mm/mmu.c
@@ -207,7 +207,6 @@ static void alloc_init_cont_pte(pmd_t *pmdp, unsigned long addr,
if (flags & NO_EXEC_MAPPINGS)
pmdval |= PMD_TABLE_PXN;
- BUG_ON(!pgtable_alloc);
pte_phys = pgtable_alloc(PAGE_SHIFT);
__pmd_populate(pmdp, pte_phys, pmdval);
pmd = READ_ONCE(*pmdp);
@@ -285,7 +284,6 @@ static void alloc_init_cont_pmd(pud_t *pudp, unsigned long addr,
if (flags & NO_EXEC_MAPPINGS)
pudval |= PUD_TABLE_PXN;
- BUG_ON(!pgtable_alloc);
pmd_phys = pgtable_alloc(PMD_SHIFT);
__pud_populate(pudp, pmd_phys, pudval);
pud = READ_ONCE(*pudp);
@@ -324,7 +322,6 @@ static void alloc_init_pud(pgd_t *pgdp, unsigned long addr, unsigned long end,
if (flags & NO_EXEC_MAPPINGS)
p4dval |= P4D_TABLE_PXN;
- BUG_ON(!pgtable_alloc);
pud_phys = pgtable_alloc(PUD_SHIFT);
__p4d_populate(p4dp, pud_phys, p4dval);
p4d = READ_ONCE(*p4dp);
@@ -383,6 +380,7 @@ static void __create_pgd_mapping_locked(pgd_t *pgdir, phys_addr_t phys,
phys &= PAGE_MASK;
addr = virt & PAGE_MASK;
end = PAGE_ALIGN(virt + size);
+ BUG_ON(!pgtable_alloc);
do {
next = pgd_addr_end(addr, end);
</cut>
Failure after v6.1-rc1-158-ga2c896ab66f2: staging: wlan-ng: Remove unused struct wlan_ie_ibss_parms references:
Results changed to
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
31874
# linux build successful:
all
# First few build errors in logs:
from
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
31874
# linux build successful:
all
# linux boot successful:
boot
THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
For latest status see comments in https://linaro.atlassian.net/browse/GNU-681 .
Status of v6.1-rc1-158-ga2c896ab66f2 commit for tcwg_kernel:
commit a2c896ab66f2c65cf6eeba140b97200a47d0450e
Author: Deepak R Varma <drv(a)mailo.com>
Date: Tue Nov 1 19:19:30 2022 +0530
staging: wlan-ng: Remove unused struct wlan_ie_ibss_parms references
Pointer reference to struct wlan_ie_ibss_parms is added as a member
variable to 2 structures; However, these references are never used.
Remove such unused struct references. The cleanup also renders the
struct useless; so remove it as well.
Issue identified as part of coccicheck based code analysis.
Suggested-by: Dan Carpenter <dan.carpenter(a)oracle.com>
Suggested-by: Pavel Skripkin <paskripkin(a)gmail.com>
Signed-off-by: Deepak R Varma <drv(a)mailo.com>
Link: https://lore.kernel.org/r/e53084cdd3ca3ffea6a32393f6f28c7b7650d1a4.16673088…
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
* gnu-release-arm-next-allmodconfig
** Failure after v6.1-rc1-158-ga2c896ab66f2: staging: wlan-ng: Remove unused struct wlan_ie_ibss_parms references:
** https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-arm-next-allmod…
Bad build: https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-arm-next-allmod…
Good build: https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-arm-next-allmod…
Reproduce current build:
<cut>
mkdir -p investigate-linux-a2c896ab66f2c65cf6eeba140b97200a47d0450e
cd investigate-linux-a2c896ab66f2c65cf6eeba140b97200a47d0450e
# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts
# Fetch manifests for bad and good builds
mkdir -p bad/artifacts good/artifacts
curl -o bad/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-arm-next-allmod… --fail
curl -o good/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-arm-next-allmod… --fail
# Reproduce bad build
(cd bad; ../jenkins-scripts/tcwg_kernel-build.sh ^^ true %%rr[top_artifacts] artifacts)
# Reproduce good build
(cd good; ../jenkins-scripts/tcwg_kernel-build.sh ^^ true %%rr[top_artifacts] artifacts)
</cut>
Full commit (up to 1000 lines):
<cut>
commit a2c896ab66f2c65cf6eeba140b97200a47d0450e
Author: Deepak R Varma <drv(a)mailo.com>
Date: Tue Nov 1 19:19:30 2022 +0530
staging: wlan-ng: Remove unused struct wlan_ie_ibss_parms references
Pointer reference to struct wlan_ie_ibss_parms is added as a member
variable to 2 structures; However, these references are never used.
Remove such unused struct references. The cleanup also renders the
struct useless; so remove it as well.
Issue identified as part of coccicheck based code analysis.
Suggested-by: Dan Carpenter <dan.carpenter(a)oracle.com>
Suggested-by: Pavel Skripkin <paskripkin(a)gmail.com>
Signed-off-by: Deepak R Varma <drv(a)mailo.com>
Link: https://lore.kernel.org/r/e53084cdd3ca3ffea6a32393f6f28c7b7650d1a4.16673088…
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/staging/wlan-ng/p80211mgmt.h | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/drivers/staging/wlan-ng/p80211mgmt.h b/drivers/staging/wlan-ng/p80211mgmt.h
index d95ffe0097e9..816b25641f5a 100644
--- a/drivers/staging/wlan-ng/p80211mgmt.h
+++ b/drivers/staging/wlan-ng/p80211mgmt.h
@@ -253,13 +253,6 @@ struct wlan_ie_cf_parms {
u16 cfp_durremaining;
} __packed;
-/*-- IBSS Parameter Set ---------------------------*/
-struct wlan_ie_ibss_parms {
- u8 eid;
- u8 len;
- u16 atim_win;
-} __packed;
-
/*-- Challenge Text ------------------------------*/
struct wlan_ie_challenge {
u8 eid;
@@ -298,7 +291,6 @@ struct wlan_fr_beacon {
struct wlan_ie_fh_parms *fh_parms;
struct wlan_ie_ds_parms *ds_parms;
struct wlan_ie_cf_parms *cf_parms;
- struct wlan_ie_ibss_parms *ibss_parms;
};
/*-- IBSS ATIM ------------------------------------*/
@@ -424,7 +416,6 @@ struct wlan_fr_proberesp {
struct wlan_ie_fh_parms *fh_parms;
struct wlan_ie_ds_parms *ds_parms;
struct wlan_ie_cf_parms *cf_parms;
- struct wlan_ie_ibss_parms *ibss_parms;
};
/*-- Authentication -------------------------------*/
</cut>
Failure after v6.1-rc1-2-g665c157e0204: coresight: cti: Fix hang in cti_disable_hw():
Results changed to
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
23489
# First few build errors in logs:
# 00:40:26 drivers/hwtracing/coresight/coresight-cti-core.c:93:24: error: unused variable ‘dev’ [-Werror=unused-variable]
# 00:40:26 drivers/hwtracing/coresight/coresight-cti-core.c:154:24: error: unused variable ‘dev’ [-Werror=unused-variable]
# 00:40:27 make[3]: *** [scripts/Makefile.build:250: drivers/hwtracing/coresight/coresight-cti-core.o] Error 1
# 00:40:34 make[2]: *** [scripts/Makefile.build:500: drivers/hwtracing/coresight] Error 2
# 00:41:32 make[1]: *** [scripts/Makefile.build:500: drivers] Error 2
# 00:41:32 make: *** [Makefile:1992: .] Error 2
from
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
32261
# linux build successful:
all
THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
For latest status see comments in https://linaro.atlassian.net/browse/GNU-681 .
Status of v6.1-rc1-2-g665c157e0204 commit for tcwg_kernel:
commit 665c157e0204176023860b51a46528ba0ba62c33
Author: James Clark <james.clark(a)arm.com>
Date: Wed Oct 5 14:14:52 2022 +0100
coresight: cti: Fix hang in cti_disable_hw()
cti_enable_hw() and cti_disable_hw() are called from an atomic context
so shouldn't use runtime PM because it can result in a sleep when
communicating with firmware.
Since commit 3c6656337852 ("Revert "firmware: arm_scmi: Add clock
management to the SCMI power domain""), this causes a hang on Juno when
running the Perf Coresight tests or running this command:
perf record -e cs_etm//u -- ls
This was also missed until the revert commit because pm_runtime_put()
was called with the wrong device until commit 692c9a499b28 ("coresight:
cti: Correct the parameter for pm_runtime_put")
With lock and scheduler debugging enabled the following is output:
coresight cti_sys0: cti_enable_hw -- dev:cti_sys0 parent: 20020000.cti
BUG: sleeping function called from invalid context at drivers/base/power/runtime.c:1151
in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 330, name: perf-exec
preempt_count: 2, expected: 0
RCU nest depth: 0, expected: 0
INFO: lockdep is turned off.
irq event stamp: 0
hardirqs last enabled at (0): [<0000000000000000>] 0x0
hardirqs last disabled at (0): [<ffff80000822b394>] copy_process+0xa0c/0x1948
softirqs last enabled at (0): [<ffff80000822b394>] copy_process+0xa0c/0x1948
softirqs last disabled at (0): [<0000000000000000>] 0x0
CPU: 3 PID: 330 Comm: perf-exec Not tainted 6.0.0-00053-g042116d99298 #7
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Sep 13 2022
Call trace:
dump_backtrace+0x134/0x140
show_stack+0x20/0x58
dump_stack_lvl+0x8c/0xb8
dump_stack+0x18/0x34
__might_resched+0x180/0x228
__might_sleep+0x50/0x88
__pm_runtime_resume+0xac/0xb0
cti_enable+0x44/0x120
coresight_control_assoc_ectdev+0xc0/0x150
coresight_enable_path+0xb4/0x288
etm_event_start+0x138/0x170
etm_event_add+0x48/0x70
event_sched_in.isra.122+0xb4/0x280
merge_sched_in+0x1fc/0x3d0
visit_groups_merge.constprop.137+0x16c/0x4b0
ctx_sched_in+0x114/0x1f0
perf_event_sched_in+0x60/0x90
ctx_resched+0x68/0xb0
perf_event_exec+0x138/0x508
begin_new_exec+0x52c/0xd40
load_elf_binary+0x6b8/0x17d0
bprm_execve+0x360/0x7f8
do_execveat_common.isra.47+0x218/0x238
__arm64_sys_execve+0x48/0x60
invoke_syscall+0x4c/0x110
el0_svc_common.constprop.4+0xfc/0x120
do_el0_svc+0x34/0xc0
el0_svc+0x40/0x98
el0t_64_sync_handler+0x98/0xc0
el0t_64_sync+0x170/0x174
Fix the issue by removing the runtime PM calls completely. They are not
needed here because it must have already been done when building the
path for a trace.
Fixes: 835d722ba10a ("coresight: cti: Initial CoreSight CTI Driver")
Reported-by: Aishwarya TCV <Aishwarya.TCV(a)arm.com>
Reported-by: Cristian Marussi <Cristian.Marussi(a)arm.com>
Suggested-by: Suzuki Poulose <Suzuki.Poulose(a)arm.com>
Signed-off-by: James Clark <james.clark(a)arm.com>
Reviewed-by: Mike Leach <mike.leach(a)linaro.org>
Tested-by: Mike Leach <mike.leach(a)linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose(a)arm.com>
Link: https://lore.kernel.org/r/20221005131452.1506328-1-james.clark@arm.com
* gnu-release-aarch64-next-allmodconfig
** Failure after v6.1-rc1-2-g665c157e0204: coresight: cti: Fix hang in cti_disable_hw():
** https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al…
Bad build: https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al…
Good build: https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al…
Reproduce current build:
<cut>
mkdir -p investigate-linux-665c157e0204176023860b51a46528ba0ba62c33
cd investigate-linux-665c157e0204176023860b51a46528ba0ba62c33
# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts
# Fetch manifests for bad and good builds
mkdir -p bad/artifacts good/artifacts
curl -o bad/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al… --fail
curl -o good/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-aarch64-next-al… --fail
# Reproduce bad build
(cd bad; ../jenkins-scripts/tcwg_kernel-build.sh ^^ true %%rr[top_artifacts] artifacts)
# Reproduce good build
(cd good; ../jenkins-scripts/tcwg_kernel-build.sh ^^ true %%rr[top_artifacts] artifacts)
</cut>
Full commit (up to 1000 lines):
<cut>
commit 665c157e0204176023860b51a46528ba0ba62c33
Author: James Clark <james.clark(a)arm.com>
Date: Wed Oct 5 14:14:52 2022 +0100
coresight: cti: Fix hang in cti_disable_hw()
cti_enable_hw() and cti_disable_hw() are called from an atomic context
so shouldn't use runtime PM because it can result in a sleep when
communicating with firmware.
Since commit 3c6656337852 ("Revert "firmware: arm_scmi: Add clock
management to the SCMI power domain""), this causes a hang on Juno when
running the Perf Coresight tests or running this command:
perf record -e cs_etm//u -- ls
This was also missed until the revert commit because pm_runtime_put()
was called with the wrong device until commit 692c9a499b28 ("coresight:
cti: Correct the parameter for pm_runtime_put")
With lock and scheduler debugging enabled the following is output:
coresight cti_sys0: cti_enable_hw -- dev:cti_sys0 parent: 20020000.cti
BUG: sleeping function called from invalid context at drivers/base/power/runtime.c:1151
in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 330, name: perf-exec
preempt_count: 2, expected: 0
RCU nest depth: 0, expected: 0
INFO: lockdep is turned off.
irq event stamp: 0
hardirqs last enabled at (0): [<0000000000000000>] 0x0
hardirqs last disabled at (0): [<ffff80000822b394>] copy_process+0xa0c/0x1948
softirqs last enabled at (0): [<ffff80000822b394>] copy_process+0xa0c/0x1948
softirqs last disabled at (0): [<0000000000000000>] 0x0
CPU: 3 PID: 330 Comm: perf-exec Not tainted 6.0.0-00053-g042116d99298 #7
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Sep 13 2022
Call trace:
dump_backtrace+0x134/0x140
show_stack+0x20/0x58
dump_stack_lvl+0x8c/0xb8
dump_stack+0x18/0x34
__might_resched+0x180/0x228
__might_sleep+0x50/0x88
__pm_runtime_resume+0xac/0xb0
cti_enable+0x44/0x120
coresight_control_assoc_ectdev+0xc0/0x150
coresight_enable_path+0xb4/0x288
etm_event_start+0x138/0x170
etm_event_add+0x48/0x70
event_sched_in.isra.122+0xb4/0x280
merge_sched_in+0x1fc/0x3d0
visit_groups_merge.constprop.137+0x16c/0x4b0
ctx_sched_in+0x114/0x1f0
perf_event_sched_in+0x60/0x90
ctx_resched+0x68/0xb0
perf_event_exec+0x138/0x508
begin_new_exec+0x52c/0xd40
load_elf_binary+0x6b8/0x17d0
bprm_execve+0x360/0x7f8
do_execveat_common.isra.47+0x218/0x238
__arm64_sys_execve+0x48/0x60
invoke_syscall+0x4c/0x110
el0_svc_common.constprop.4+0xfc/0x120
do_el0_svc+0x34/0xc0
el0_svc+0x40/0x98
el0t_64_sync_handler+0x98/0xc0
el0t_64_sync+0x170/0x174
Fix the issue by removing the runtime PM calls completely. They are not
needed here because it must have already been done when building the
path for a trace.
Fixes: 835d722ba10a ("coresight: cti: Initial CoreSight CTI Driver")
Reported-by: Aishwarya TCV <Aishwarya.TCV(a)arm.com>
Reported-by: Cristian Marussi <Cristian.Marussi(a)arm.com>
Suggested-by: Suzuki Poulose <Suzuki.Poulose(a)arm.com>
Signed-off-by: James Clark <james.clark(a)arm.com>
Reviewed-by: Mike Leach <mike.leach(a)linaro.org>
Tested-by: Mike Leach <mike.leach(a)linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose(a)arm.com>
Link: https://lore.kernel.org/r/20221005131452.1506328-1-james.clark@arm.com
---
drivers/hwtracing/coresight/coresight-cti-core.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/hwtracing/coresight/coresight-cti-core.c b/drivers/hwtracing/coresight/coresight-cti-core.c
index 1be92342b5b9..4a02ae23d3a0 100644
--- a/drivers/hwtracing/coresight/coresight-cti-core.c
+++ b/drivers/hwtracing/coresight/coresight-cti-core.c
@@ -94,7 +94,6 @@ static int cti_enable_hw(struct cti_drvdata *drvdata)
unsigned long flags;
int rc = 0;
- pm_runtime_get_sync(dev->parent);
spin_lock_irqsave(&drvdata->spinlock, flags);
/* no need to do anything if enabled or unpowered*/
@@ -119,7 +118,6 @@ static int cti_enable_hw(struct cti_drvdata *drvdata)
/* cannot enable due to error */
cti_err_not_enabled:
spin_unlock_irqrestore(&drvdata->spinlock, flags);
- pm_runtime_put(dev->parent);
return rc;
}
@@ -175,7 +173,6 @@ static int cti_disable_hw(struct cti_drvdata *drvdata)
coresight_disclaim_device_unlocked(csdev);
CS_LOCK(drvdata->base);
spin_unlock(&drvdata->spinlock);
- pm_runtime_put(dev->parent);
return 0;
/* not disabled this call */
</cut>
Failure after v6.0-rc1-21-g3f74cd046fbe: ata: libahci_platform: Parse ports-implemented property in resources getter:
Results changed to
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
23039
# First few build errors in logs:
# 00:35:13 drivers/ata/ahci_st.c:147:24: error: unused variable ‘dev’ [-Werror=unused-variable]
# 00:35:13 make[2]: *** [scripts/Makefile.build:249: drivers/ata/ahci_st.o] Error 1
# 00:36:37 make[1]: *** [scripts/Makefile.build:465: drivers/ata] Error 2
# 00:38:02 make: *** [Makefile:1855: drivers] Error 2
from
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
31637
# linux build successful:
all
THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
For latest status see comments in https://linaro.atlassian.net/browse/GNU-681 .
Status of v6.0-rc1-21-g3f74cd046fbe commit for tcwg_kernel:
commit 3f74cd046fbed349be977606f938e6429155e7b5
Author: Serge Semin <Sergey.Semin(a)baikalelectronics.ru>
Date: Fri Sep 9 22:36:07 2022 +0300
ata: libahci_platform: Parse ports-implemented property in resources getter
The ports-implemented property is mainly used on the OF-based platforms
with no ports mapping initialized by a bootloader/BIOS firmware. Seeing
the same of_property_read_u32()-based pattern has already been implemented
in the generic AHCI LLDD (glue) driver and in the Mediatek, St AHCI
drivers let's move the property read procedure to the generic
ahci_platform_get_resources() method. Thus we'll have the forced ports
mapping feature supported for each OF-based platform which requires that,
and stop re-implementing the same pattern in there a bit simplifying the
code.
Signed-off-by: Serge Semin <Sergey.Semin(a)baikalelectronics.ru>
Signed-off-by: Damien Le Moal <damien.lemoal(a)opensource.wdc.com>
* gnu-release-arm-next-allmodconfig
** Failure after v6.0-rc1-21-g3f74cd046fbe: ata: libahci_platform: Parse ports-implemented property in resources getter:
** https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-arm-next-allmod…
Bad build: https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-arm-next-allmod…
Good build: https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-arm-next-allmod…
Reproduce current build:
<cut>
mkdir -p investigate-linux-3f74cd046fbed349be977606f938e6429155e7b5
cd investigate-linux-3f74cd046fbed349be977606f938e6429155e7b5
# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts
# Fetch manifests for bad and good builds
mkdir -p bad/artifacts good/artifacts
curl -o bad/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-arm-next-allmod… --fail
curl -o good/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_kernel-gnu-build-gnu-release-arm-next-allmod… --fail
# Reproduce bad build
(cd bad; ../jenkins-scripts/tcwg_kernel-build.sh ^^ true %%rr[top_artifacts] artifacts)
# Reproduce good build
(cd good; ../jenkins-scripts/tcwg_kernel-build.sh ^^ true %%rr[top_artifacts] artifacts)
</cut>
Full commit (up to 1000 lines):
<cut>
commit 3f74cd046fbed349be977606f938e6429155e7b5
Author: Serge Semin <Sergey.Semin(a)baikalelectronics.ru>
Date: Fri Sep 9 22:36:07 2022 +0300
ata: libahci_platform: Parse ports-implemented property in resources getter
The ports-implemented property is mainly used on the OF-based platforms
with no ports mapping initialized by a bootloader/BIOS firmware. Seeing
the same of_property_read_u32()-based pattern has already been implemented
in the generic AHCI LLDD (glue) driver and in the Mediatek, St AHCI
drivers let's move the property read procedure to the generic
ahci_platform_get_resources() method. Thus we'll have the forced ports
mapping feature supported for each OF-based platform which requires that,
and stop re-implementing the same pattern in there a bit simplifying the
code.
Signed-off-by: Serge Semin <Sergey.Semin(a)baikalelectronics.ru>
Signed-off-by: Damien Le Moal <damien.lemoal(a)opensource.wdc.com>
---
drivers/ata/ahci_mtk.c | 2 --
drivers/ata/ahci_platform.c | 3 ---
drivers/ata/ahci_st.c | 3 ---
drivers/ata/libahci_platform.c | 3 +++
4 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers/ata/ahci_mtk.c b/drivers/ata/ahci_mtk.c
index 1f6c85fde983..c056378e3e72 100644
--- a/drivers/ata/ahci_mtk.c
+++ b/drivers/ata/ahci_mtk.c
@@ -118,8 +118,6 @@ static int mtk_ahci_parse_property(struct ahci_host_priv *hpriv,
SYS_CFG_SATA_EN);
}
- of_property_read_u32(np, "ports-implemented", &hpriv->force_port_map);
-
return 0;
}
diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
index 28a8de5b48b9..9b56490ecbc3 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
@@ -56,9 +56,6 @@ static int ahci_probe(struct platform_device *pdev)
if (rc)
return rc;
- of_property_read_u32(dev->of_node,
- "ports-implemented", &hpriv->force_port_map);
-
if (of_device_is_compatible(dev->of_node, "hisilicon,hisi-ahci"))
hpriv->flags |= AHCI_HFLAG_NO_FBS | AHCI_HFLAG_NO_NCQ;
diff --git a/drivers/ata/ahci_st.c b/drivers/ata/ahci_st.c
index 7526653c843b..068621099c00 100644
--- a/drivers/ata/ahci_st.c
+++ b/drivers/ata/ahci_st.c
@@ -168,9 +168,6 @@ static int st_ahci_probe(struct platform_device *pdev)
st_ahci_configure_oob(hpriv->mmio);
- of_property_read_u32(dev->of_node,
- "ports-implemented", &hpriv->force_port_map);
-
err = ahci_platform_init_host(pdev, hpriv, &st_ahci_port_info,
&ahci_platform_sht);
if (err) {
diff --git a/drivers/ata/libahci_platform.c b/drivers/ata/libahci_platform.c
index bacb974c1b16..085f99b2eb5a 100644
--- a/drivers/ata/libahci_platform.c
+++ b/drivers/ata/libahci_platform.c
@@ -485,6 +485,9 @@ struct ahci_host_priv *ahci_platform_get_resources(struct platform_device *pdev,
goto err_out;
}
+ of_property_read_u32(dev->of_node,
+ "ports-implemented", &hpriv->force_port_map);
+
if (child_nodes) {
for_each_child_of_node(dev->of_node, child) {
u32 port;
</cut>
[TCWG CI] Regression caused by linux: net: ipa: rework gsi_channel_tx_update():
commit c5bddecbb97bcf0400354dc954cdbd89276e0ddb
Author: Alex Elder <elder(a)linaro.org>
net: ipa: rework gsi_channel_tx_update()
Results regressed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
31579
# linux build successful:
all
# First few build errors in logs:
from
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
31579
# linux build successful:
all
# linux boot successful:
boot
THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
This commit has regressed these CI configurations:
- tcwg_kernel/gnu-release-aarch64-next-allmodconfig
First_bad build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a…
Last_good build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a…
Baseline build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a…
Even more details: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a…
Reproduce builds:
<cut>
mkdir investigate-linux-c5bddecbb97bcf0400354dc954cdbd89276e0ddb
cd investigate-linux-c5bddecbb97bcf0400354dc954cdbd89276e0ddb
# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts
# Fetch manifests and test.sh script
mkdir -p artifacts/manifests
curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a… --fail
curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a… --fail
curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a… --fail
chmod +x artifacts/test.sh
# Reproduce the baseline build (build all pre-requisites)
./jenkins-scripts/tcwg_kernel-build.sh @@ artifacts/manifests/build-baseline.sh
# Save baseline build state (which is then restored in artifacts/test.sh)
mkdir -p ./bisect
rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /linux/ ./ ./bisect/baseline/
cd linux
# Reproduce first_bad build
git checkout --detach c5bddecbb97bcf0400354dc954cdbd89276e0ddb
../artifacts/test.sh
# Reproduce last_good build
git checkout --detach dbad2fa71914a6a1a41bcba8bdc3e9213a982f82
../artifacts/test.sh
cd ..
</cut>
Full commit (up to 1000 lines):
<cut>
commit c5bddecbb97bcf0400354dc954cdbd89276e0ddb
Author: Alex Elder <elder(a)linaro.org>
Date: Mon Jun 13 12:17:59 2022 -0500
net: ipa: rework gsi_channel_tx_update()
Rename gsi_channel_tx_update() to be gsi_trans_tx_completed(), and
pass it just the transaction pointer, deriving the channel from the
transaction. Update the comments above the function to provide a
more concise description of how statistics for TX endpoints are
maintained and used.
Signed-off-by: Alex Elder <elder(a)linaro.org>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
---
drivers/net/ipa/gsi.c | 50 +++++++++++++++++++++++---------------------------
1 file changed, 23 insertions(+), 27 deletions(-)
diff --git a/drivers/net/ipa/gsi.c b/drivers/net/ipa/gsi.c
index c2cafd9247a7..df8af1f00fc8 100644
--- a/drivers/net/ipa/gsi.c
+++ b/drivers/net/ipa/gsi.c
@@ -1021,40 +1021,36 @@ void gsi_trans_tx_queued(struct gsi_trans *trans)
}
/**
- * gsi_channel_tx_update() - Report completed TX transfers
- * @channel: Channel that has completed transmitting packets
- * @trans: Last transation known to be complete
+ * gsi_trans_tx_completed() - Report completed TX transactions
+ * @trans: TX channel transaction that has completed
*
- * Compute the number of transactions and bytes that have been transferred
- * over a TX channel since the given transaction was committed. Report this
- * information to the network stack.
+ * Report that a transaction on a TX channel has completed. At the time a
+ * transaction is committed, we record *in the transaction* its channel's
+ * committed transaction and byte counts. Transactions are completed in
+ * order, and the difference between the channel's byte/transaction count
+ * when the transaction was committed and when it completes tells us
+ * exactly how much data has been transferred while the transaction was
+ * pending.
*
- * At the time a transaction is committed, we record its channel's
- * committed transaction and byte counts *in the transaction*.
- * Completions are signaled by the hardware with an interrupt, and
- * we can determine the latest completed transaction at that time.
- *
- * The difference between the byte/transaction count recorded in
- * the transaction and the count last time we recorded a completion
- * tells us exactly how much data has been transferred between
- * completions.
- *
- * Calling this each time we learn of a newly-completed transaction
- * allows us to provide accurate information to the network stack
- * about how much work has been completed by the hardware at a given
- * point in time.
+ * We report this information to the network stack, which uses it to manage
+ * the rate at which data is sent to hardware.
*/
-static void
-gsi_channel_tx_update(struct gsi_channel *channel, struct gsi_trans *trans)
+static void gsi_trans_tx_completed(struct gsi_trans *trans)
{
- u64 trans_count = trans->trans_count - channel->compl_trans_count;
- u64 byte_count = trans->byte_count - channel->compl_byte_count;
+ u32 channel_id = trans->channel_id;
+ struct gsi *gsi = trans->gsi;
+ struct gsi_channel *channel;
+ u32 trans_count;
+ u32 byte_count;
+
+ channel = &gsi->channel[channel_id];
+ trans_count = trans->trans_count - channel->compl_trans_count;
+ byte_count = trans->byte_count - channel->compl_byte_count;
channel->compl_trans_count += trans_count;
channel->compl_byte_count += byte_count;
- ipa_gsi_channel_tx_completed(channel->gsi, gsi_channel_id(channel),
- trans_count, byte_count);
+ ipa_gsi_channel_tx_completed(gsi, channel_id, trans_count, byte_count);
}
/* Channel control interrupt handler */
@@ -1504,7 +1500,7 @@ static struct gsi_trans *gsi_channel_update(struct gsi_channel *channel)
* up the network stack.
*/
if (channel->toward_ipa)
- gsi_channel_tx_update(channel, trans);
+ gsi_trans_tx_completed(trans);
else
gsi_evt_ring_rx_update(evt_ring, index);
</cut>
[TCWG CI] Regression caused by linux: btrfs: Add the capability of getting commit stats in BTRFS:
commit 55bc1b4598a319f2bc8d558caf81244c2a15de3b
Author: Ioannis Angelakopoulos <iangelak(a)fb.com>
btrfs: Add the capability of getting commit stats in BTRFS
Results regressed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
20671
# First few build errors in logs:
# 00:15:03 fs/btrfs/transaction.c:2091:31: error: ‘struct btrfs_commit_stats’ has no member named ‘commit_counter’; did you mean ‘commit_count’?
# 00:15:03 make[2]: *** [fs/btrfs/transaction.o] Error 1
# 00:18:18 make[1]: *** [fs/btrfs] Error 2
# 00:19:58 make: *** [fs] Error 2
from
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
20762
# linux build successful:
all
THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
This commit has regressed these CI configurations:
- tcwg_kernel/gnu-release-arm-next-allyesconfig
First_bad build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-next-allye…
Last_good build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-next-allye…
Baseline build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-next-allye…
Even more details: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-next-allye…
Reproduce builds:
<cut>
mkdir investigate-linux-55bc1b4598a319f2bc8d558caf81244c2a15de3b
cd investigate-linux-55bc1b4598a319f2bc8d558caf81244c2a15de3b
# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts
# Fetch manifests and test.sh script
mkdir -p artifacts/manifests
curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-next-allye… --fail
curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-next-allye… --fail
curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-next-allye… --fail
chmod +x artifacts/test.sh
# Reproduce the baseline build (build all pre-requisites)
./jenkins-scripts/tcwg_kernel-build.sh @@ artifacts/manifests/build-baseline.sh
# Save baseline build state (which is then restored in artifacts/test.sh)
mkdir -p ./bisect
rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /linux/ ./ ./bisect/baseline/
cd linux
# Reproduce first_bad build
git checkout --detach 55bc1b4598a319f2bc8d558caf81244c2a15de3b
../artifacts/test.sh
# Reproduce last_good build
git checkout --detach bed5d797ab6d6268564a0c5353d2e41b87a28a6e
../artifacts/test.sh
cd ..
</cut>
Full commit (up to 1000 lines):
<cut>
commit 55bc1b4598a319f2bc8d558caf81244c2a15de3b
Author: Ioannis Angelakopoulos <iangelak(a)fb.com>
Date: Tue Jun 14 15:22:32 2022 -0700
btrfs: Add the capability of getting commit stats in BTRFS
First we add "struct btrfs_commit_stats" data structure under "fs_info"
in fs/btrfs/ctree.h to store the commit stats for BTRFS that will be
exposed through sysfs.
The stats exposed are: 1) The number of commits so far, 2) The duration of
the last commit in ms, 3) The maximum commit duration seen so far in ms
and 4) The total duration for all commits so far in ms.
The update of the commit stats occurs after the commit thread has gone
through all the logic that checks if there is another thread committing
at the same time. This means that we only account for actual commit work
in the commit stats we report and not the time the thread spends waiting
until it is ready to do the commit work.
Signed-off-by: Ioannis Angelakopoulos <iangelak(a)fb.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
---
fs/btrfs/ctree.h | 14 ++++++++++++++
fs/btrfs/transaction.c | 29 +++++++++++++++++++++++++++++
2 files changed, 43 insertions(+)
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 13d74948c542..8f7eb2d344ce 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -660,6 +660,18 @@ enum btrfs_exclusive_operation {
BTRFS_EXCLOP_SWAP_ACTIVATE,
};
+/* Store data about transaction commits, exported via sysfs. */
+struct btrfs_commit_stats {
+ /* Total number of commits */
+ u64 commit_count;
+ /* The maximum commit duration so far */
+ u64 max_commit_dur;
+ /* The last commit duration */
+ u64 last_commit_dur;
+ /* The total commit duration */
+ u64 total_commit_dur;
+};
+
struct btrfs_fs_info {
u8 chunk_tree_uuid[BTRFS_UUID_SIZE];
unsigned long flags;
@@ -1069,6 +1081,8 @@ struct btrfs_fs_info {
spinlock_t zone_active_bgs_lock;
struct list_head zone_active_bgs;
+ struct btrfs_commit_stats commit_stats;
+
#ifdef CONFIG_BTRFS_FS_REF_VERIFY
spinlock_t ref_verify_lock;
struct rb_root block_tree;
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 06c0a958d114..9cb09aa05275 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -10,6 +10,7 @@
#include <linux/pagemap.h>
#include <linux/blkdev.h>
#include <linux/uuid.h>
+#include <linux/timekeeping.h>
#include "misc.h"
#include "ctree.h"
#include "disk-io.h"
@@ -2084,12 +2085,24 @@ static void add_pending_snapshot(struct btrfs_trans_handle *trans)
list_add(&trans->pending_snapshot->list, &cur_trans->pending_snapshots);
}
+static void update_commit_stats(struct btrfs_fs_info *fs_info,
+ ktime_t interval)
+{
+ fs_info->commit_stats.commit_counter += 1;
+ fs_info->commit_stats.last_commit_dur = interval;
+ fs_info->commit_stats.max_commit_dur = max_t(u64,
+ fs_info->commit_stats.max_commit_dur, interval);
+ fs_info->commit_stats.total_commit_dur += interval;
+}
+
int btrfs_commit_transaction(struct btrfs_trans_handle *trans)
{
struct btrfs_fs_info *fs_info = trans->fs_info;
struct btrfs_transaction *cur_trans = trans->transaction;
struct btrfs_transaction *prev_trans = NULL;
int ret;
+ ktime_t start_time;
+ ktime_t interval;
ASSERT(refcount_read(&trans->use_count) == 1);
@@ -2214,6 +2227,12 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans)
}
}
+ /*
+ * Get the time spent on the work done by the commit thread and not
+ * the time spent waiting on a previous commit
+ */
+ start_time = ktime_get_ns();
+
extwriter_counter_dec(cur_trans, trans->type);
ret = btrfs_start_delalloc_flush(fs_info);
@@ -2455,6 +2474,8 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans)
trace_btrfs_transaction_commit(fs_info);
+ interval = ktime_get_ns() - start_time;
+
btrfs_scrub_continue(fs_info);
if (current->journal_info == trans)
@@ -2462,6 +2483,14 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans)
kmem_cache_free(btrfs_trans_handle_cachep, trans);
+ /*
+ * Protect the commit stats updates from concurrent updates through
+ * sysfs.
+ */
+ spin_lock(&fs_info->super_lock);
+ update_commit_stats(fs_info, interval);
+ spin_unlock(&fs_info->super_lock);
+
return ret;
unlock_reloc:
</cut>
[TCWG CI] Regression caused by linux: page_alloc: use vmalloc_huge for large system hash:
commit f2edd118d02dd11449b126f786f09749ca152ba5
Author: Song Liu <song(a)kernel.org>
page_alloc: use vmalloc_huge for large system hash
Results regressed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
546
# First few build errors in logs:
# 00:00:40 page_alloc.c:(.init.text+0xef2): undefined reference to `vmalloc_huge'
# 00:00:40 make: *** [Makefile:1158: vmlinux] Error 1
from
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
561
# linux build successful:
all
THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
This commit has regressed these CI configurations:
- tcwg_kernel/gnu-master-arm-mainline-allnoconfig
First_bad build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-mainline-al…
Last_good build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-mainline-al…
Baseline build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-mainline-al…
Even more details: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-mainline-al…
Reproduce builds:
<cut>
mkdir investigate-linux-f2edd118d02dd11449b126f786f09749ca152ba5
cd investigate-linux-f2edd118d02dd11449b126f786f09749ca152ba5
# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts
# Fetch manifests and test.sh script
mkdir -p artifacts/manifests
curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-mainline-al… --fail
curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-mainline-al… --fail
curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-mainline-al… --fail
chmod +x artifacts/test.sh
# Reproduce the baseline build (build all pre-requisites)
./jenkins-scripts/tcwg_kernel-build.sh @@ artifacts/manifests/build-baseline.sh
# Save baseline build state (which is then restored in artifacts/test.sh)
mkdir -p ./bisect
rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /linux/ ./ ./bisect/baseline/
cd linux
# Reproduce first_bad build
git checkout --detach f2edd118d02dd11449b126f786f09749ca152ba5
../artifacts/test.sh
# Reproduce last_good build
git checkout --detach 22da5264abf497a10a4ed629f07f4ba28a7ed5eb
../artifacts/test.sh
cd ..
</cut>
Full commit (up to 1000 lines):
<cut>
commit f2edd118d02dd11449b126f786f09749ca152ba5
Author: Song Liu <song(a)kernel.org>
Date: Fri Apr 15 09:44:11 2022 -0700
page_alloc: use vmalloc_huge for large system hash
Use vmalloc_huge() in alloc_large_system_hash() so that large system
hash (>= PMD_SIZE) could benefit from huge pages.
Note that vmalloc_huge only allocates huge pages for systems with
HAVE_ARCH_HUGE_VMALLOC.
Signed-off-by: Song Liu <song(a)kernel.org>
Reviewed-by: Christoph Hellwig <hch(a)lst.de>
Reviewed-by: Rik van Riel <riel(a)surriel.com>
Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
---
mm/page_alloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 33ca8cab21e6..0e42038382c1 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -8919,7 +8919,7 @@ void *__init alloc_large_system_hash(const char *tablename,
table = memblock_alloc_raw(size,
SMP_CACHE_BYTES);
} else if (get_order(size) >= MAX_ORDER || hashdist) {
- table = __vmalloc(size, gfp_flags);
+ table = vmalloc_huge(size, gfp_flags);
virt = true;
if (table)
huge = is_vm_area_hugepages(table);
</cut>
[TCWG CI] Regression caused by linux: Makefile: Enable -Warray-bounds:
commit d4e0dad4a0cd00d1518f2105ccbfee17e2aa44a7
Author: Kees Cook <keescook(a)chromium.org>
Makefile: Enable -Warray-bounds
Results regressed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
21319
# First few build errors in logs:
# 00:00:53 ./arch/arm/include/asm/io.h:113:9: error: array subscript 0 is outside array bounds of ‘const volatile void[0]’ [-Werror=array-bounds]
# 00:00:53 ./arch/arm/include/asm/io.h:95:9: error: array subscript 0 is outside array bounds of ‘volatile void[0]’ [-Werror=array-bounds]
# 00:00:53 ./arch/arm/include/asm/io.h:113:9: error: array subscript 0 is outside array bounds of ‘const volatile void[0]’ [-Werror=array-bounds]
# 00:00:53 ./arch/arm/include/asm/io.h:95:9: error: array subscript 0 is outside array bounds of ‘volatile void[0]’ [-Werror=array-bounds]
# 00:00:53 ./arch/arm/include/asm/io.h:113:9: error: array subscript 0 is outside array bounds of ‘const volatile void[0]’ [-Werror=array-bounds]
# 00:00:53 ./arch/arm/include/asm/io.h:95:9: error: array subscript 0 is outside array bounds of ‘volatile void[0]’ [-Werror=array-bounds]
# 00:00:53 ./arch/arm/include/asm/io.h:113:9: error: array subscript 0 is outside array bounds of ‘const volatile void[0]’ [-Werror=array-bounds]
# 00:00:53 ./arch/arm/include/asm/io.h:95:9: error: array subscript 0 is outside array bounds of ‘volatile void[0]’ [-Werror=array-bounds]
# 00:00:53 ./arch/arm/include/asm/io.h:113:9: error: array subscript 0 is outside array bounds of ‘const volatile void[0]’ [-Werror=array-bounds]
# 00:00:53 ./arch/arm/include/asm/io.h:95:9: error: array subscript 0 is outside array bounds of ‘volatile void[0]’ [-Werror=array-bounds]
from
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
21459
# First few build errors in logs:
# 00:03:34 arch/arm/kernel/ptrace.c:438:40: error: ‘arch_ctrl’ is used uninitialized [-Werror=uninitialized]
# 00:03:34 arch/arm/kernel/ptrace.c:484:40: error: ‘ctrl’ is used uninitialized [-Werror=uninitialized]
# 00:03:36 make[2]: *** [scripts/Makefile.build:288: arch/arm/kernel/ptrace.o] Error 1
# 00:03:44 arch/arm/kernel/module-plts.c:127:21: error: statement will never be executed [-Werror=switch-unreachable]
# 00:03:44 make[2]: *** [scripts/Makefile.build:288: arch/arm/kernel/module-plts.o] Error 1
# 00:04:00 sound/core/oss/mixer_oss.c:1057:21: error: ‘slot’ is used uninitialized [-Werror=uninitialized]
# 00:04:01 sound/core/oss/pcm_oss.c:108:29: error: ‘t’ is used uninitialized [-Werror=uninitialized]
# 00:04:01 sound/core/oss/pcm_oss.c:2998:51: error: ‘template’ is used uninitialized [-Werror=uninitialized]
# 00:04:01 sound/core/seq/oss/seq_oss_init.c:350:35: error: ‘qinfo’ is used uninitialized [-Werror=uninitialized]
# 00:04:01 sound/core/seq/oss/seq_oss_init.c:370:35: error: ‘qinfo’ is used uninitialized [-Werror=uninitialized]
THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
This commit has regressed these CI configurations:
- tcwg_kernel/gnu-master-arm-next-allmodconfig
First_bad build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-next-allmod…
Last_good build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-next-allmod…
Baseline build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-next-allmod…
Even more details: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-next-allmod…
Reproduce builds:
<cut>
mkdir investigate-linux-d4e0dad4a0cd00d1518f2105ccbfee17e2aa44a7
cd investigate-linux-d4e0dad4a0cd00d1518f2105ccbfee17e2aa44a7
# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts
# Fetch manifests and test.sh script
mkdir -p artifacts/manifests
curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-next-allmod… --fail
curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-next-allmod… --fail
curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-next-allmod… --fail
chmod +x artifacts/test.sh
# Reproduce the baseline build (build all pre-requisites)
./jenkins-scripts/tcwg_kernel-build.sh @@ artifacts/manifests/build-baseline.sh
# Save baseline build state (which is then restored in artifacts/test.sh)
mkdir -p ./bisect
rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /linux/ ./ ./bisect/baseline/
cd linux
# Reproduce first_bad build
git checkout --detach d4e0dad4a0cd00d1518f2105ccbfee17e2aa44a7
../artifacts/test.sh
# Reproduce last_good build
git checkout --detach 9d210ed97e491400750e9b3c8c93f98d75845904
../artifacts/test.sh
cd ..
</cut>
Full commit (up to 1000 lines):
<cut>
commit d4e0dad4a0cd00d1518f2105ccbfee17e2aa44a7
Author: Kees Cook <keescook(a)chromium.org>
Date: Fri Jun 18 23:30:07 2021 -0700
Makefile: Enable -Warray-bounds
With the recent fixes for flexible arrays and expanded FORTIFY_SOURCE
coverage, it is now possible to enable -Warray-bounds. Since both GCC
and Clang include -Warray-bounds in -Wall, adjust the Makefile to just
stop disabling it.
Note that this option can be conservative in its warnings (which is
done at casting time rather than access time), but this is reasonable
since the cast variables may be accessed out of a scope where the true
size of the original object can't be evaluated. These handful of false
positives (which are arguably bad casts and can be easily avoided),
are worth dealing with because of the many places where this option
has helped identify missed bounds checks and even accesses done against
cases where a NULL pointer could be reached.
https://github.com/KSPP/linux/issues/109https://github.com/KSPP/linux/issues/151
Cc: Arnd Bergmann <arnd(a)arndb.de>
Cc: Masahiro Yamada <masahiroy(a)kernel.org>
Cc: linux-kbuild(a)vger.kernel.org
Co-developed-by: Gustavo A. R. Silva <gustavoars(a)kernel.org>
Signed-off-by: Gustavo A. R. Silva <gustavoars(a)kernel.org>
Signed-off-by: Kees Cook <keescook(a)chromium.org>
---
Makefile | 1 -
1 file changed, 1 deletion(-)
diff --git a/Makefile b/Makefile
index 0fb4f94a6885..71c313b90a2b 100644
--- a/Makefile
+++ b/Makefile
@@ -952,7 +952,6 @@ KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation)
# We'll want to enable this eventually, but it's not going away for 5.7 at least
KBUILD_CFLAGS += $(call cc-disable-warning, zero-length-bounds)
-KBUILD_CFLAGS += -Wno-array-bounds
KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overflow)
# Another good warning that we'll want to enable eventually
</cut>
[TCWG CI] Regression caused by linux: Makefile: Enable -Warray-bounds:
commit 4ba545781e20f49cf1175e11d9f606e621040acf
Author: Kees Cook <keescook(a)chromium.org>
Makefile: Enable -Warray-bounds
Results regressed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
19475
# First few build errors in logs:
# 00:00:54 ./arch/arm/include/asm/io.h:113:9: error: array subscript 0 is outside array bounds of ‘const volatile void[0]’ [-Werror=array-bounds]
# 00:00:54 ./arch/arm/include/asm/io.h:95:9: error: array subscript 0 is outside array bounds of ‘volatile void[0]’ [-Werror=array-bounds]
# 00:00:54 ./arch/arm/include/asm/io.h:113:9: error: array subscript 0 is outside array bounds of ‘const volatile void[0]’ [-Werror=array-bounds]
# 00:00:54 ./arch/arm/include/asm/io.h:95:9: error: array subscript 0 is outside array bounds of ‘volatile void[0]’ [-Werror=array-bounds]
# 00:00:54 ./arch/arm/include/asm/io.h:113:9: error: array subscript 0 is outside array bounds of ‘const volatile void[0]’ [-Werror=array-bounds]
# 00:00:54 ./arch/arm/include/asm/io.h:95:9: error: array subscript 0 is outside array bounds of ‘volatile void[0]’ [-Werror=array-bounds]
# 00:00:54 ./arch/arm/include/asm/io.h:113:9: error: array subscript 0 is outside array bounds of ‘const volatile void[0]’ [-Werror=array-bounds]
# 00:00:54 ./arch/arm/include/asm/io.h:95:9: error: array subscript 0 is outside array bounds of ‘volatile void[0]’ [-Werror=array-bounds]
# 00:00:54 ./arch/arm/include/asm/io.h:113:9: error: array subscript 0 is outside array bounds of ‘const volatile void[0]’ [-Werror=array-bounds]
# 00:00:54 ./arch/arm/include/asm/io.h:95:9: error: array subscript 0 is outside array bounds of ‘volatile void[0]’ [-Werror=array-bounds]
from
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
19597
# First few build errors in logs:
# 00:01:09 arch/arm/kernel/ptrace.c:438:40: error: ‘arch_ctrl’ is used uninitialized [-Werror=uninitialized]
# 00:01:09 arch/arm/kernel/ptrace.c:484:40: error: ‘ctrl’ is used uninitialized [-Werror=uninitialized]
# 00:01:11 make[2]: *** [scripts/Makefile.build:288: arch/arm/kernel/ptrace.o] Error 1
# 00:01:17 arch/arm/kernel/module-plts.c:127:21: error: statement will never be executed [-Werror=switch-unreachable]
# 00:01:18 make[2]: *** [scripts/Makefile.build:288: arch/arm/kernel/module-plts.o] Error 1
# 00:01:31 sound/core/oss/mixer_oss.c:1057:21: error: ‘slot’ is used uninitialized [-Werror=uninitialized]
# 00:01:31 sound/core/oss/pcm_oss.c:108:29: error: ‘t’ is used uninitialized [-Werror=uninitialized]
# 00:01:31 sound/core/oss/pcm_oss.c:2998:51: error: ‘template’ is used uninitialized [-Werror=uninitialized]
# 00:01:33 make[3]: *** [scripts/Makefile.build:288: sound/core/oss/mixer_oss.o] Error 1
# 00:01:34 sound/core/oss/pcm_oss.c:2488:34: error: ‘setup’ is used uninitialized [-Werror=uninitialized]
THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
This commit has regressed these CI configurations:
- tcwg_kernel/gnu-master-arm-next-allyesconfig
First_bad build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-next-allyes…
Last_good build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-next-allyes…
Baseline build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-next-allyes…
Even more details: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-next-allyes…
Reproduce builds:
<cut>
mkdir investigate-linux-4ba545781e20f49cf1175e11d9f606e621040acf
cd investigate-linux-4ba545781e20f49cf1175e11d9f606e621040acf
# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts
# Fetch manifests and test.sh script
mkdir -p artifacts/manifests
curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-next-allyes… --fail
curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-next-allyes… --fail
curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-master-arm-next-allyes… --fail
chmod +x artifacts/test.sh
# Reproduce the baseline build (build all pre-requisites)
./jenkins-scripts/tcwg_kernel-build.sh @@ artifacts/manifests/build-baseline.sh
# Save baseline build state (which is then restored in artifacts/test.sh)
mkdir -p ./bisect
rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /linux/ ./ ./bisect/baseline/
cd linux
# Reproduce first_bad build
git checkout --detach 4ba545781e20f49cf1175e11d9f606e621040acf
../artifacts/test.sh
# Reproduce last_good build
git checkout --detach 2cb06c87c9ddbe0801fd1d94def2e24703772224
../artifacts/test.sh
cd ..
</cut>
Full commit (up to 1000 lines):
<cut>
commit 4ba545781e20f49cf1175e11d9f606e621040acf
Author: Kees Cook <keescook(a)chromium.org>
Date: Fri Jun 18 23:30:07 2021 -0700
Makefile: Enable -Warray-bounds
With the recent fixes for flexible arrays and expanded FORTIFY_SOURCE
coverage, it is now possible to enable -Warray-bounds. Since both GCC
and Clang include -Warray-bounds in -Wall, adjust the Makefile to just
stop disabling it.
Note that this option can be conservative in its warnings (which is
done at casting time rather than access time), but this is reasonable
since the cast variables may be accessed out of a scope where the true
size of the original object can't be evaluated. These handful of false
positives (which are arguably bad casts and can be easily avoided),
are worth dealing with because of the many places where this option
has helped identify missed bounds checks and even accesses done against
cases where a NULL pointer could be reached.
https://github.com/KSPP/linux/issues/109https://github.com/KSPP/linux/issues/151
Cc: Arnd Bergmann <arnd(a)arndb.de>
Cc: Masahiro Yamada <masahiroy(a)kernel.org>
Cc: linux-kbuild(a)vger.kernel.org
Co-developed-by: Gustavo A. R. Silva <gustavoars(a)kernel.org>
Signed-off-by: Gustavo A. R. Silva <gustavoars(a)kernel.org>
Signed-off-by: Kees Cook <keescook(a)chromium.org>
---
Makefile | 1 -
1 file changed, 1 deletion(-)
diff --git a/Makefile b/Makefile
index 0fb4f94a6885..71c313b90a2b 100644
--- a/Makefile
+++ b/Makefile
@@ -952,7 +952,6 @@ KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation)
# We'll want to enable this eventually, but it's not going away for 5.7 at least
KBUILD_CFLAGS += $(call cc-disable-warning, zero-length-bounds)
-KBUILD_CFLAGS += -Wno-array-bounds
KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overflow)
# Another good warning that we'll want to enable eventually
</cut>
[TCWG CI] Regression caused by linux: Merge series "" from ::
commit 58da0d84fdd2563939dafa48334e190fad1b536c
Merge: 2ce1b21cb332 dbe638f71eae
Author: Mark Brown <broonie(a)kernel.org>
Merge series "" from :
Results regressed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
30256
# linux build successful:
all
# First few build errors in logs:
from
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
30504
# linux build successful:
all
# linux boot successful:
boot
THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
This commit has regressed these CI configurations:
- tcwg_kernel/gnu-release-aarch64-next-allmodconfig
First_bad build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a…
Last_good build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a…
Baseline build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a…
Even more details: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a…
Reproduce builds:
<cut>
mkdir investigate-linux-58da0d84fdd2563939dafa48334e190fad1b536c
cd investigate-linux-58da0d84fdd2563939dafa48334e190fad1b536c
# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts
# Fetch manifests and test.sh script
mkdir -p artifacts/manifests
curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a… --fail
curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a… --fail
curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a… --fail
chmod +x artifacts/test.sh
# Reproduce the baseline build (build all pre-requisites)
./jenkins-scripts/tcwg_kernel-build.sh @@ artifacts/manifests/build-baseline.sh
# Save baseline build state (which is then restored in artifacts/test.sh)
mkdir -p ./bisect
rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /linux/ ./ ./bisect/baseline/
cd linux
# Reproduce first_bad build
git checkout --detach 58da0d84fdd2563939dafa48334e190fad1b536c
../artifacts/test.sh
# Reproduce last_good build
git checkout --detach 2ce1b21cb3326e12af3c72c47e1d294b19d73947
../artifacts/test.sh
cd ..
</cut>
Full commit (up to 1000 lines):
<cut>
commit 58da0d84fdd2563939dafa48334e190fad1b536c
Merge: 2ce1b21cb332 dbe638f71eae
Author: Mark Brown <broonie(a)kernel.org>
Date: Fri Nov 12 21:25:21 2021 +0000
Merge series "" from :
Changes from ChiYuan Huang <cy_huang(a)richtek.com> to fix a couple of
bugs and add a new device ID/quirk for the rt9120s to the driver.
sound/soc/codecs/rt9120.c | 58 +++++++++++++++++++++++++++++++++++++++--------
1 file changed, 48 insertions(+), 10 deletions(-)
</cut>
[TCWG CI] Regression caused by linux: Merge series "" from ::
commit 58da0d84fdd2563939dafa48334e190fad1b536c
Merge: 2ce1b21cb332 dbe638f71eae
Author: Mark Brown <broonie(a)kernel.org>
Merge series "" from :
Results regressed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
30256
# linux build successful:
all
# First few build errors in logs:
from
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1:
-5
# build_abe qemu:
-2
# linux_n_obj:
30504
# linux build successful:
all
# linux boot successful:
boot
THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
This commit has regressed these CI configurations:
- tcwg_kernel/gnu-release-aarch64-next-allmodconfig
First_bad build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a…
Last_good build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a…
Baseline build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a…
Even more details: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a…
Reproduce builds:
<cut>
mkdir investigate-linux-58da0d84fdd2563939dafa48334e190fad1b536c
cd investigate-linux-58da0d84fdd2563939dafa48334e190fad1b536c
# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts
# Fetch manifests and test.sh script
mkdir -p artifacts/manifests
curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a… --fail
curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a… --fail
curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-aarch64-next-a… --fail
chmod +x artifacts/test.sh
# Reproduce the baseline build (build all pre-requisites)
./jenkins-scripts/tcwg_kernel-build.sh @@ artifacts/manifests/build-baseline.sh
# Save baseline build state (which is then restored in artifacts/test.sh)
mkdir -p ./bisect
rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /linux/ ./ ./bisect/baseline/
cd linux
# Reproduce first_bad build
git checkout --detach 58da0d84fdd2563939dafa48334e190fad1b536c
../artifacts/test.sh
# Reproduce last_good build
git checkout --detach 2ce1b21cb3326e12af3c72c47e1d294b19d73947
../artifacts/test.sh
cd ..
</cut>
Full commit (up to 1000 lines):
<cut>
commit 58da0d84fdd2563939dafa48334e190fad1b536c
Merge: 2ce1b21cb332 dbe638f71eae
Author: Mark Brown <broonie(a)kernel.org>
Date: Fri Nov 12 21:25:21 2021 +0000
Merge series "" from :
Changes from ChiYuan Huang <cy_huang(a)richtek.com> to fix a couple of
bugs and add a new device ID/quirk for the rt9120s to the driver.
sound/soc/codecs/rt9120.c | 58 +++++++++++++++++++++++++++++++++++++++--------
1 file changed, 48 insertions(+), 10 deletions(-)
</cut>