Re: general protection fault in spk_ttyio_ldisc_close

From: Greg KH
Date: Tue Jan 08 2019 - 08:50:25 EST


On Tue, Jan 08, 2019 at 08:37:37AM -0500, Kyungtae Kim wrote:
> We report a bug in linux-4.20: "general protection fault in
> spk_ttyio_ldisc_close"
>
> kernel config: https://kt0755.github.io/etc/config_v4.20_stable
> repro: https://kt0755.github.io/etc/repro.a670e.c
>
> This occurs when the function kfree is about to execute
> (driver/staging/speakup/spk_ttyio.c:68).
> Particularly, kfree takes the argument like speakup_tty->disc_data.
> But speakup_tty is invalid, so the pointer dereference causes GPF.
> At a glance, it seems that speakup_tty was deallocated somewhere ahead of kfree.

How did you trigger this? Did you shut down and close the device
already somehow? Do you have a real tty device that is driven by the
device?

thanks,

greg k-h