virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 6.1 109/167] sound/virtio: Fix cancel_sync warnings on uninitialized work_structs
       [not found] <20250429161051.743239894@linuxfoundation.org>
@ 2025-04-29 16:43 ` Greg Kroah-Hartman
  2025-04-30 10:39 ` [PATCH 6.1 000/167] 6.1.136-rc1 review Naresh Kamboju
  1 sibling, 0 replies; 7+ messages in thread
From: Greg Kroah-Hartman @ 2025-04-29 16:43 UTC (permalink / raw)
  To: stable
  Cc: Greg Kroah-Hartman, patches, Anton Yakovlev, Michael S. Tsirkin,
	Jaroslav Kysela, Takashi Iwai, virtualization, linux-sound,
	kernel-team, Betty Zhou, Takashi Iwai, John Stultz, Sasha Levin

6.1-stable review patch.  If anyone has any objections, please let me know.

------------------

From: John Stultz <jstultz@google.com>

[ Upstream commit 3c7df2e27346eb40a0e86230db1ccab195c97cfe ]

Betty reported hitting the following warning:

[    8.709131][  T221] WARNING: CPU: 2 PID: 221 at kernel/workqueue.c:4182
...
[    8.713282][  T221] Call trace:
[    8.713365][  T221]  __flush_work+0x8d0/0x914
[    8.713468][  T221]  __cancel_work_sync+0xac/0xfc
[    8.713570][  T221]  cancel_work_sync+0x24/0x34
[    8.713667][  T221]  virtsnd_remove+0xa8/0xf8 [virtio_snd ab15f34d0dd772f6d11327e08a81d46dc9c36276]
[    8.713868][  T221]  virtsnd_probe+0x48c/0x664 [virtio_snd ab15f34d0dd772f6d11327e08a81d46dc9c36276]
[    8.714035][  T221]  virtio_dev_probe+0x28c/0x390
[    8.714139][  T221]  really_probe+0x1bc/0x4c8
...

It seems we're hitting the error path in virtsnd_probe(), which
triggers a virtsnd_remove() which iterates over the substreams
calling cancel_work_sync() on the elapsed_period work_struct.

Looking at the code, from earlier in:
virtsnd_probe()->virtsnd_build_devs()->virtsnd_pcm_parse_cfg()

We set snd->nsubstreams, allocate the snd->substreams, and if
we then hit an error on the info allocation or something in
virtsnd_ctl_query_info() fails, we will exit without having
initialized the elapsed_period work_struct.

When that error path unwinds we then call virtsnd_remove()
which as long as the substreams array is allocated, will iterate
through calling cancel_work_sync() on the uninitialized work
struct hitting this warning.

Takashi Iwai suggested this fix, which initializes the substreams
structure right after allocation, so that if we hit the error
paths we avoid trying to cleanup uninitialized data.

Note: I have not yet managed to reproduce the issue myself, so
this patch has had limited testing.

Feedback or thoughts would be appreciated!

Cc: Anton Yakovlev <anton.yakovlev@opensynergy.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: virtualization@lists.linux.dev
Cc: linux-sound@vger.kernel.org
Cc: kernel-team@android.com
Reported-by: Betty Zhou <bettyzhou@google.com>
Suggested-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: John Stultz <jstultz@google.com>
Message-Id: <20250116194114.3375616-1-jstultz@google.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 sound/virtio/virtio_pcm.c | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/sound/virtio/virtio_pcm.c b/sound/virtio/virtio_pcm.c
index c10d91fff2fb0..1ddec1f4f05d5 100644
--- a/sound/virtio/virtio_pcm.c
+++ b/sound/virtio/virtio_pcm.c
@@ -337,6 +337,21 @@ int virtsnd_pcm_parse_cfg(struct virtio_snd *snd)
 	if (!snd->substreams)
 		return -ENOMEM;
 
