Re: [PATCH 6.1 000/167] 6.1.136-rc1 review

2025-05-01 Thread Greg Kroah-Hartman
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

2025-04-30 Thread Nathan Chancellor
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

2025-04-30 Thread Matthew Rosato


> 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

2025-04-30 Thread Greg Kroah-Hartman
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

2025-04-30 Thread Dan Carpenter
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

2025-04-30 Thread Naresh Kamboju
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