* [PATCH] pinctrl: mcp23s08: reject devices without match data
@ 2026-09-25 13:38 Jiale Yao
2026-09-26 10:07 ` Biju Das
0 siblings, 1 reply; 15+ messages in thread
From: Jiale Yao @ 2026-09-25 13:38 UTC (permalink / raw)
To: Linus Walleij, Biju Das, Andy Shevchenko, linux-gpio, linux-kernel
Cc: Jiale Yao
A device bound through driver_override need not match an entry in the
driver tables. In that case spi_get_device_match_data() returns NULL,
but mcp23s08_probe() later passes the result to the regmap setup and
dereferences it while setting up each device.
Reject devices without match data before reading device properties.
Fixes: 2e44555b05c0 ("pinctrl: mcp23s08: Simplify probe()/mcp23s08_spi_regmap_init()")
Signed-off-by: Jiale Yao <yaojiale02@163.com>
---
drivers/pinctrl/pinctrl-mcp23s08_spi.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/pinctrl/pinctrl-mcp23s08_spi.c b/drivers/pinctrl/pinctrl-mcp23s08_spi.c
index bacebcff67ef..926034fcd512 100644
--- a/drivers/pinctrl/pinctrl-mcp23s08_spi.c
+++ b/drivers/pinctrl/pinctrl-mcp23s08_spi.c
@@ -146,6 +146,8 @@ static int mcp23s08_probe(struct spi_device *spi)
u8 v;
info = spi_get_device_match_data(spi);
+ if (!info)
+ return -ENODATA;
ret = device_property_read_u8(dev, "microchip,spi-present-mask", &v);
if (ret) {
--
2.34.1
^ permalink raw reply [flat|nested] 15+ messages in thread* RE: [PATCH] pinctrl: mcp23s08: reject devices without match data 2026-09-25 13:38 [PATCH] pinctrl: mcp23s08: reject devices without match data Jiale Yao @ 2026-09-26 10:07 ` Biju Das 2026-09-26 10:23 ` jiale yao 0 siblings, 1 reply; 15+ messages in thread From: Biju Das @ 2026-09-26 10:07 UTC (permalink / raw) To: Jiale Yao, Linus Walleij, Andy Shevchenko, linux-gpio, linux-kernel Hi, > -----Original Message----- > From: Jiale Yao <yaojiale02@163.com> > Sent: 25 September 2026 14:38 > Subject: [PATCH] pinctrl: mcp23s08: reject devices without match data > > A device bound through driver_override need not match an entry in the driver tables. In that case > spi_get_device_match_data() returns NULL, but mcp23s08_probe() later passes the result to the regmap > setup and dereferences it while setting up each device. I believe this is an invalid use case as the user trying driver_override and the probe returns error. Am I missing anything here? Can you please prepare a patch that makes the driver probe success by using driver_override Feature? Also please share some logs to see how it works in real device Cheers, Biju > > Reject devices without match data before reading device properties. > > Fixes: 2e44555b05c0 ("pinctrl: mcp23s08: Simplify probe()/mcp23s08_spi_regmap_init()") > Signed-off-by: Jiale Yao <yaojiale02@163.com> > --- > drivers/pinctrl/pinctrl-mcp23s08_spi.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/pinctrl/pinctrl-mcp23s08_spi.c b/drivers/pinctrl/pinctrl-mcp23s08_spi.c > index bacebcff67ef..926034fcd512 100644 > --- a/drivers/pinctrl/pinctrl-mcp23s08_spi.c > +++ b/drivers/pinctrl/pinctrl-mcp23s08_spi.c > @@ -146,6 +146,8 @@ static int mcp23s08_probe(struct spi_device *spi) > u8 v; > > info = spi_get_device_match_data(spi); > + if (!info) > + return -ENODATA; > > ret = device_property_read_u8(dev, "microchip,spi-present-mask", &v); > if (ret) { > -- > 2.34.1 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data 2026-09-26 10:07 ` Biju Das @ 2026-09-26 10:23 ` jiale yao 2026-09-26 10:28 ` jiale yao 2026-09-28 6:03 ` Biju Das 0 siblings, 2 replies; 15+ messages in thread From: jiale yao @ 2026-09-26 10:23 UTC (permalink / raw) To: Biju Das; +Cc: Linus Walleij, Andy Shevchenko, linux-gpio, linux-kernel Hi Biju, At 2026-09-26 18:07:14, "Biju Das" <biju.das.jz@bp.renesas.com> wrote: >Hi, > >> -----Original Message----- >> From: Jiale Yao <yaojiale02@163.com> >> Sent: 25 September 2026 14:38 >> Subject: [PATCH] pinctrl: mcp23s08: reject devices without match data >> >> A device bound through driver_override need not match an entry in the driver tables. In that case >> spi_get_device_match_data() returns NULL, but mcp23s08_probe() later passes the result to the regmap >> setup and dereferences it while setting up each device. > >I believe this is an invalid use case as the user trying driver_override >and the probe returns error. Am I missing anything here? Yes, my commit message was not clear enough. This patch is intended to fix a regression introduced by commit 2e44555b05c0, rather than to make an unmatched device probe successfully through driver_override. Before that commit, missing match data effectively resulted in type 0, which fell through to the default switch case and returned -EINVAL. Commit 2e44555b05c0 replaced the type value with an info pointer, but the SPI path missed the corresponding NULL check before dereferencing info->type. The I2C path preserved the previous error handling with an explicit NULL check after the same conversion. Consequently, an unmatched device bound through driver_override used to fail cleanly. It can now cause a NULL pointer dereference when a valid spi-present-mask property is present. This patch restores the previous failure behavior. > >Can you please prepare a patch that makes the driver probe success by using driver_override >Feature? Also please share some logs to see how it works in real device > >Cheers, >Biju > >> >> Reject devices without match data before reading device properties. >> >> Fixes: 2e44555b05c0 ("pinctrl: mcp23s08: Simplify probe()/mcp23s08_spi_regmap_init()") >> Signed-off-by: Jiale Yao <yaojiale02@163.com> >> --- >> drivers/pinctrl/pinctrl-mcp23s08_spi.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/pinctrl/pinctrl-mcp23s08_spi.c b/drivers/pinctrl/pinctrl-mcp23s08_spi.c >> index bacebcff67ef..926034fcd512 100644 >> --- a/drivers/pinctrl/pinctrl-mcp23s08_spi.c >> +++ b/drivers/pinctrl/pinctrl-mcp23s08_spi.c >> @@ -146,6 +146,8 @@ static int mcp23s08_probe(struct spi_device *spi) >> u8 v; >> >> info = spi_get_device_match_data(spi); >> + if (!info) >> + return -ENODATA; >> >> ret = device_property_read_u8(dev, "microchip,spi-present-mask", &v); >> if (ret) { >> -- >> 2.34.1 Cheers, Jiale ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re:Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data 2026-09-26 10:23 ` jiale yao @ 2026-09-26 10:28 ` jiale yao 2026-09-28 6:03 ` Biju Das 1 sibling, 0 replies; 15+ messages in thread From: jiale yao @ 2026-09-26 10:28 UTC (permalink / raw) To: Biju Das; +Cc: Linus Walleij, Andy Shevchenko, linux-gpio, linux-kernel At 2026-09-26 18:23:42, "jiale yao" <19888972804@163.com> wrote: >Hi Biju, > >At 2026-09-26 18:07:14, "Biju Das" <biju.das.jz@bp.renesas.com> wrote: >>Hi, >> >>> -----Original Message----- >>> From: Jiale Yao <yaojiale02@163.com> >>> Sent: 25 September 2026 14:38 >>> Subject: [PATCH] pinctrl: mcp23s08: reject devices without match data >>> >>> A device bound through driver_override need not match an entry in the driver tables. In that case >>> spi_get_device_match_data() returns NULL, but mcp23s08_probe() later passes the result to the regmap >>> setup and dereferences it while setting up each device. >> >>I believe this is an invalid use case as the user trying driver_override >>and the probe returns error. Am I missing anything here? > >Yes, my commit message was not clear enough. This patch is intended to fix >a regression introduced by commit 2e44555b05c0, rather than to make an >unmatched device probe successfully through driver_override. > >Before that commit, missing match data effectively resulted in type 0, >which fell through to the default switch case and returned -EINVAL. >Commit 2e44555b05c0 replaced the type value with an info pointer, but the >SPI path missed the corresponding NULL check before dereferencing >info->type. The I2C path preserved the previous error handling with an >explicit NULL check after the same conversion. Just like. --- + info = i2c_get_match_data(client); + if (!info) + return dev_err_probe(dev, -EINVAL, "invalid device type\n"); --- The return value of spi_get_device_match_data should be check also. > >Consequently, an unmatched device bound through driver_override used to >fail cleanly. It can now cause a NULL pointer dereference when a valid >spi-present-mask property is present. This patch restores the previous >failure behavior. > >> >>Can you please prepare a patch that makes the driver probe success by using driver_override >>Feature? Also please share some logs to see how it works in real device >> >>Cheers, >>Biju >> >>> >>> Reject devices without match data before reading device properties. >>> >>> Fixes: 2e44555b05c0 ("pinctrl: mcp23s08: Simplify probe()/mcp23s08_spi_regmap_init()") >>> Signed-off-by: Jiale Yao <yaojiale02@163.com> >>> --- >>> drivers/pinctrl/pinctrl-mcp23s08_spi.c | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/drivers/pinctrl/pinctrl-mcp23s08_spi.c b/drivers/pinctrl/pinctrl-mcp23s08_spi.c >>> index bacebcff67ef..926034fcd512 100644 >>> --- a/drivers/pinctrl/pinctrl-mcp23s08_spi.c >>> +++ b/drivers/pinctrl/pinctrl-mcp23s08_spi.c >>> @@ -146,6 +146,8 @@ static int mcp23s08_probe(struct spi_device *spi) >>> u8 v; >>> >>> info = spi_get_device_match_data(spi); >>> + if (!info) >>> + return -ENODATA; >>> >>> ret = device_property_read_u8(dev, "microchip,spi-present-mask", &v); >>> if (ret) { >>> -- >>> 2.34.1 > >Cheers, >Jiale > ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data 2026-09-26 10:23 ` jiale yao 2026-09-26 10:28 ` jiale yao @ 2026-09-28 6:03 ` Biju Das 2026-09-28 7:24 ` jiale yao 1 sibling, 1 reply; 15+ messages in thread From: Biju Das @ 2026-09-28 6:03 UTC (permalink / raw) To: jiale yao; +Cc: Linus Walleij, Andy Shevchenko, linux-gpio, linux-kernel Hi jiale yao, > -----Original Message----- > From: jiale yao <19888972804@163.com> > Sent: 26 September 2026 11:24 > Subject: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data > > [You don't often get email from 19888972804@163.com. Learn why this is important at > https://aka.ms/LearnAboutSenderIdentification ] > > Hi Biju, > > At 2026-09-26 18:07:14, "Biju Das" <biju.das.jz@bp.renesas.com> wrote: > >Hi, > > > >> -----Original Message----- > >> From: Jiale Yao <yaojiale02@163.com> > >> Sent: 25 September 2026 14:38 > >> Subject: [PATCH] pinctrl: mcp23s08: reject devices without match data > >> > >> A device bound through driver_override need not match an entry in the > >> driver tables. In that case > >> spi_get_device_match_data() returns NULL, but mcp23s08_probe() later > >> passes the result to the regmap setup and dereferences it while setting up each device. > > > >I believe this is an invalid use case as the user trying > >driver_override and the probe returns error. Am I missing anything here? > > Yes, my commit message was not clear enough. This patch is intended to fix a regression introduced by > commit 2e44555b05c0, rather than to make an unmatched device probe successfully through driver_override. > > Before that commit, missing match data effectively resulted in type 0, which fell through to the default > switch case and returned -EINVAL. > Commit 2e44555b05c0 replaced the type value with an info pointer, but the SPI path missed the > corresponding NULL check before dereferencing > info->type. The I2C path preserved the previous error handling with an > explicit NULL check after the same conversion. you are testing the driver with driver_override and your patch makes driver Probe failure. I do not understand the test case you are trying to achieve with driver_override. Can you please share some logs with driver_override that you planned to test? Cheers, Biju > > Consequently, an unmatched device bound through driver_override used to fail cleanly. It can now cause a > NULL pointer dereference when a valid spi-present-mask property is present. This patch restores the > previous failure behavior. > > > > >Can you please prepare a patch that makes the driver probe success by > >using driver_override Feature? Also please share some logs to see how > >it works in real device > > > >Cheers, > >Biju > > > >> > >> Reject devices without match data before reading device properties. > >> > >> Fixes: 2e44555b05c0 ("pinctrl: mcp23s08: Simplify > >> probe()/mcp23s08_spi_regmap_init()") > >> Signed-off-by: Jiale Yao <yaojiale02@163.com> > >> --- > >> drivers/pinctrl/pinctrl-mcp23s08_spi.c | 2 ++ > >> 1 file changed, 2 insertions(+) > >> > >> diff --git a/drivers/pinctrl/pinctrl-mcp23s08_spi.c > >> b/drivers/pinctrl/pinctrl-mcp23s08_spi.c > >> index bacebcff67ef..926034fcd512 100644 > >> --- a/drivers/pinctrl/pinctrl-mcp23s08_spi.c > >> +++ b/drivers/pinctrl/pinctrl-mcp23s08_spi.c > >> @@ -146,6 +146,8 @@ static int mcp23s08_probe(struct spi_device *spi) > >> u8 v; > >> > >> info = spi_get_device_match_data(spi); > >> + if (!info) > >> + return -ENODATA; > >> > >> ret = device_property_read_u8(dev, "microchip,spi-present-mask", &v); > >> if (ret) { > >> -- > >> 2.34.1 > > Cheers, > Jiale ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re:RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data 2026-09-28 6:03 ` Biju Das @ 2026-09-28 7:24 ` jiale yao 2026-09-28 7:32 ` Biju Das 2026-10-01 20:07 ` Linus Walleij 0 siblings, 2 replies; 15+ messages in thread From: jiale yao @ 2026-09-28 7:24 UTC (permalink / raw) To: Biju Das; +Cc: Linus Walleij, Andy Shevchenko, linux-gpio, linux-kernel At 2026-09-28 14:03:46, "Biju Das" <biju.das.jz@bp.renesas.com> wrote: >Hi jiale yao, > >> -----Original Message----- >> From: jiale yao <19888972804@163.com> >> Sent: 26 September 2026 11:24 >> Subject: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data >> >> [You don't often get email from 19888972804@163.com. Learn why this is important at >> https://aka.ms/LearnAboutSenderIdentification ] >> >> Hi Biju, >> >> At 2026-09-26 18:07:14, "Biju Das" <biju.das.jz@bp.renesas.com> wrote: >> >Hi, >> > >> >> -----Original Message----- >> >> From: Jiale Yao <yaojiale02@163.com> >> >> Sent: 25 September 2026 14:38 >> >> Subject: [PATCH] pinctrl: mcp23s08: reject devices without match data >> >> >> >> A device bound through driver_override need not match an entry in the >> >> driver tables. In that case >> >> spi_get_device_match_data() returns NULL, but mcp23s08_probe() later >> >> passes the result to the regmap setup and dereferences it while setting up each device. >> > >> >I believe this is an invalid use case as the user trying >> >driver_override and the probe returns error. Am I missing anything here? >> >> Yes, my commit message was not clear enough. This patch is intended to fix a regression introduced by >> commit 2e44555b05c0, rather than to make an unmatched device probe successfully through driver_override. >> >> Before that commit, missing match data effectively resulted in type 0, which fell through to the default >> switch case and returned -EINVAL. >> Commit 2e44555b05c0 replaced the type value with an info pointer, but the SPI path missed the >> corresponding NULL check before dereferencing >> info->type. The I2C path preserved the previous error handling with an >> explicit NULL check after the same conversion. > >you are testing the driver with driver_override and your patch makes driver >Probe failure. I do not understand the test case you are trying to >achieve with driver_override. > >Can you please share some logs with driver_override that you planned to test? > >Cheers, >Biju > >> >> Consequently, an unmatched device bound through driver_override used to fail cleanly. It can now cause a >> NULL pointer dereference when a valid spi-present-mask property is present. This patch restores the >> previous failure behavior. >> >> > >> >Can you please prepare a patch that makes the driver probe success by >> >using driver_override Feature? Also please share some logs to see how >> >it works in real device >> > >> >Cheers, >> >Biju The test is NOT intended to make an unmatched device probe successfully. driver_override permits an explicit probe attempt; it does not guarantee that probe must succeed. The driver must still reject unsupported devices safely. The bug is that it currently crashes instead of returning an error. I reproduced this deterministically with KASAN on arm64 QEMU. The SPI device has an unmatched compatible and a valid microchip,spi-present-mask property, and is then bound with: echo mcp23s08 > /sys/bus/spi/devices/spi0.0/driver_override echo spi0.0 > /sys/bus/spi/drivers/mcp23s08/bind KASAN reports: KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017] pc : mcp23s08_probe+0x2f8/0x944 lr : mcp23s08_probe+0x190/0x944 Call trace: mcp23s08_probe+0x2f8/0x944 (P) spi_probe+0x1c0/0x2d8 really_probe+0x17c/0x5b8 __driver_probe_device+0x28c/0x350 device_driver_attach+0xa0/0x18c bind_store+0xc4/0x13c drv_attr_store+0x60/0x9c sysfs_kf_write+0x170/0x1e8 kernfs_fop_write_iter+0x298/0x404 vfs_write+0x648/0x8cc ksys_write+0xf0/0x1e0 __arm64_sys_write+0x70/0xa0 invoke_syscall+0x70/0x24c spi_get_device_match_data() returns NULL, and mcp23s08_spi_regmap_init() later dereferences info->type at offset 16. The patch only guarantees safety; it does not attempt to support unmatched hardware through driver_override. Cheers, Jiale >> > >> >> >> >> Reject devices without match data before reading device properties. >> >> >> >> Fixes: 2e44555b05c0 ("pinctrl: mcp23s08: Simplify >> >> probe()/mcp23s08_spi_regmap_init()") >> >> Signed-off-by: Jiale Yao <yaojiale02@163.com> >> >> --- >> >> drivers/pinctrl/pinctrl-mcp23s08_spi.c | 2 ++ >> >> 1 file changed, 2 insertions(+) >> >> >> >> diff --git a/drivers/pinctrl/pinctrl-mcp23s08_spi.c >> >> b/drivers/pinctrl/pinctrl-mcp23s08_spi.c >> >> index bacebcff67ef..926034fcd512 100644 >> >> --- a/drivers/pinctrl/pinctrl-mcp23s08_spi.c >> >> +++ b/drivers/pinctrl/pinctrl-mcp23s08_spi.c >> >> @@ -146,6 +146,8 @@ static int mcp23s08_probe(struct spi_device *spi) >> >> u8 v; >> >> >> >> info = spi_get_device_match_data(spi); >> >> + if (!info) >> >> + return -ENODATA; >> >> >> >> ret = device_property_read_u8(dev, "microchip,spi-present-mask", &v); >> >> if (ret) { >> >> -- >> >> 2.34.1 >> >> Cheers, >> Jiale ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: Re:RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data 2026-09-28 7:24 ` jiale yao @ 2026-09-28 7:32 ` Biju Das 2026-09-28 7:54 ` jiale yao 2026-10-01 20:07 ` Linus Walleij 1 sibling, 1 reply; 15+ messages in thread From: Biju Das @ 2026-09-28 7:32 UTC (permalink / raw) To: jiale yao; +Cc: Linus Walleij, Andy Shevchenko, linux-gpio, linux-kernel > -----Original Message----- > From: jiale yao <19888972804@163.com> > Sent: 28 September 2026 08:25 > To: Biju Das <biju.das.jz@bp.renesas.com> > Cc: Linus Walleij <linusw@kernel.org>; Andy Shevchenko <andriy.shevchenko@linux.intel.com>; linux- > gpio@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: Re:RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data > > [You don't often get email from 19888972804@163.com. Learn why this is important at > https://aka.ms/LearnAboutSenderIdentification ] > > At 2026-09-28 14:03:46, "Biju Das" <biju.das.jz@bp.renesas.com> wrote: > >Hi jiale yao, > > > >> -----Original Message----- > >> From: jiale yao <19888972804@163.com> > >> Sent: 26 September 2026 11:24 > >> Subject: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without > >> match data > >> > >> [You don't often get email from 19888972804@163.com. Learn why this > >> is important at https://aka.ms/LearnAboutSenderIdentification ] > >> > >> Hi Biju, > >> > >> At 2026-09-26 18:07:14, "Biju Das" <biju.das.jz@bp.renesas.com> wrote: > >> >Hi, > >> > > >> >> -----Original Message----- > >> >> From: Jiale Yao <yaojiale02@163.com> > >> >> Sent: 25 September 2026 14:38 > >> >> Subject: [PATCH] pinctrl: mcp23s08: reject devices without match > >> >> data > >> >> > >> >> A device bound through driver_override need not match an entry in > >> >> the driver tables. In that case > >> >> spi_get_device_match_data() returns NULL, but mcp23s08_probe() > >> >> later passes the result to the regmap setup and dereferences it while setting up each device. > >> > > >> >I believe this is an invalid use case as the user trying > >> >driver_override and the probe returns error. Am I missing anything here? > >> > >> Yes, my commit message was not clear enough. This patch is intended > >> to fix a regression introduced by commit 2e44555b05c0, rather than to make an unmatched device probe > successfully through driver_override. > >> > >> Before that commit, missing match data effectively resulted in type > >> 0, which fell through to the default switch case and returned -EINVAL. > >> Commit 2e44555b05c0 replaced the type value with an info pointer, but > >> the SPI path missed the corresponding NULL check before dereferencing > >> info->type. The I2C path preserved the previous error handling with > >> info->an > >> explicit NULL check after the same conversion. > > > >you are testing the driver with driver_override and your patch makes > >driver Probe failure. I do not understand the test case you are trying > >to achieve with driver_override. > > > >Can you please share some logs with driver_override that you planned to test? > > > >Cheers, > >Biju > > > >> > >> Consequently, an unmatched device bound through driver_override used > >> to fail cleanly. It can now cause a NULL pointer dereference when a > >> valid spi-present-mask property is present. This patch restores the previous failure behavior. > >> > >> > > >> >Can you please prepare a patch that makes the driver probe success > >> >by using driver_override Feature? Also please share some logs to see > >> >how it works in real device > >> > > >> >Cheers, > >> >Biju > > > The test is NOT intended to make an unmatched device probe successfully. > driver_override permits an explicit probe attempt; it does not guarantee that probe must succeed. > The driver must still reject unsupported devices safely. The bug is that it currently crashes instead of > returning an error. > > I reproduced this deterministically with KASAN on arm64 QEMU. > The SPI device has an unmatched compatible and a valid microchip,spi-present-mask property, and is then > bound with: > > echo mcp23s08 > /sys/bus/spi/devices/spi0.0/driver_override > echo spi0.0 > /sys/bus/spi/drivers/mcp23s08/bind > > KASAN reports: This is original issue. You want to now add driver_override feature. What is the log you get with your patch, probe failure? Can't you make a patch for making probe working with driver_override feature that makes the device functional with driver_override? > > KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017] > pc : mcp23s08_probe+0x2f8/0x944 > lr : mcp23s08_probe+0x190/0x944 > Call trace: > mcp23s08_probe+0x2f8/0x944 (P) > spi_probe+0x1c0/0x2d8 > really_probe+0x17c/0x5b8 > __driver_probe_device+0x28c/0x350 > device_driver_attach+0xa0/0x18c > bind_store+0xc4/0x13c > drv_attr_store+0x60/0x9c > sysfs_kf_write+0x170/0x1e8 > kernfs_fop_write_iter+0x298/0x404 > vfs_write+0x648/0x8cc > ksys_write+0xf0/0x1e0 > __arm64_sys_write+0x70/0xa0 > invoke_syscall+0x70/0x24c > > > spi_get_device_match_data() returns NULL, and mcp23s08_spi_regmap_init() later dereferences info->type at > offset 16. > > The patch only guarantees safety; it does not attempt to support unmatched hardware through > driver_override. If you don't want driver_override non functional What is the point of this patch, simply want to add some Code space in linux kernel? Cheers, Biju ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re:RE: Re:RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data 2026-09-28 7:32 ` Biju Das @ 2026-09-28 7:54 ` jiale yao 2026-09-28 8:05 ` Biju Das 0 siblings, 1 reply; 15+ messages in thread From: jiale yao @ 2026-09-28 7:54 UTC (permalink / raw) To: Biju Das; +Cc: Linus Walleij, Andy Shevchenko, linux-gpio, linux-kernel At 2026-09-28 15:32:52, "Biju Das" <biju.das.jz@bp.renesas.com> wrote: > > >> -----Original Message----- >> From: jiale yao <19888972804@163.com> >> Sent: 28 September 2026 08:25 >> To: Biju Das <biju.das.jz@bp.renesas.com> >> Cc: Linus Walleij <linusw@kernel.org>; Andy Shevchenko <andriy.shevchenko@linux.intel.com>; linux- >> gpio@vger.kernel.org; linux-kernel@vger.kernel.org >> Subject: Re:RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data >> >> [You don't often get email from 19888972804@163.com. Learn why this is important at >> https://aka.ms/LearnAboutSenderIdentification ] >> >> At 2026-09-28 14:03:46, "Biju Das" <biju.das.jz@bp.renesas.com> wrote: >> >Hi jiale yao, >> > >> >> -----Original Message----- >> >> From: jiale yao <19888972804@163.com> >> >> Sent: 26 September 2026 11:24 >> >> Subject: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without >> >> match data >> >> >> >> [You don't often get email from 19888972804@163.com. Learn why this >> >> is important at https://aka.ms/LearnAboutSenderIdentification ] >> >> >> >> Hi Biju, >> >> >> >> At 2026-09-26 18:07:14, "Biju Das" <biju.das.jz@bp.renesas.com> wrote: >> >> >Hi, >> >> > >> >> >> -----Original Message----- >> >> >> From: Jiale Yao <yaojiale02@163.com> >> >> >> Sent: 25 September 2026 14:38 >> >> >> Subject: [PATCH] pinctrl: mcp23s08: reject devices without match >> >> >> data >> >> >> >> >> >> A device bound through driver_override need not match an entry in >> >> >> the driver tables. In that case >> >> >> spi_get_device_match_data() returns NULL, but mcp23s08_probe() >> >> >> later passes the result to the regmap setup and dereferences it while setting up each device. >> >> > >> >> >I believe this is an invalid use case as the user trying >> >> >driver_override and the probe returns error. Am I missing anything here? >> >> >> >> Yes, my commit message was not clear enough. This patch is intended >> >> to fix a regression introduced by commit 2e44555b05c0, rather than to make an unmatched device probe >> successfully through driver_override. >> >> >> >> Before that commit, missing match data effectively resulted in type >> >> 0, which fell through to the default switch case and returned -EINVAL. >> >> Commit 2e44555b05c0 replaced the type value with an info pointer, but >> >> the SPI path missed the corresponding NULL check before dereferencing >> >> info->type. The I2C path preserved the previous error handling with >> >> info->an >> >> explicit NULL check after the same conversion. >> > >> >you are testing the driver with driver_override and your patch makes >> >driver Probe failure. I do not understand the test case you are trying >> >to achieve with driver_override. >> > >> >Can you please share some logs with driver_override that you planned to test? >> > >> >Cheers, >> >Biju >> > >> >> >> >> Consequently, an unmatched device bound through driver_override used >> >> to fail cleanly. It can now cause a NULL pointer dereference when a >> >> valid spi-present-mask property is present. This patch restores the previous failure behavior. >> >> >> >> > >> >> >Can you please prepare a patch that makes the driver probe success >> >> >by using driver_override Feature? Also please share some logs to see >> >> >how it works in real device >> >> > >> >> >Cheers, >> >> >Biju >> >> >> The test is NOT intended to make an unmatched device probe successfully. >> driver_override permits an explicit probe attempt; it does not guarantee that probe must succeed. >> The driver must still reject unsupported devices safely. The bug is that it currently crashes instead of >> returning an error. >> >> I reproduced this deterministically with KASAN on arm64 QEMU. >> The SPI device has an unmatched compatible and a valid microchip,spi-present-mask property, and is then >> bound with: >> >> echo mcp23s08 > /sys/bus/spi/devices/spi0.0/driver_override >> echo spi0.0 > /sys/bus/spi/drivers/mcp23s08/bind >> >> KASAN reports: > >This is original issue. >You want to now add driver_override feature. > >What is the log you get with your patch, probe failure? > >Can't you make a patch for making probe working with driver_override feature >that makes the device functional with driver_override? I think we are discussing two different expectations: - driver_override only gives the named driver an opportunity to bind, as documented in Documentation/ABI/testing/sysfs-bus-platform. It does not guarantee that probe succeeds. - Without match data, this driver cannot determine whether the device is an MCP23S08, MCP23S17 or MCP23S18. Probe must therefore fail. - Before commit 2e44555b05c0, this path failed cleanly with -EINVAL. After that commit, it dereferences NULL. - This patch only restores the safe failure behavior. With the patch applied, the result is: [ 2.319112] mcp23s08 spi0.0: probe with driver mcp23s08 failed with error -61 This is the expected result. As far as I understand, an unsuccessful probe should return an error, not cause a kernel memory access fault. I am a little confused by this point. Are you suggesting that, if driver_override is used for an unsupported device, the kernel should crash rather than have the driver's probe fail cleanly? > >> >> KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017] >> pc : mcp23s08_probe+0x2f8/0x944 >> lr : mcp23s08_probe+0x190/0x944 >> Call trace: >> mcp23s08_probe+0x2f8/0x944 (P) >> spi_probe+0x1c0/0x2d8 >> really_probe+0x17c/0x5b8 >> __driver_probe_device+0x28c/0x350 >> device_driver_attach+0xa0/0x18c >> bind_store+0xc4/0x13c >> drv_attr_store+0x60/0x9c >> sysfs_kf_write+0x170/0x1e8 >> kernfs_fop_write_iter+0x298/0x404 >> vfs_write+0x648/0x8cc >> ksys_write+0xf0/0x1e0 >> __arm64_sys_write+0x70/0xa0 >> invoke_syscall+0x70/0x24c >> >> >> spi_get_device_match_data() returns NULL, and mcp23s08_spi_regmap_init() later dereferences info->type at >> offset 16. >> >> The patch only guarantees safety; it does not attempt to support unmatched hardware through >> driver_override. > >If you don't want driver_override non functional >What is the point of this patch, simply want to add some >Code space in linux kernel? > >Cheers, >Biju ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: Re:RE: Re:RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data 2026-09-28 7:54 ` jiale yao @ 2026-09-28 8:05 ` Biju Das 0 siblings, 0 replies; 15+ messages in thread From: Biju Das @ 2026-09-28 8:05 UTC (permalink / raw) To: jiale yao; +Cc: Linus Walleij, Andy Shevchenko, linux-gpio, linux-kernel > -----Original Message----- > From: jiale yao <19888972804@163.com> > Sent: 28 September 2026 08:55 > To: Biju Das <biju.das.jz@bp.renesas.com> > Cc: Linus Walleij <linusw@kernel.org>; Andy Shevchenko <andriy.shevchenko@linux.intel.com>; linux- > gpio@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: Re:RE: Re:RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data > > At 2026-09-28 15:32:52, "Biju Das" <biju.das.jz@bp.renesas.com> wrote: > > > > > >> -----Original Message----- > >> From: jiale yao <19888972804@163.com> > >> Sent: 28 September 2026 08:25 > >> To: Biju Das <biju.das.jz@bp.renesas.com> > >> Cc: Linus Walleij <linusw@kernel.org>; Andy Shevchenko > >> <andriy.shevchenko@linux.intel.com>; linux- gpio@vger.kernel.org; > >> linux-kernel@vger.kernel.org > >> Subject: Re:RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices > >> without match data > >> > >> [You don't often get email from 19888972804@163.com. Learn why this > >> is important at https://aka.ms/LearnAboutSenderIdentification ] > >> > >> At 2026-09-28 14:03:46, "Biju Das" <biju.das.jz@bp.renesas.com> wrote: > >> >Hi jiale yao, > >> > > >> >> -----Original Message----- > >> >> From: jiale yao <19888972804@163.com> > >> >> Sent: 26 September 2026 11:24 > >> >> Subject: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without > >> >> match data > >> >> > >> >> [You don't often get email from 19888972804@163.com. Learn why > >> >> this is important at https://aka.ms/LearnAboutSenderIdentification > >> >> ] > >> >> > >> >> Hi Biju, > >> >> > >> >> At 2026-09-26 18:07:14, "Biju Das" <biju.das.jz@bp.renesas.com> wrote: > >> >> >Hi, > >> >> > > >> >> >> -----Original Message----- > >> >> >> From: Jiale Yao <yaojiale02@163.com> > >> >> >> Sent: 25 September 2026 14:38 > >> >> >> Subject: [PATCH] pinctrl: mcp23s08: reject devices without > >> >> >> match data > >> >> >> > >> >> >> A device bound through driver_override need not match an entry > >> >> >> in the driver tables. In that case > >> >> >> spi_get_device_match_data() returns NULL, but mcp23s08_probe() > >> >> >> later passes the result to the regmap setup and dereferences it while setting up each device. > >> >> > > >> >> >I believe this is an invalid use case as the user trying > >> >> >driver_override and the probe returns error. Am I missing anything here? > >> >> > >> >> Yes, my commit message was not clear enough. This patch is > >> >> intended to fix a regression introduced by commit 2e44555b05c0, > >> >> rather than to make an unmatched device probe > >> successfully through driver_override. > >> >> > >> >> Before that commit, missing match data effectively resulted in > >> >> type 0, which fell through to the default switch case and returned -EINVAL. > >> >> Commit 2e44555b05c0 replaced the type value with an info pointer, > >> >> but the SPI path missed the corresponding NULL check before > >> >> dereferencing > >> >> info->type. The I2C path preserved the previous error handling > >> >> info->with an > >> >> explicit NULL check after the same conversion. > >> > > >> >you are testing the driver with driver_override and your patch makes > >> >driver Probe failure. I do not understand the test case you are > >> >trying to achieve with driver_override. > >> > > >> >Can you please share some logs with driver_override that you planned to test? > >> > > >> >Cheers, > >> >Biju > >> > > >> >> > >> >> Consequently, an unmatched device bound through driver_override > >> >> used to fail cleanly. It can now cause a NULL pointer dereference > >> >> when a valid spi-present-mask property is present. This patch restores the previous failure > behavior. > >> >> > >> >> > > >> >> >Can you please prepare a patch that makes the driver probe > >> >> >success by using driver_override Feature? Also please share some > >> >> >logs to see how it works in real device > >> >> > > >> >> >Cheers, > >> >> >Biju > >> > >> > >> The test is NOT intended to make an unmatched device probe successfully. > >> driver_override permits an explicit probe attempt; it does not guarantee that probe must succeed. > >> The driver must still reject unsupported devices safely. The bug is > >> that it currently crashes instead of returning an error. > >> > >> I reproduced this deterministically with KASAN on arm64 QEMU. > >> The SPI device has an unmatched compatible and a valid > >> microchip,spi-present-mask property, and is then bound with: > >> > >> echo mcp23s08 > /sys/bus/spi/devices/spi0.0/driver_override > >> echo spi0.0 > /sys/bus/spi/drivers/mcp23s08/bind > >> > >> KASAN reports: > > > >This is original issue. > >You want to now add driver_override feature. > > > >What is the log you get with your patch, probe failure? > > > >Can't you make a patch for making probe working with driver_override > >feature that makes the device functional with driver_override? > > I think we are discussing two different expectations: > > - driver_override only gives the named driver an opportunity to bind, as > documented in Documentation/ABI/testing/sysfs-bus-platform. It does > not guarantee that probe succeeds. > - Without match data, this driver cannot determine whether the device is > an MCP23S08, MCP23S17 or MCP23S18. Probe must therefore fail. > - Before commit 2e44555b05c0, this path failed cleanly with -EINVAL. > After that commit, it dereferences NULL. > - This patch only restores the safe failure behavior. > > With the patch applied, the result is: > > [ 2.319112] mcp23s08 spi0.0: probe with driver mcp23s08 failed with error -61 > > This is the expected result. As far as I understand, an unsuccessful probe should return an error, not > cause a kernel memory access fault. > > I am a little confused by this point. Are you suggesting that, if driver_override is used for an > unsupported device, the kernel should crash rather than have the driver's probe fail cleanly? If you want to support driver_override, you need to make it functional for this device. But you are making probe failure for driver_override which is of no Value to Linux Cheers, Bij > > > > >> > >> KASAN: null-ptr-deref in range > >> [0x0000000000000010-0x0000000000000017] > >> pc : mcp23s08_probe+0x2f8/0x944 > >> lr : mcp23s08_probe+0x190/0x944 > >> Call trace: > >> mcp23s08_probe+0x2f8/0x944 (P) > >> spi_probe+0x1c0/0x2d8 > >> really_probe+0x17c/0x5b8 > >> __driver_probe_device+0x28c/0x350 > >> device_driver_attach+0xa0/0x18c > >> bind_store+0xc4/0x13c > >> drv_attr_store+0x60/0x9c > >> sysfs_kf_write+0x170/0x1e8 > >> kernfs_fop_write_iter+0x298/0x404 > >> vfs_write+0x648/0x8cc > >> ksys_write+0xf0/0x1e0 > >> __arm64_sys_write+0x70/0xa0 > >> invoke_syscall+0x70/0x24c > >> > >> > >> spi_get_device_match_data() returns NULL, and > >> mcp23s08_spi_regmap_init() later dereferences info->type at offset 16. > >> > >> The patch only guarantees safety; it does not attempt to support > >> unmatched hardware through driver_override. > > > >If you don't want driver_override non functional What is the point of > >this patch, simply want to add some Code space in linux kernel? > > > >Cheers, > >Biju ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data 2026-09-28 7:24 ` jiale yao 2026-09-28 7:32 ` Biju Das @ 2026-10-01 20:07 ` Linus Walleij 2026-10-02 6:58 ` Andy Shevchenko 1 sibling, 1 reply; 15+ messages in thread From: Linus Walleij @ 2026-10-01 20:07 UTC (permalink / raw) To: jiale yao, Mark Brown, linux-spi Cc: Biju Das, Andy Shevchenko, linux-gpio, linux-kernel On Mon, Sep 28, 2026 at 9:25 AM jiale yao <19888972804@163.com> wrote: > I reproduced this deterministically with KASAN on arm64 QEMU. > The SPI device has an unmatched compatible and a valid microchip,spi-present-mask property, and is then bound with: > > echo mcp23s08 > /sys/bus/spi/devices/spi0.0/driver_override > echo spi0.0 > /sys/bus/spi/drivers/mcp23s08/bind [KASAN splat from spi_get_device_match_data() returning NULL] But hey look in the driver: static const struct spi_device_id mcp23s08_ids[] = { { "mcp23s08", (kernel_ulong_t)&mcp23s08_spi }, { "mcp23s17", (kernel_ulong_t)&mcp23s17_spi }, { "mcp23s18", (kernel_ulong_t)&mcp23s18_spi }, { } }; MODULE_DEVICE_TABLE(spi, mcp23s08_ids); Why doesn't the override find the right data from the match table? This looks more like a bug in the SPI bus implementation, surely the bus should match a driver_overrid and return a valid match data from spi_get_device_match_data()? I think this is just papering over the real issue, you need to dig into the SPI bus implementation and see why this isn't working. Yours, Linus Walleij ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data 2026-10-01 20:07 ` Linus Walleij @ 2026-10-02 6:58 ` Andy Shevchenko 2026-10-02 9:52 ` Linus Walleij 0 siblings, 1 reply; 15+ messages in thread From: Andy Shevchenko @ 2026-10-02 6:58 UTC (permalink / raw) To: Linus Walleij Cc: jiale yao, Mark Brown, linux-spi, Biju Das, linux-gpio, linux-kernel On Thu, Oct 01, 2026 at 10:07:29PM +0200, Linus Walleij wrote: > On Mon, Sep 28, 2026 at 9:25 AM jiale yao <19888972804@163.com> wrote: > > > I reproduced this deterministically with KASAN on arm64 QEMU. > > The SPI device has an unmatched compatible and a valid microchip,spi-present-mask property, and is then bound with: > > > > echo mcp23s08 > /sys/bus/spi/devices/spi0.0/driver_override > > echo spi0.0 > /sys/bus/spi/drivers/mcp23s08/bind > > [KASAN splat from spi_get_device_match_data() returning NULL] > > But hey look in the driver: > > static const struct spi_device_id mcp23s08_ids[] = { > { "mcp23s08", (kernel_ulong_t)&mcp23s08_spi }, > { "mcp23s17", (kernel_ulong_t)&mcp23s17_spi }, > { "mcp23s18", (kernel_ulong_t)&mcp23s18_spi }, > { } > }; > MODULE_DEVICE_TABLE(spi, mcp23s08_ids); > > Why doesn't the override find the right data from the match table? > > This looks more like a bug in the SPI bus implementation, > surely the bus should match a driver_overrid and return a > valid match data from spi_get_device_match_data()? > > I think this is just papering over the real issue, you need > to dig into the SPI bus implementation and see why this isn't > working. I believe this is the whole design of driver_override like this... There is an attempt to allow drivers to forbid that feature. -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data 2026-10-02 6:58 ` Andy Shevchenko @ 2026-10-02 9:52 ` Linus Walleij 2026-10-02 10:18 ` Andy Shevchenko 0 siblings, 1 reply; 15+ messages in thread From: Linus Walleij @ 2026-10-02 9:52 UTC (permalink / raw) To: Andy Shevchenko Cc: jiale yao, Mark Brown, linux-spi, Biju Das, linux-gpio, linux-kernel On Fri, Oct 2, 2026 at 8:59 AM Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > I believe this is the whole design of driver_override like this... > There is an attempt to allow drivers to forbid that feature. I guess I don't have the right background to understand the driver_override feature, it feels someone should explain its virtues to me because I feel I am getting really angry at it and it may not deserve that. The entire name of the thing feels like debugfs-footgun territory for example. Yours, Linus Walleij ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data 2026-10-02 9:52 ` Linus Walleij @ 2026-10-02 10:18 ` Andy Shevchenko 2026-10-03 23:06 ` Linus Walleij 0 siblings, 1 reply; 15+ messages in thread From: Andy Shevchenko @ 2026-10-02 10:18 UTC (permalink / raw) To: Linus Walleij Cc: jiale yao, Mark Brown, linux-spi, Biju Das, linux-gpio, linux-kernel On Fri, Oct 02, 2026 at 11:52:41AM +0200, Linus Walleij wrote: > On Fri, Oct 2, 2026 at 8:59 AM Andy Shevchenko > <andriy.shevchenko@linux.intel.com> wrote: > > > I believe this is the whole design of driver_override like this... > > There is an attempt to allow drivers to forbid that feature. > > I guess I don't have the right background to understand > the driver_override feature, it feels someone should explain > its virtues to me because I feel I am getting really angry > at it and it may not deserve that. > > The entire name of the thing feels like debugfs-footgun > territory for example. Yeah, I can't find neither a thing on LWN.net nor in the in-tree documentation. The only useful piece of information is (in kernel-doc of struct bus_type): driver_override Set to true if this bus supports the driver_override mechanism, which allows userspace to force a specific driver to bind to a device via a sysfs attribute. -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data 2026-10-02 10:18 ` Andy Shevchenko @ 2026-10-03 23:06 ` Linus Walleij 2026-10-04 8:15 ` Andy Shevchenko 0 siblings, 1 reply; 15+ messages in thread From: Linus Walleij @ 2026-10-03 23:06 UTC (permalink / raw) To: Andy Shevchenko, Kim Phillips Cc: jiale yao, Mark Brown, linux-spi, Biju Das, linux-gpio, linux-kernel On Fri, Oct 2, 2026 at 12:19 PM Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > On Fri, Oct 02, 2026 at 11:52:41AM +0200, Linus Walleij wrote: > > On Fri, Oct 2, 2026 at 8:59 AM Andy Shevchenko > > The entire name of the thing feels like debugfs-footgun > > territory for example. > > Yeah, I can't find neither a thing on LWN.net nor in the in-tree documentation. > The only useful piece of information is (in kernel-doc of struct bus_type): > > driver_override > Set to true if this bus supports the driver_override mechanism, which > allows userspace to force a specific driver to bind to a device via a sysfs > attribute. This whole thing is weird, but OK. Since we have a ton of drivers depending on match data we either have to patch them all to bail out if match data is NULL (like this patch does) or, which is equivalent, opt out of driver_override that much is certain. What I don't get is what this is intended for. What is the use case? The commit says this is for VFIO. Shouldn't it be opt-in and turned on only for VFIO then? Kim Phillips is listed as contract for the platform bus driver_override so let's ask! Kim: what is this for? All of the device tree drivers use the platform bus, what's yhe Unique Selling Point of this for our devices? Yours, Linus Walleij ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: RE: Re:RE: [PATCH] pinctrl: mcp23s08: reject devices without match data 2026-10-03 23:06 ` Linus Walleij @ 2026-10-04 8:15 ` Andy Shevchenko 0 siblings, 0 replies; 15+ messages in thread From: Andy Shevchenko @ 2026-10-04 8:15 UTC (permalink / raw) To: Linus Walleij, Danilo Krummrich Cc: Kim Phillips, jiale yao, Mark Brown, linux-spi, Biju Das, linux-gpio, linux-kernel +Cc: Danilo (as you were involved in cleaning this up in the past and being co-maintainer of driver core) On Sun, Oct 04, 2026 at 01:06:07AM +0200, Linus Walleij wrote: > On Fri, Oct 2, 2026 at 12:19 PM Andy Shevchenko > <andriy.shevchenko@linux.intel.com> wrote: > > On Fri, Oct 02, 2026 at 11:52:41AM +0200, Linus Walleij wrote: > > > On Fri, Oct 2, 2026 at 8:59 AM Andy Shevchenko ... > > > The entire name of the thing feels like debugfs-footgun > > > territory for example. > > > > Yeah, I can't find neither a thing on LWN.net nor in the in-tree documentation. > > The only useful piece of information is (in kernel-doc of struct bus_type): > > > > driver_override > > Set to true if this bus supports the driver_override mechanism, which > > allows userspace to force a specific driver to bind to a device via a sysfs > > attribute. > > This whole thing is weird, but OK. > > Since we have a ton of drivers depending on match data we either > have to patch them all to bail out if match data is NULL (like this > patch does) or, which is equivalent, opt out of driver_override > that much is certain. > > What I don't get is what this is intended for. What is the use case? > The commit says this is for VFIO. Shouldn't it be opt-in and turned > on only for VFIO then? > > Kim Phillips is listed as contract for the platform bus driver_override > so let's ask! Kim: what is this for? > > All of the device tree drivers use the platform bus, what's yhe > Unique Selling Point of this for our devices? -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2026-10-04 8:15 UTC | newest] Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2026-09-25 13:38 [PATCH] pinctrl: mcp23s08: reject devices without match data Jiale Yao 2026-09-26 10:07 ` Biju Das 2026-09-26 10:23 ` jiale yao 2026-09-26 10:28 ` jiale yao 2026-09-28 6:03 ` Biju Das 2026-09-28 7:24 ` jiale yao 2026-09-28 7:32 ` Biju Das 2026-09-28 7:54 ` jiale yao 2026-09-28 8:05 ` Biju Das 2026-10-01 20:07 ` Linus Walleij 2026-10-02 6:58 ` Andy Shevchenko 2026-10-02 9:52 ` Linus Walleij 2026-10-02 10:18 ` Andy Shevchenko 2026-10-03 23:06 ` Linus Walleij 2026-10-04 8:15 ` Andy Shevchenko
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®