+	/*
+	 * Initialize critical substream fields early in case we hit an
+	 * error path and end up trying to clean up uninitialized structures
+	 * elsewhere.
+	 */
+	for (i = 0; i < snd->nsubstreams; ++i) {
+		struct virtio_pcm_substream *vss = &snd->substreams[i];
+
+		vss->snd = snd;
+		vss->sid = i;
+		INIT_WORK(&vss->elapsed_period, virtsnd_pcm_period_elapsed);
+		init_waitqueue_head(&vss->msg_empty);
+		spin_lock_init(&vss->lock);
+	}
+
 	info = kcalloc(snd->nsubstreams, sizeof(*info), GFP_KERNEL);
 	if (!info)
 		return -ENOMEM;
@@ -350,12 +365,6 @@ int virtsnd_pcm_parse_cfg(struct virtio_snd *snd)
 		struct virtio_pcm_substream *vss = &snd->substreams[i];
 		struct virtio_pcm *vpcm;
 
-		vss->snd = snd;
-		vss->sid = i;
-		INIT_WORK(&vss->elapsed_period, virtsnd_pcm_period_elapsed);
-		init_waitqueue_head(&vss->msg_empty);
-		spin_lock_init(&vss->lock);
-
 		rc = virtsnd_pcm_build_hw(vss, &info[i]);
 		if (rc)
 			goto on_exit;
-- 
2.39.5




^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 6.1 000/167] 6.1.136-rc1 review
       [not found] <20250429161051.743239894@linuxfoundation.org>
  2025-04-29 16:43 ` [PATCH 6.1 109/167] sound/virtio: Fix cancel_sync warnings on uninitialized work_structs Greg Kroah-Hartman
@ 2025-04-30 10:39 ` Naresh Kamboju
  2025-04-30 10:47   ` Dan Carpenter
                     ` (2 more replies)
  1 sibling, 3 replies; 7+ messages in thread
From: Naresh Kamboju @ 2025-04-30 10:39 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: stable, patches, linux-kernel, torvalds, akpm, linux, shuah,
	patches, lkft-triage, pavel, jonathanh, f.fainelli,
	sudipm.mukherjee, srw, rwarsow, conor, hargar, broonie,
	clang-built-linux, Nathan Chancellor, Anders Roxell,
	Arnd Bergmann, Dan Carpenter, linux-s390, linux-mips, io-uring,
	virtualization

On Tue, 29 Apr 2025 at 23:31, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> 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 +0000.
> 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 <lkft@linaro.org>

## 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 <lkft@linaro.org>

## Build error S390
arch/s390/pci/pci_report.c:14:10: fatal error: linux/sprintf.h: No
such file or directory
   14 | #include <linux/sprintf.h>
      |          ^~~~~~~~~~~~~~~~~
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':
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

## Build s390
* Build log: https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28268210/suite/build/test/gcc-13-defconfig/log
* Build history:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28268210/suite/build/test/gcc-13-defconfig/history/
* Build details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28268210/suite/build/test/gcc-13-defconfig/details/
* Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjfcqRiiDhTc38knEJ0xbygtF/
* Kernel config:
https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjfcqRiiDhTc38knEJ0xbygtF/config
* Toolchain: Debian clang version 21.0.0
(++20250428112741+e086d7b1464a-1~exp1~20250428112923.1416)

3)
Regressions on mips with defconfig builds with clang-nightly
toolchains on the stable-rc 6.1.136-rc1.

* mips, build
  - clang-nightly-allnoconfig
  - clang-nightly-defconfig
  - clang-nightly-tinyconfig

Regression Analysis:
 - New regression? Yes
 - Reproducibility? Yes

Build regression: mips kernel branch.c error default initialization of
an object of type union

Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>

## Build error mips
arch/mips/kernel/branch.c:35:6: error: default initialization of an
object of type 'union (unnamed union at
arch/mips/kernel/branch.c:35:6)' with const member leaves the object
uninitialized and is incompatible with C++
[-Werror,-Wdefault-const-init-unsafe]
   35 |         if (__get_user(inst, (u16 __user *) msk_isa16_mode(epc))) {
      |             ^


## Build mips
* Build log:  https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28266863/suite/build/test/clang-nightly-tinyconfig/log
* Build history:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28266863/suite/build/test/clang-nightly-tinyconfig/history/
* Build details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28266863/suite/build/test/clang-nightly-tinyconfig/details/
* Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjfMHLLGL9OjZrjKvW9u8uy4b/
* Kernel config:
https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjfMHLLGL9OjZrjKvW9u8uy4b/config


## Build warnings

a)
Build warnings on x86_64 builds.
io_uring/timeout.c:410:31: warning: default initialization of an
object of type 'typeof ((sqe->addr2))' (aka 'const unsigned long
long') leaves the object uninitialized and is incompatible with C++
[-Wdefault-const-init-unsafe]
  410 |                 if (get_timespec64(&tr->ts,
u64_to_user_ptr(sqe->addr2)))
      |                                             ^

Links:
 - https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjeiV7BNYgKZ2oXuK3BNEYYBa/

b)
Build warnings on arm with clang-nightly with tinyconfig.

clang: warning: argument unused during compilation: '-march=armv7-m'
[-Wunused-command-line-argument]
kernel/params.c:367:22: warning: default initialization of an object
of type 'struct kernel_param' with const member leaves the object
uninitialized and is incompatible with C++
[-Wdefault-const-init-unsafe]
  367 |         struct kernel_param dummy;
      |                             ^
include/linux/moduleparam.h:73:12: note: member 'perm' declared 'const' here
   73 |         const u16 perm;
      |                   ^
kernel/params.c:423:22: warning: default initialization of an object
of type 'struct kernel_param' with const member leaves the object
uninitialized and is incompatible with C++
[-Wdefault-const-init-unsafe]
  423 |         struct kernel_param kp;
      |                             ^
include/linux/moduleparam.h:73:12: note: member 'perm' declared 'const' here
   73 |         const u16 perm;
      |                   ^
2 warnings generated.

Links:
 - https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjeaX1oyIaa7F0nsdW1BymEGQ/

## Build
* kernel: 6.1.136-rc1
* git: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
* git commit: 961a5173f29d2aa1f2c87ff9612b029c46086972
* git describe: v6.1.134-461-g961a5173f29d
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d

## Test Regressions (compared to v6.1.134-292-gb8b5da130779)
* i386, build
  - clang-nightly-defconfig
  - clang-nightly-lkftconfig

* mips, build
  - clang-nightly-allnoconfig
  - clang-nightly-defconfig
  - clang-nightly-tinyconfig

* s390, build
  - clang-20-defconfig
  - clang-nightly-defconfig
  - gcc-13-allmodconfig
  - gcc-13-defconfig
  - gcc-8-defconfig-fe40093d

* x86_64, build
  - clang-nightly-lkftconfig
  - clang-nightly-x86_64_defconfig

## Metric Regressions (compared to v6.1.134-292-gb8b5da130779)

## Test Fixes (compared to v6.1.134-292-gb8b5da130779)

## Metric Fixes (compared to v6.1.134-292-gb8b5da130779)

## Test result summary
total: 96862, pass: 76665, fail: 4435, skip: 15439, xfail: 323

## Build Summary
* arc: 5 total, 5 passed, 0 failed
* arm: 135 total, 135 passed, 0 failed
* arm64: 43 total, 43 passed, 0 failed
* i386: 27 total, 20 passed, 7 failed
* mips: 26 total, 22 passed, 4 failed
* parisc: 4 total, 4 passed, 0 failed
* powerpc: 32 total, 31 passed, 1 failed
* riscv: 11 total, 9 passed, 2 failed
* s390: 14 total, 8 passed, 6 failed
* sh: 10 total, 10 passed, 0 failed
* sparc: 7 total, 7 passed, 0 failed
* x86_64: 35 total, 32 passed, 3 failed

