Linux kernel -stable discussions
 help / color / mirror / Atom feed
* [REGRESSION] 6.6.141 s390x build failure in s390/cio due to missing driver_override infrastructure
@ 2026-05-25 10:16 Natanael Copa
  2026-05-26 11:35 ` Sasha Levin
  0 siblings, 1 reply; 3+ messages in thread
From: Natanael Copa @ 2026-05-25 10:16 UTC (permalink / raw)
  To: stable
  Cc: regressions, linux-s390, linux-kernel, vneethv, oberpar, hca, gor,
	agordeev, borntraeger, svens

This reports a regression in the 6.6.y stable series.

Last known good: v6.6.140
First bad: v6.6.141

On s390x, v6.6.141 fails to build in drivers/s390/cio/css.c after the
backport of:

  ac4d8bb6e2e13e8684a76ea48d13ebaaaf5c24c4 ("s390/cio: use generic driver_override infrastructure")

which is present in 6.6.141 as:

  c4295487124f ("s390/cio: use generic driver_override infrastructure")

The failure is:

  drivers/s390/cio/css.c:1329:15: error: implicit declaration of function 'device_match_driver_override' [-Werror=implicit-function-declaration]
  drivers/s390/cio/css.c:1387:10: error: 'struct bus_type' has no member named 'driver_override'

This backport appears to depend on newer driver-core infrastructure that
is not present in 6.6.y, in particular:

  cb3d1049f4ea ("driver core: generalize driver_override in struct device")
  stable backport: da332e7ecbb3

In other words, the s390/cio conversion was backported without the
driver-core support it requires.

I verified the source tree version with:

  make -s kernelversion
  => 6.6.141

A minimal fix for 6.6.y seems to be reverting ac4d8bb6e2e13e8684a76ea48d13ebaaaf5c24c4.
An alternative would be a small s390/cio-specific locking fix that avoids
depending on the newer driver-core APIs.

#regzbot introduced: v6.6.140..v6.6.141
#regzbot title: s390x build failure in 6.6.141 due to incomplete s390/cio driver_override backport

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

* Re: [REGRESSION] 6.6.141 s390x build failure in s390/cio due to missing driver_override infrastructure
  2026-05-25 10:16 [REGRESSION] 6.6.141 s390x build failure in s390/cio due to missing driver_override infrastructure Natanael Copa
@ 2026-05-26 11:35 ` Sasha Levin
  2026-05-26 20:12   ` Natanael Copa
  0 siblings, 1 reply; 3+ messages in thread
From: Sasha Levin @ 2026-05-26 11:35 UTC (permalink / raw)
  To: stable, Natanael Copa
  Cc: Sasha Levin, regressions, linux-s390, linux-kernel, vneethv,
	oberpar, hca, gor, agordeev, borntraeger, svens

> v6.6.141 fails to build on s390x with
>
>   drivers/s390/cio/css.c: error: implicit declaration of function
>     'device_match_driver_override'
>   drivers/s390/cio/css.c: error: 'struct bus_type' has no member named
>     'driver_override'
>
> The s390/cio change (c4295487124f, upstream ac4d8bb6e2e1) was queued
> without its driver-core prerequisite cb3d1049f4ea ("driver core:
> generalize driver_override in struct device").
>
> Could you backport cb3d1049f4ea to 6.6.y, or revert c4295487124f?

Thanks for the report and the analysis.

The driver-core prerequisite (cb3d1049f4ea) is already queued for
6.6.y - The companion bdddb54c533f ("driver core: platform: use generic
driver_override infrastructure") is queued too. Once 6.6.142 ships the build
error should resolve.

Newer LTS branches (6.12/6.18/7.0) already have the prerequisite as
an ancestor, so only 6.6.y was affected.

--
Thanks,
Sasha

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

* Re: [REGRESSION] 6.6.141 s390x build failure in s390/cio due to missing driver_override infrastructure
  2026-05-26 11:35 ` Sasha Levin
@ 2026-05-26 20:12   ` Natanael Copa
  0 siblings, 0 replies; 3+ messages in thread
From: Natanael Copa @ 2026-05-26 20:12 UTC (permalink / raw)
  To: Sasha Levin
  Cc: stable, regressions, linux-s390, linux-kernel, vneethv, oberpar,
	hca, gor, agordeev, borntraeger, svens

On Tue, 26 May 2026 07:35:06 -0400
Sasha Levin <sashal@kernel.org> wrote:

> > v6.6.141 fails to build on s390x with
> >
> >   drivers/s390/cio/css.c: error: implicit declaration of function
> >     'device_match_driver_override'
> >   drivers/s390/cio/css.c: error: 'struct bus_type' has no member named
> >     'driver_override'
> >
> > The s390/cio change (c4295487124f, upstream ac4d8bb6e2e1) was queued
> > without its driver-core prerequisite cb3d1049f4ea ("driver core:
> > generalize driver_override in struct device").
> >
> > Could you backport cb3d1049f4ea to 6.6.y, or revert c4295487124f?  
> 
> Thanks for the report and the analysis.
> 
> The driver-core prerequisite (cb3d1049f4ea) is already queued for
> 6.6.y - The companion bdddb54c533f ("driver core: platform: use generic
> driver_override infrastructure") is queued too. Once 6.6.142 ships the build
> error should resolve.
> 
> Newer LTS branches (6.12/6.18/7.0) already have the prerequisite as
> an ancestor, so only 6.6.y was affected.

FYI. We also needed this for the build to pass:

diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c
index 93307ca75c10..57cbba03beb8 100644
--- a/drivers/s390/cio/device.c
+++ b/drivers/s390/cio/device.c
@@ -1322,7 +1322,7 @@ static int purge_fn(struct subchannel *sch, void *data)
 {
        struct ccw_device *cdev;
 
-       spin_lock_irq(sch->lock);
+       spin_lock_irq(&sch->lock);
        if (sch->st != SUBCHANNEL_TYPE_IO || !sch->schib.pmcw.dnv)
                goto unlock;
 
@@ -1345,7 +1345,7 @@ static int purge_fn(struct subchannel *sch, void *data)
                      sch->schib.pmcw.dev, cdev ? "" : " (no cdev)");
 
 unlock:
-       spin_unlock_irq(sch->lock);
+       spin_unlock_irq(&sch->lock);
        /* Abort loop in case of pending signal. */
        if (signal_pending(current))
                return -EINTR;


-nc

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

end of thread, other threads:[~2026-05-26 20:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-25 10:16 [REGRESSION] 6.6.141 s390x build failure in s390/cio due to missing driver_override infrastructure Natanael Copa
2026-05-26 11:35 ` Sasha Levin
2026-05-26 20:12   ` Natanael Copa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox