Linuxカーネルにおいて、以下の脆弱性が修正されました。gpio: omapのprobe()関数でドライバーを登録しない問題です。コミット11a78b794496(「ARM: OMAP: MPUIO wake updates」)では、omap_gpio_probe()から呼び出されるomap_mpuio_init()内でomap_mpuio_driverが登録されていました。しかし、他のドライバーのprobe()コールバック内でドライバーを登録することは意味がなく、ドライバーコアはすでにデバイスロックが保持されている状態でドライバーの登録を許可していません。後者の問題はコミットdc23806a7c47(「driver core: enforce device_lock for driver_match_device()」)で明らかになり、[1]に記載された潜在的なデッドロック状態を引き起こしていました。さらに、モジュールがアンロードされてもomap_mpuio_driverはドライバーコアから一度も登録解除されていませんでした。そのため、omap_mpuio_driverはモジュールのinitcallから登録し、module_exit()で登録解除するように修正されました。
|