## Test suites summary
* boot
* commands
* kselftest-arm64
* kselftest-breakpoints
* kselftest-capabilities
* kselftest-cgroup
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-cpufreq
* kselftest-efivarfs
* kselftest-exec
* kselftest-fpu
* kselftest-ftrace
* kselftest-futex
* kselftest-gpio
* kselftest-intel_pstate
* kselftest-ipc
* kselftest-kcmp
* kselftest-kvm
* kselftest-livepatch
* kselftest-membarrier
* kselftest-memfd
* kselftest-mincore
* kselftest-mqueue
* kselftest-net
* kselftest-net-mptcp
* kselftest-openat2
* kselftest-ptrace
* kselftest-rseq
* kselftest-rtc
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-tc-testing
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user_events
* kselftest-vDSO
* kselftest-x86
* kunit
* kvm-unit-tests
* lava
* libgpiod
* libhugetlbfs
* log-parser-boot
* log-parser-build-clang
* log-parser-build-gcc
* log-parser-test
* ltp-capability
* ltp-commands
* ltp-containers
* ltp-controllers
* ltp-cpuhotplug
* ltp-crypto
* ltp-cve
* ltp-dio
* ltp-fcntl-locktests
* ltp-fs
* ltp-fs_bind
* ltp-fs_perms_simple
* ltp-hugetlb
* ltp-ipc
* ltp-math
* ltp-mm
* ltp-nptl
* ltp-pty
* ltp-sched
* ltp-smoke
* ltp-syscalls
* ltp-tracing
* perf
* rcutorture

--
Linaro LKFT
https://lkft.linaro.org

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 6.1 000/167] 6.1.136-rc1 review
  2025-04-30 10:39 ` [PATCH 6.1 000/167] 6.1.136-rc1 review Naresh Kamboju
@ 2025-04-30 10:47   ` Dan Carpenter
  2025-04-30 10:58   ` Greg Kroah-Hartman
  2025-04-30 15:54   ` Matthew Rosato
  2 siblings, 0 replies; 7+ messages in thread
