[REGRESSION] 6.6.141 s390x build failure in s390/cio due to missing driver_override infrastructure

Natanael Copa <[email protected]>
Newsgroups dev.linux.lists.regressions,org.kernel.vger.linux-kernel,org.kernel.vger.linux-s390,org.kernel.vger.stable
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.