* [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