From: Dan Carpenter @ 2025-04-30 10:47 UTC (permalink / raw)
  To: Naresh Kamboju, clang-built-linux
  Cc: Greg Kroah-Hartman, stable, patches, linux-kernel, torvalds, akpm,
	linux, shuah, patches, lkft-triage, pavel, jonathanh, f.fainelli,
	sudipm.mukherjee, srw, rwarsow, conor, hargar, broonie,
	Nathan Chancellor, Anders Roxell, Arnd Bergmann, linux-s390,
	linux-mips, io-uring, virtualization

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
> <gregkh@linuxfoundation.org> 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 +0000.
> > 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 <lkft@linaro.org>
> 
> ## 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 <lkft@linaro.org>
> 
> ## Build error S390
> arch/s390/pci/pci_report.c:14:10: fatal error: linux/sprintf.h: No
> such file or directory
>    14 | #include <linux/sprintf.h>
>       |          ^~~~~~~~~~~~~~~~~
> 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':
> 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
> 
> ## Build s390
> * Build log: https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28268210/suite/build/test/gcc-13-defconfig/log
> * Build history:
> https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28268210/suite/build/test/gcc-13-defconfig/history/
> * Build details:
> https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28268210/suite/build/test/gcc-13-defconfig/details/
> * Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjfcqRiiDhTc38knEJ0xbygtF/
> * Kernel config:
> https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjfcqRiiDhTc38knEJ0xbygtF/config
> * Toolchain: Debian clang version 21.0.0
> (++20250428112741+e086d7b1464a-1~exp1~20250428112923.1416)
> 
> 3)
> Regressions on mips with defconfig builds with clang-nightly
> toolchains on the stable-rc 6.1.136-rc1.
> 
> * mips, build
>   - clang-nightly-allnoconfig
>   - clang-nightly-defconfig
>   - clang-nightly-tinyconfig
> 
> Regression Analysis:
>  - New regression? Yes
>  - Reproducibility? Yes
> 
> Build regression: mips kernel branch.c error default initialization of
> an object of type union
> 
> Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
> 
> ## Build error mips
> arch/mips/kernel/branch.c:35:6: error: default initialization of an
> object of type 'union (unnamed union at
> arch/mips/kernel/branch.c:35:6)' with const member leaves the object
> uninitialized and is incompatible with C++
> [-Werror,-Wdefault-const-init-unsafe]
>    35 |         if (__get_user(inst, (u16 __user *) msk_isa16_mode(epc))) {
>       |             ^
> 
> 
> ## Build mips
> * Build log:  https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28266863/suite/build/test/clang-nightly-tinyconfig/log
> * Build history:
> https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28266863/suite/build/test/clang-nightly-tinyconfig/history/
> * Build details:
> https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d/testrun/28266863/suite/build/test/clang-nightly-tinyconfig/details/
> * Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjfMHLLGL9OjZrjKvW9u8uy4b/
> * Kernel config:
> https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjfMHLLGL9OjZrjKvW9u8uy4b/config
> 
> 
> ## Build warnings
> 
> a)
> Build warnings on x86_64 builds.
> io_uring/timeout.c:410:31: warning: default initialization of an
> object of type 'typeof ((sqe->addr2))' (aka 'const unsigned long
> long') leaves the object uninitialized and is incompatible with C++
> [-Wdefault-const-init-unsafe]
>   410 |                 if (get_timespec64(&tr->ts,
> u64_to_user_ptr(sqe->addr2)))
>       |                                             ^
> 
> Links:
>  - https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjeiV7BNYgKZ2oXuK3BNEYYBa/
> 
> b)
> Build warnings on arm with clang-nightly with tinyconfig.
> 
> clang: warning: argument unused during compilation: '-march=armv7-m'
> [-Wunused-command-line-argument]
> kernel/params.c:367:22: warning: default initialization of an object
> of type 'struct kernel_param' with const member leaves the object
> uninitialized and is incompatible with C++
> [-Wdefault-const-init-unsafe]
>   367 |         struct kernel_param dummy;
>       |                             ^
> include/linux/moduleparam.h:73:12: note: member 'perm' declared 'const' here
>    73 |         const u16 perm;
>       |                   ^
> kernel/params.c:423:22: warning: default initialization of an object
> of type 'struct kernel_param' with const member leaves the object
> uninitialized and is incompatible with C++
> [-Wdefault-const-init-unsafe]
>   423 |         struct kernel_param kp;
>       |                             ^
> include/linux/moduleparam.h:73:12: note: member 'perm' declared 'const' here
>    73 |         const u16 perm;
>       |                   ^
> 2 warnings generated.
> 
> Links:
>  - https://storage.tuxsuite.com/public/linaro/lkft/builds/2wPjeaX1oyIaa7F0nsdW1BymEGQ/
> 
> ## Build
> * kernel: 6.1.136-rc1
> * git: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
> * git commit: 961a5173f29d2aa1f2c87ff9612b029c46086972
> * git describe: v6.1.134-461-g961a5173f29d
> * test details:
> https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.134-461-g961a5173f29d
> 
> ## Test Regressions (compared to v6.1.134-292-gb8b5da130779)
> * i386, build
>   - clang-nightly-defconfig
>   - clang-nightly-lkftconfig
> 
> * mips, build
>   - clang-nightly-allnoconfig
>   - clang-nightly-defconfig
>   - clang-nightly-tinyconfig
> 
> * s390, build
>   - clang-20-defconfig
>   - clang-nightly-defconfig
>   - gcc-13-allmodconfig
>   - gcc-13-defconfig
>   - gcc-8-defconfig-fe40093d
> 
> * x86_64, build
>   - clang-nightly-lkftconfig
>   - clang-nightly-x86_64_defconfig
> 
> ## Metric Regressions (compared to v6.1.134-292-gb8b5da130779)
> 
> ## Test Fixes (compared to v6.1.134-292-gb8b5da130779)
> 
> ## Metric Fixes (compared to v6.1.134-292-gb8b5da130779)
> 
> ## Test result summary
> total: 96862, pass: 76665, fail: 4435, skip: 15439, xfail: 323
> 
> ## Build Summary
> * arc: 5 total, 5 passed, 0 failed
> * arm: 135 total, 135 passed, 0 failed
> * arm64: 43 total, 43 passed, 0 failed
> * i386: 27 total, 20 passed, 7 failed
> * mips: 26 total, 22 passed, 4 failed
> * parisc: 4 total, 4 passed, 0 failed
> * powerpc: 32 total, 31 passed, 1 failed
> * riscv: 11 total, 9 passed, 2 failed
> * s390: 14 total, 8 passed, 6 failed
> * sh: 10 total, 10 passed, 0 failed
> * sparc: 7 total, 7 passed, 0 failed
> * x86_64: 35 total, 32 passed, 3 failed
> 
> ## Test suites summary
> * boot
> * commands
> * kselftest-arm64
> * kselftest-breakpoints
> * kselftest-capabilities
> * kselftest-cgroup
> * kselftest-clone3
> * kselftest-core
> * kselftest-cpu-hotplug
> * kselftest-cpufreq
> * kselftest-efivarfs
> * kselftest-exec
> * kselftest-fpu
> * kselftest-ftrace
> * kselftest-futex
> * kselftest-gpio
> * kselftest-intel_pstate
> * kselftest-ipc
> * kselftest-kcmp
> * kselftest-kvm
> * kselftest-livepatch
> * kselftest-membarrier
> * kselftest-memfd
> * kselftest-mincore
> * kselftest-mqueue
> * kselftest-net
> * kselftest-net-mptcp
> * kselftest-openat2
> * kselftest-ptrace
> * kselftest-rseq
> * kselftest-rtc
> * kselftest-seccomp
> * kselftest-sigaltstack
> * kselftest-size
> * kselftest-tc-testing
> * kselftest-timers
> * kselftest-tmpfs
> * kselftest-tpm2
> * kselftest-user_events
> * kselftest-vDSO
> * kselftest-x86
> * kunit
> * kvm-unit-tests
> * lava
> * libgpiod
> * libhugetlbfs
> * log-parser-boot
> * log-parser-build-clang
> * log-parser-build-gcc
> * log-parser-test
> * ltp-capability
> * ltp-commands
> * ltp-containers
> * ltp-controllers
> * ltp-cpuhotplug
> * ltp-crypto
> * ltp-cve
> * ltp-dio
> * ltp-fcntl-locktests
> * ltp-fs
> * ltp-fs_bind
> * ltp-fs_perms_simple
> * ltp-hugetlb
> * ltp-ipc
> * ltp-math
> * ltp-mm
> * ltp-nptl
> * ltp-pty
> * ltp-sched
> * ltp-smoke
> * ltp-syscalls
> * ltp-tracing
> * perf
> * rcutorture
> 
> --
> Linaro LKFT
> https://lkft.linaro.org

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 6.1 000/167] 6.1.136-rc1 review
  2025-04-30 10:39 ` [PATCH 6.1 000/167] 6.1.136-rc1 review Naresh Kamboju
  2025-04-30 10:47   ` Dan Carpenter
@ 2025-04-30 10:58   ` Greg Kroah-Hartman
  2025-04-30 23:32     ` Nathan Chancellor
  2025-04-30 15:54   ` Matthew Rosato
  2 siblings, 1 reply; 7+ messages in thread
From: Greg Kroah-Hartman @ 2025-04-30 10:58 UTC (permalink / raw)
  To: Naresh Kamboju
  Cc: stable, patches, linux-kernel, torvalds, akpm, linux, shuah,
	patches, lkft-triage, pavel, jonathanh, f.fainelli,
	sudipm.mukherjee, srw, rwarsow, conor, hargar, broonie,
	clang-built-linux, Nathan Chancellor, Anders Roxell,
	Arnd Bergmann, Dan Carpenter, linux-s390, linux-mips, io-uring,
	virtualization

On Wed, Apr 30, 2025 at 04:09:18PM +0530, Naresh Kamboju wrote:
> On Tue, 29 Apr 2025 at 23:31, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> 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 +0000.
> > 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 <lkft@linaro.org>
> 
> ## 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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 6.1 000/167] 6.1.136-rc1 review
  2025-04-30 10:39 ` [PATCH 6.1 000/167] 6.1.136-rc1 review Naresh Kamboju
  2025-04-30 10:47   ` Dan Carpenter
  2025-04-30 10:58   ` Greg Kroah-Hartman
