Re: [PATCH 6.1 000/167] 6.1.136-rc1 review
On Wed, Apr 30, 2025 at 11:54:49AM -0400, Matthew Rosato wrote: > > > 2) > > Regressions on s390 with defconfig builds with gcc-13, gcc-8 and > > clang-20 and clang-nightly toolchains on the stable-rc 6.1.136-rc1. > > > > * s390, build > > - clang-20-defconfig > > - clang-nightly-defconfig > > - gcc-13-allmodconfig > > - gcc-13-defconfig > > - gcc-8-defconfig-fe40093d > > > > Regression Analysis: > > - New regression? Yes > > - Reproducibility? Yes > > > ... > > drivers/s390/virtio/virtio_ccw.c:88:9: error: unknown type name 'dma64_t' > >88 | dma64_t queue; > > | ^~~ > > drivers/s390/virtio/virtio_ccw.c:95:9: error: unknown type name 'dma64_t' > >95 | dma64_t desc; > > | ^~~ > > drivers/s390/virtio/virtio_ccw.c:99:9: error: unknown type name 'dma64_t' > >99 | dma64_t avail; > > | ^~~ > > drivers/s390/virtio/virtio_ccw.c:100:9: error: unknown type name 'dma64_t' > > 100 | dma64_t used; > > | ^~~ > > drivers/s390/virtio/virtio_ccw.c:109:9: error: unknown type name 'dma64_t' > > 109 | dma64_t summary_indicator; > > | ^~~ > > drivers/s390/virtio/virtio_ccw.c:110:9: error: unknown type name 'dma64_t' > > 110 | dma64_t indicator; > > | ^~~ > > drivers/s390/virtio/virtio_ccw.c: In function 'virtio_ccw_drop_indicator': > > drivers/s390/virtio/virtio_ccw.c:370:25: error: implicit declaration > > of function 'virt_to_dma64'; did you mean 'virt_to_page'? > > [-Werror=implicit-function-declaration] > > 370 | > > virt_to_dma64(get_summary_indicator(airq_info)); > > | ^ > > | virt_to_page > > drivers/s390/virtio/virtio_ccw.c:374:28: error: implicit declaration > > of function 'virt_to_dma32'; did you mean 'virt_to_page'? > > [-Werror=implicit-function-declaration] > > 374 | ccw->cda = virt_to_dma32(thinint_area); > > |^ > > |virt_to_page > > drivers/s390/virtio/virtio_ccw.c: In function 'virtio_ccw_setup_vq': > > drivers/s390/virtio/virtio_ccw.c:552:45: error: implicit declaration > > of function 'u64_to_dma64' [-Werror=implicit-function-declaration] > > 552 | info->info_block->l.queue = u64_to_dma64(queue); > > | ^~~~ > > drivers/s390/virtio/virtio_ccw.c: In function 'virtio_ccw_find_vqs': > > drivers/s390/virtio/virtio_ccw.c:654:9: error: unknown type name 'dma64_t' > > 654 | dma64_t *indicatorp = NULL; > > | ^~~ > > cc1: some warnings being treated as errors > > The virtio_ccw errors are caused by '[PATCH 6.1 033/167] s390/virtio_ccw: fix > virtual vs physical address confusion' > > Picking the following 2 dependencies would resolve the build error: > > 1bcf7f48b7d4 s390/cio: use bitwise types to allow for type checking > 8b19e145e82f s390/cio: introduce bitwise dma types and helper functions I'm just going to drop all of these now and wait for a tested series to be sent. thanks, greg k-h
Re: [PATCH 6.1 000/167] 6.1.136-rc1 review
On Wed, Apr 30, 2025 at 12:58:13PM +0200, Greg Kroah-Hartman wrote:
> On Wed, Apr 30, 2025 at 04:09:18PM +0530, Naresh Kamboju wrote:
> > Regressions on x86_64 with defconfig builds with clang-nightly toolchain
> > on the stable-rc 6.1.136-rc1.
clang-nightly is always a moving target so for the sake of the stable
-rc reports, I would only focus on issues that appear with just those
patches, as you should see this issue on 6.1.136.
> > * x86_64, build
> > - clang-nightly-lkftconfig
> > - clang-nightly-x86_64_defconfig
> >
> > Regression Analysis:
> > - New regression? Yes
> > - Reproducibility? Yes
> >
> > Build regression: x86_64 clang-nightly net ip.h error default
> > initialization of an object of type 'typeof (rt->dst.expires)'
> >
> > Reported-by: Linux Kernel Functional Testing
> >
> > ## Build error x86_64
> > include/net/ip.h:462:14: error: default initialization of an object of
> > type 'typeof (rt->dst.expires)' (aka 'const unsigned long') leaves the
> > object uninitialized and is incompatible with C++
> > [-Werror,-Wdefault-const-init-unsafe]
> > 462 | if (mtu && time_before(jiffies, rt->dst.expires))
> > |^
>
> This isn't c++, so are you sure this isn't just a clang bug?
Yes, it is intentional that this warns for C code, the clang maintainer
felt that the default initialization behavior of const variables not
marked as static or thread local was worth warning about by default.
https://github.com/llvm/llvm-project/pull/137166
But it is going to be adjusted to allow the kernel to opt-out of the
warning for aggregate members, as that triggers often in the kernel:
https://github.com/llvm/llvm-project/pull/137961
The only instance of -Wdefault-const-init-var-unsafe that I have found
so far is in typecheck(), which should be easy enough to clean up.
Cheers,
Nathan
diff --git a/include/linux/typecheck.h b/include/linux/typecheck.h
index 46b15e2aaefb..5b473c9905ae 100644
--- a/include/linux/typecheck.h
+++ b/include/linux/typecheck.h
@@ -7,8 +7,8 @@
* Always evaluates to 1 so you may use it easily in comparisons.
*/
#define typecheck(type,x) \
-({ type __dummy; \
- typeof(x) __dummy2; \
+({ type __dummy = {}; \
+ typeof(x) __dummy2 = {}; \
(void)(&__dummy == &__dummy2); \
1; \
})
Re: [PATCH 6.1 000/167] 6.1.136-rc1 review
> 2) > Regressions on s390 with defconfig builds with gcc-13, gcc-8 and > clang-20 and clang-nightly toolchains on the stable-rc 6.1.136-rc1. > > * s390, build > - clang-20-defconfig > - clang-nightly-defconfig > - gcc-13-allmodconfig > - gcc-13-defconfig > - gcc-8-defconfig-fe40093d > > Regression Analysis: > - New regression? Yes > - Reproducibility? Yes > ... > drivers/s390/virtio/virtio_ccw.c:88:9: error: unknown type name 'dma64_t' >88 | dma64_t queue; > | ^~~ > drivers/s390/virtio/virtio_ccw.c:95:9: error: unknown type name 'dma64_t' >95 | dma64_t desc; > | ^~~ > drivers/s390/virtio/virtio_ccw.c:99:9: error: unknown type name 'dma64_t' >99 | dma64_t avail; > | ^~~ > drivers/s390/virtio/virtio_ccw.c:100:9: error: unknown type name 'dma64_t' > 100 | dma64_t used; > | ^~~ > drivers/s390/virtio/virtio_ccw.c:109:9: error: unknown type name 'dma64_t' > 109 | dma64_t summary_indicator; > | ^~~ > drivers/s390/virtio/virtio_ccw.c:110:9: error: unknown type name 'dma64_t' > 110 | dma64_t indicator; > | ^~~ > drivers/s390/virtio/virtio_ccw.c: In function 'virtio_ccw_drop_indicator': > drivers/s390/virtio/virtio_ccw.c:370:25: error: implicit declaration > of function 'virt_to_dma64'; did you mean 'virt_to_page'? > [-Werror=implicit-function-declaration] > 370 | > virt_to_dma64(get_summary_indicator(airq_info)); > | ^ > | virt_to_page > drivers/s390/virtio/virtio_ccw.c:374:28: error: implicit declaration > of function 'virt_to_dma32'; did you mean 'virt_to_page'? > [-Werror=implicit-function-declaration] > 374 | ccw->cda = virt_to_dma32(thinint_area); > |^ > |virt_to_page > drivers/s390/virtio/virtio_ccw.c: In function 'virtio_ccw_setup_vq': > drivers/s390/virtio/virtio_ccw.c:552:45: error: implicit declaration > of function 'u64_to_dma64' [-Werror=implicit-function-declaration] > 552 | info->info_block->l.queue = u64_to_dma64(queue); > | ^~~~ > drivers/s390/virtio/virtio_ccw.c: In function 'virtio_ccw_find_vqs': > drivers/s390/virtio/virtio_ccw.c:654:9: error: unknown type name 'dma64_t' > 654 | dma64_t *indicatorp = NULL; > | ^~~ > cc1: some warnings being treated as errors The virtio_ccw errors are caused by '[PATCH 6.1 033/167] s390/virtio_ccw: fix virtual vs physical address confusion' Picking the following 2 dependencies would resolve the build error: 1bcf7f48b7d4 s390/cio: use bitwise types to allow for type checking 8b19e145e82f s390/cio: introduce bitwise dma types and helper functions
Re: [PATCH 6.1 000/167] 6.1.136-rc1 review
On Wed, Apr 30, 2025 at 04:09:18PM +0530, Naresh Kamboju wrote: > On Tue, 29 Apr 2025 at 23:31, Greg Kroah-Hartman > wrote: > > > > This is the start of the stable review cycle for the 6.1.136 release. > > There are 167 patches in this series, all will be posted as a response > > to this one. If anyone has any issues with these being applied, please > > let me know. > > > > Responses should be made by Thu, 01 May 2025 16:10:15 +. > > Anything received after that time might be too late. > > > > The whole patch series can be found in one patch at: > > > > https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.136-rc1.gz > > or in the git tree and branch at: > > > > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git > > linux-6.1.y > > and the diffstat can be found below. > > > > thanks, > > > > greg k-h > > There are three build regressions and two build warnings. > > 1) > Regressions on x86_64 with defconfig builds with clang-nightly toolchain > on the stable-rc 6.1.136-rc1. > > * x86_64, build > - clang-nightly-lkftconfig > - clang-nightly-x86_64_defconfig > > Regression Analysis: > - New regression? Yes > - Reproducibility? Yes > > Build regression: x86_64 clang-nightly net ip.h error default > initialization of an object of type 'typeof (rt->dst.expires)' > > Reported-by: Linux Kernel Functional Testing > > ## Build error x86_64 > include/net/ip.h:462:14: error: default initialization of an object of > type 'typeof (rt->dst.expires)' (aka 'const unsigned long') leaves the > object uninitialized and is incompatible with C++ > [-Werror,-Wdefault-const-init-unsafe] > 462 | if (mtu && time_before(jiffies, rt->dst.expires)) > |^ This isn't c++, so are you sure this isn't just a clang bug? thanks, greg k-h
Re: [PATCH 6.1 000/167] 6.1.136-rc1 review
All the clang-nightly issues seem like bugs in clang. I would say only the build error on S390 is a kernel issue. regards, dan carpenter On Wed, Apr 30, 2025 at 04:09:18PM +0530, Naresh Kamboju wrote: > On Tue, 29 Apr 2025 at 23:31, Greg Kroah-Hartman > wrote: > > > > This is the start of the stable review cycle for the 6.1.136 release. > > There are 167 patches in this series, all will be posted as a response > > to this one. If anyone has any issues with these being applied, please > > let me know. > > > > Responses should be made by Thu, 01 May 2025 16:10:15 +. > > Anything received after that time might be too late. > > > > The whole patch series can be found in one patch at: > > > > https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.136-rc1.gz > > or in the git tree and branch at: > > > > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git > > linux-6.1.y > > and the diffstat can be found below. > > > > thanks, > > > > greg k-h > > There are three build regressions and two build warnings. > > 1) > Regressions on x86_64 with defconfig builds with clang-nightly toolchain > on the stable-rc 6.1.136-rc1. > > * x86_64, build > - clang-nightly-lkftconfig > - clang-nightly-x86_64_defconfig > > Regression Analysis: > - New regression? Yes > - Reproducibility? Yes > > Build regression: x86_64 clang-nightly net ip.h error default > initialization of an object of type 'typeof (rt->dst.expires)' > > Reported-by: Linux Kernel Functional Testing > > ## Build error x86_64 > include/net/ip.h:462:14: error: default initialization of an object of > type 'typeof (rt->dst.expires)' (aka 'const unsigned long') leaves the > object uninitialized and is incompatible with C++ > [-Werror,-Wdefault-const-init-unsafe] > 462 | if (mtu && time_before(jiffies, rt->dst.expires)) > |^ > > ## Build x86_64 > * Build log: > https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28268204/suite/build/test/clang-nightly-x86_64_defconfig/log > * Build history: > https://qa-reports.linaro.org/lkft/linux-stale-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28268204/suite/build/test/clang-nightly-x86_64_defconfig/history/ > * Build details: > https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28268204/suite/build/test/clang-nightly-x86_64_defconfig/details/ > * Build link: > https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjfmTxuT4qMCUSSj4ZwJQJrqY/ > * Kernel config: > https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjfmTxuT4qMCUSSj4ZwJQJrqY/config > * Toolchain: Debian clang version 21.0.0 > (++20250428112741+e086d7b1464a-1~exp1~20250428112923.1416) > > 2) > Regressions on s390 with defconfig builds with gcc-13, gcc-8 and > clang-20 and clang-nightly toolchains on the stable-rc 6.1.136-rc1. > > * s390, build > - clang-20-defconfig > - clang-nightly-defconfig > - gcc-13-allmodconfig > - gcc-13-defconfig > - gcc-8-defconfig-fe40093d > > Regression Analysis: > - New regression? Yes > - Reproducibility? Yes > > Build regression: s390 pci_report.c fatal error linux sprintf.h No > such file or directory > > Reported-by: Linux Kernel Functional Testing > > ## Build error S390 > arch/s390/pci/pci_report.c:14:10: fatal error: linux/sprintf.h: No > such file or directory >14 | #include > | ^ > compilation terminated. > arch/s390/pci/pci_fixup.c: In function 'zpci_ism_bar_no_mmap': > arch/s390/pci/pci_fixup.c:19:13: error: 'struct pci_dev' has no member > named 'non_mappable_bars' >19 | pdev->non_mappable_bars = 1; > | ^~ > drivers/s390/virtio/virtio_ccw.c:88:9: error: unknown type name 'dma64_t' >88 | dma64_t queue; > | ^~~ > drivers/s390/virtio/virtio_ccw.c:95:9: error: unknown type name 'dma64_t' >95 | dma64_t desc; > | ^~~ > drivers/s390/virtio/virtio_ccw.c:99:9: error: unknown type name 'dma64_t' >99 | dma64_t avail; > | ^~~ > drivers/s390/virtio/virtio_ccw.c:100:9: error: unknown type name 'dma64_t' > 100 | dma64_t used; > | ^~~ > drivers/s390/virtio/virtio_ccw.c:109:9: error: unknown type name 'dma64_t' > 109 | dma64_t summary_indicator; > | ^~~ > drivers/s390/virtio/virtio_ccw.c:110:9: error: unknown type name 'dma64_t' > 110 | dma64_t indicator; > | ^~~ > drivers/s390/virtio/virtio_ccw.c: In function 'virtio_ccw_drop_indicator': > drivers/s390/virtio/virtio_ccw.c:370:25: error: implicit declaration > of function 'virt_to_dma64'; did you mean 'virt_to_page'? > [-Werror=implicit-function-declaration] > 370 | > virt_to_dma64(get_summary_indicator(airq_info)); > | ^
Re: [PATCH 6.1 000/167] 6.1.136-rc1 review
On Tue, 29 Apr 2025 at 23:31, Greg Kroah-Hartman wrote: > > This is the start of the stable review cycle for the 6.1.136 release. > There are 167 patches in this series, all will be posted as a response > to this one. If anyone has any issues with these being applied, please > let me know. > > Responses should be made by Thu, 01 May 2025 16:10:15 +. > Anything received after that time might be too late. > > The whole patch series can be found in one patch at: > > https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.136-rc1.gz > or in the git tree and branch at: > > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git > linux-6.1.y > and the diffstat can be found below. > > thanks, > > greg k-h There are three build regressions and two build warnings. 1) Regressions on x86_64 with defconfig builds with clang-nightly toolchain on the stable-rc 6.1.136-rc1. * x86_64, build - clang-nightly-lkftconfig - clang-nightly-x86_64_defconfig Regression Analysis: - New regression? Yes - Reproducibility? Yes Build regression: x86_64 clang-nightly net ip.h error default initialization of an object of type 'typeof (rt->dst.expires)' Reported-by: Linux Kernel Functional Testing ## Build error x86_64 include/net/ip.h:462:14: error: default initialization of an object of type 'typeof (rt->dst.expires)' (aka 'const unsigned long') leaves the object uninitialized and is incompatible with C++ [-Werror,-Wdefault-const-init-unsafe] 462 | if (mtu && time_before(jiffies, rt->dst.expires)) |^ ## Build x86_64 * Build log: https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28268204/suite/build/test/clang-nightly-x86_64_defconfig/log * Build history: https://qa-reports.linaro.org/lkft/linux-stale-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28268204/suite/build/test/clang-nightly-x86_64_defconfig/history/ * Build details: https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28268204/suite/build/test/clang-nightly-x86_64_defconfig/details/ * Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjfmTxuT4qMCUSSj4ZwJQJrqY/ * Kernel config: https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjfmTxuT4qMCUSSj4ZwJQJrqY/config * Toolchain: Debian clang version 21.0.0 (++20250428112741+e086d7b1464a-1~exp1~20250428112923.1416) 2) Regressions on s390 with defconfig builds with gcc-13, gcc-8 and clang-20 and clang-nightly toolchains on the stable-rc 6.1.136-rc1. * s390, build - clang-20-defconfig - clang-nightly-defconfig - gcc-13-allmodconfig - gcc-13-defconfig - gcc-8-defconfig-fe40093d Regression Analysis: - New regression? Yes - Reproducibility? Yes Build regression: s390 pci_report.c fatal error linux sprintf.h No such file or directory Reported-by: Linux Kernel Functional Testing ## Build error S390 arch/s390/pci/pci_report.c:14:10: fatal error: linux/sprintf.h: No such file or directory 14 | #include | ^ compilation terminated. arch/s390/pci/pci_fixup.c: In function 'zpci_ism_bar_no_mmap': arch/s390/pci/pci_fixup.c:19:13: error: 'struct pci_dev' has no member named 'non_mappable_bars' 19 | pdev->non_mappable_bars = 1; | ^~ drivers/s390/virtio/virtio_ccw.c:88:9: error: unknown type name 'dma64_t' 88 | dma64_t queue; | ^~~ drivers/s390/virtio/virtio_ccw.c:95:9: error: unknown type name 'dma64_t' 95 | dma64_t desc; | ^~~ drivers/s390/virtio/virtio_ccw.c:99:9: error: unknown type name 'dma64_t' 99 | dma64_t avail; | ^~~ drivers/s390/virtio/virtio_ccw.c:100:9: error: unknown type name 'dma64_t' 100 | dma64_t used; | ^~~ drivers/s390/virtio/virtio_ccw.c:109:9: error: unknown type name 'dma64_t' 109 | dma64_t summary_indicator; | ^~~ drivers/s390/virtio/virtio_ccw.c:110:9: error: unknown type name 'dma64_t' 110 | dma64_t indicator; | ^~~ drivers/s390/virtio/virtio_ccw.c: In function 'virtio_ccw_drop_indicator': drivers/s390/virtio/virtio_ccw.c:370:25: error: implicit declaration of function 'virt_to_dma64'; did you mean 'virt_to_page'? [-Werror=implicit-function-declaration] 370 | virt_to_dma64(get_summary_indicator(airq_info)); | ^ | virt_to_page drivers/s390/virtio/virtio_ccw.c:374:28: error: implicit declaration of function 'virt_to_dma32'; did you mean 'virt_to_page'? [-Werror=implicit-function-declaration] 374 | ccw->cda = virt_to_dma32(thinint_area); |^ |virt_to_page drivers/s390/virtio/virtio_ccw.c: In function 'virtio_ccw_setup_vq': drive

