diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-02-16 20:31:36 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-02-16 20:31:36 -0500 |
| commit | 9a7dcde4a661ccad2b641e873b15ce26bf302c4e (patch) | |
| tree | 4f0abea50669671c9d22eed6c600a11b5ed97b03 | |
| parent | 0b999ae3614d09d97a1575936bcee884f912b10e (diff) | |
| parent | 69ef9bc54715fb1cb7786ada15774e469e822209 (diff) | |
Merge tag 'auxdisplay-for-linus-v5.0-rc7' of git://github.com/ojeda/linux
Pull auxdisplay fix from Miguel Ojeda:
"Fix potential user-after-free on ht16k33 module unload. Reported by
Sven Van Asbroeck"
* tag 'auxdisplay-for-linus-v5.0-rc7' of git://github.com/ojeda/linux:
auxdisplay: ht16k33: fix potential user-after-free on module unload
| -rw-r--r-- | drivers/auxdisplay/ht16k33.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/auxdisplay/ht16k33.c b/drivers/auxdisplay/ht16k33.c index a43276c76fc6..21393ec3b9a4 100644 --- a/drivers/auxdisplay/ht16k33.c +++ b/drivers/auxdisplay/ht16k33.c | |||
| @@ -509,7 +509,7 @@ static int ht16k33_remove(struct i2c_client *client) | |||
| 509 | struct ht16k33_priv *priv = i2c_get_clientdata(client); | 509 | struct ht16k33_priv *priv = i2c_get_clientdata(client); |
| 510 | struct ht16k33_fbdev *fbdev = &priv->fbdev; | 510 | struct ht16k33_fbdev *fbdev = &priv->fbdev; |
| 511 | 511 | ||
| 512 | cancel_delayed_work(&fbdev->work); | 512 | cancel_delayed_work_sync(&fbdev->work); |
| 513 | unregister_framebuffer(fbdev->info); | 513 | unregister_framebuffer(fbdev->info); |
| 514 | framebuffer_release(fbdev->info); | 514 | framebuffer_release(fbdev->info); |
| 515 | free_page((unsigned long) fbdev->buffer); | 515 | free_page((unsigned long) fbdev->buffer); |