@ 2025-04-30 15:54   ` Matthew Rosato
  2025-05-01  7:18     ` Greg Kroah-Hartman
  2 siblings, 1 reply; 7+ messages in thread
From: Matthew Rosato @ 2025-04-30 15:54 UTC (permalink / raw)
  To: Naresh Kamboju, Greg Kroah-Hartman
  Cc: stable, patches, linux-kernel, torvalds, akpm, linux, shuah,
	patches, lkft-triage, pavel, jonathanh, f.fainelli,
	sudipm.mukherjee, srw, rwarsow, conor, hargar, broonie,
	clang-built-linux, Nathan Chancellor, Anders Roxell,
	Arnd Bergmann, Dan Carpenter, linux-s390, linux-mips, io-uring,
	virtualization, Halil Pasic, Eric Farman, Heiko Carstens


> 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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 6.1 000/167] 6.1.136-rc1 review
  2025-04-30 10:58   ` Greg Kroah-Hartman
@ 2025-04-30 23:32     ` Nathan Chancellor
  0 siblings, 0 replies; 7+ messages in thread
From: Nathan Chancellor @ 2025-04-30 23:32 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Naresh Kamboju, stable, patches, linux-kernel, torvalds, akpm,
	linux, shuah, patches, lkft-triage, pavel, jonathanh, f.fainelli,
	sudipm.mukherjee, srw, rwarsow, conor, hargar, broonie,
	clang-built-linux, Anders Roxell, Arnd Bergmann, Dan Carpenter,
	linux-s390, linux-mips, io-uring, virtualization

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 <lkft@linaro.org>
> > 
> > ## 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; \
 })

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 6.1 000/167] 6.1.136-rc1 review
  2025-04-30 15:54   ` Matthew Rosato
@ 2025-05-01  7:18     ` Greg Kroah-Hartman
  0 siblings, 0 replies; 7+ messages in thread
From: Greg Kroah-Hartman @ 2025-05-01  7:18 UTC (permalink / raw)
  To: Matthew Rosato
  Cc: Naresh Kamboju, stable, patches, linux-kernel, torvalds, akpm,
	linux, shuah, patches, lkft-triage, pavel, jonathanh, f.fainelli,
	sudipm.mukherjee, srw, rwarsow, conor, hargar, broonie,
	clang-built-linux, Nathan Chancellor, Anders Roxell,
	Arnd Bergmann, Dan Carpenter, linux-s390, linux-mips, io-uring,
	virtualization, Halil Pasic, Eric Farman, Heiko Carstens

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-05-01  7:18 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20250429161051.743239894@linuxfoundation.org>
2025-04-29 16:43 ` [PATCH 6.1 109/167] sound/virtio: Fix cancel_sync warnings on uninitialized work_structs Greg Kroah-Hartman
2025-04-30 10:39 ` [PATCH 6.1 000/167] 6.1.136-rc1 review Naresh Kamboju
2025-04-30 10:47   ` Dan Carpenter
2025-04-30 10:58   ` Greg Kroah-Hartman
2025-04-30 23:32     ` Nathan Chancellor
2025-04-30 15:54   ` Matthew Rosato
2025-05-01  7:18     ` Greg Kroah-Hartman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).