* [PATCH v3] media: as102: initialize mutexes before registering frontend
@ 2026-09-09 15:06 Adriano Cordova
0 siblings, 0 replies; only message in thread
From: Adriano Cordova @ 2026-09-09 15:06 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Hans Verkuil, linux-media, linux-kernel, Adriano Cordova,
syzbot+2a3de29133b40e8f69f3, stable
The bus adapter mutex and the stream mutex are initialized after the
frontend has been registered, but the frontend's stream control
callback as102_stream_ctrl() takes the bus adapter mutex, which can be
used before it is initialized:
INFO: trying to register non-static key.
...
as102_stream_ctrl+0x27/0xc0 drivers/media/usb/as102/as102_drv.c:259
dvb_frontend_open+0x7eb/0x1410 drivers/media/dvb-core/dvb_frontend.c:2825
Initialize the mutexes before registering the adapter and frontend.
Fixes: 41b44e041811 ("[media] staging: as102: Initial import from Abilis")
Reported-by: syzbot+2a3de29133b40e8f69f3@syzkaller.appspotmail.com
Link: https://syzkaller.appspot.com/bug?extid=2a3de29133b40e8f69f3
Tested-by: syzbot+2a3de29133b40e8f69f3@syzkaller.appspotmail.com
Cc: stable@vger.kernel.org
Signed-off-by: Adriano Cordova <adrianox@gmail.com>
---
Changes since v1:
- Succesfully passed available repo. Added Tested-by tag.
Changes since v2:
- Reorder commit tags to fix warning.
drivers/media/usb/as102/as102_drv.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/media/usb/as102/as102_drv.c b/drivers/media/usb/as102/as102_drv.c
index 6b1d3528a0a7..a6dd675689f5 100644
--- a/drivers/media/usb/as102/as102_drv.c
+++ b/drivers/media/usb/as102/as102_drv.c
@@ -287,6 +287,12 @@ int as102_dvb_register(struct as102_dev_t *as102_dev)
struct device *dev = &as102_dev->bus_adap.usb_dev->dev;
int ret;
+ /* init bus mutex for token locking */
+ mutex_init(&as102_dev->bus_adap.lock);
+
+ /* init start / stop stream mutex */
+ mutex_init(&as102_dev->sem);
+
ret = dvb_register_adapter(&as102_dev->dvb_adap,
as102_dev->name, THIS_MODULE,
dev, adapter_nr);
@@ -341,12 +347,6 @@ int as102_dvb_register(struct as102_dev_t *as102_dev)
goto efereg;
}
- /* init bus mutex for token locking */
- mutex_init(&as102_dev->bus_adap.lock);
-
- /* init start / stop stream mutex */
- mutex_init(&as102_dev->sem);
-
/*
* try to load as102 firmware. If firmware upload failed, we'll be
* able to upload it later.
--
2.51.0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-09 15:07 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-09 15:06 [PATCH v3] media: as102: initialize mutexes before registering frontend Adriano Cordova
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.