On Fri, 28 Aug 2026 07:44:44 +0200, Greg Kroah-Hartman <[email protected]> wrote: > On Thu, Aug 27, 2026 at 05:43:00PM +0200, Ralf Lici wrote: > > Hi, > > > > While working on some backport patches for an out-of-tree module and > > looking for the exact versions containing the disable_delayed_work_sync > > symbol, I stumbled upon occurrences of that function on longterm v6.1 > > and v6.6 in drivers/usb/phy/phy-fsl-usb.c despite not being declared or > > defined anywhere. In fact, disable_delayed_work_sync was introduced by > > upstream commit 86898fa6b8cd ("workqueue: Implement disable/enable for > > (delayed) work items") and is only available since v6.10. Neither 6.1.y > > nor 6.6.y defines it. > > > > Consequently, kernels built with CONFIG_FSL_USB2_OTG fail with: > > > > drivers/usb/phy/phy-fsl-usb.c:990:2: error: call to undeclared function > > 'disable_delayed_work_sync'; ISO C99 and later do not support implicit > > function declarations [-Wimplicit-function-declaration] > > 990 | disable_delayed_work_sync(&fsl_otg_dev->otg_event); > > | ^ > > drivers/usb/phy/phy-fsl-usb.c:990:2: note: did you mean > > 'cancel_delayed_work_sync'? > > include/linux/workqueue.h:470:13: note: 'cancel_delayed_work_sync' declared > > here > > 470 | extern bool cancel_delayed_work_sync(struct delayed_work *dwork); > > | ^ > > > > I reproduced the failure on PowerPC using corenet64_smp_defconfig with > > CONFIG_FSL_USB2_OTG=m, building drivers/usb/phy/phy-fsl-usb.o with > > Clang. > > > > AFAICT, in 6.1.y, the regression was introduced in v6.1.160 by commit > > 4476c73bbbb0 ("usb: phy: fsl-usb: Fix use-after-free in delayed work > > during device removal") and remains present in v6.1.185. > > > > In 6.6.y, it was introduced in v6.6.120 by commit 319f7a85b3c4 ("usb: > > phy: fsl-usb: Fix use-after-free in delayed work during device removal") > > and remains present in v6.6.154. > > > > Note that the same problem was pointed out by Ben Hutchings during the > > 5.10.y review: > > https://lore.kernel.org/all/[email protected]/ > > > > The corresponding patches were dropped from 5.10.y and 5.15.y, but > > appear to have been retained in 6.1.y and 6.6.y. > > > > Simply replacing disable_delayed_work_sync with cancel_delayed_work_sync > > at its current location may not be sufficient: it looks like the delayed > > work can also be scheduled from fsl_otg_set_host and from the IRQ > > handler but I'm not familiar with this part of the kernel. > > Can you just send patches to revert the offending commits? Or we can > just ignore it as it's been this way for a while and no one has noticed > which implies to me that no one builds these modules for these arches on > these very old kernel trees :) >
Right, the lack of reports after roughly ten months suggests that nobody is building these modules for the affected configurations. Still, I would rather not knowingly leave those configurations unbuildable, so I'll send revert patches shortly. Thanks, -- Ralf Lici Mandelbit Srl
