Description
In the Linux kernel, the following vulnerability has been resolved: dibs: initialise dibs->lock in dibs_dev_alloc() dibs->lock is initialised by dibs_dev_add(), but a dibs device can already take interrupts before that call: ism_probe() runs ism_dev_init(), and hence request_irq(), before it calls dibs_dev_add(). No client can have registered a dmb at that point, so no dmb interrupt can occur, but a GID event interrupt can, and ism_handle_irq() takes dibs->lock unconditionally on entry, before it inspects anything else. Initialise the lock in dibs_dev_alloc() instead, so that it is valid as soon as a driver can publish the device to its interrupt handler.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
cc21191b584c6f7836b0f10774f8278b7cbfba10 to < fe79571f40434b257d68cbfb7b3ae93a794d8a11affectedcc21191b584c6f7836b0f10774f8278b7cbfba10 to < 2926031acba100d0c18fcfaa7a2ed29609318848affectedcc21191b584c6f7836b0f10774f8278b7cbfba10 to < c27e360545373b7aee9862a5beef3b9fb3df0c25affected
Linux Linux
Default version status: affected
6.18affected0 to < 6.18unaffected6.18.45 to ≤ 6.18.*unaffected7.1.9 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected