On Sat, 18 Jan 2025 09:46:29 +0100, Takashi Iwai wrote: > > On Fri, 17 Jan 2025 18:23:40 +0100, > Dmitry Torokhov wrote: > > > > When enabling a pass-through port an interrupt might come before psmouse > > driver binds to the pass-through port. However synaptics sub-driver > > tries to access psmouse instance presumably associated with the > > pass-through port to figure out if only 1 byte of response or entire > > protocol packet needs to be forwarded to the pass-through port and may > > crash if psmouse instance has not been attached to the port yet. > > > > Fix the crash by introducing open() and close() methods for the port and > > check if the port is open before trying to access psmouse instance. > > Because psmouse calls serio_open() only after attaching psmouse instance > > to serio port instance this prevents the potential crash. > > > > Reported-by: Takashi Iwai <tiwai@xxxxxxx> > > Fixes: 100e16959c3c ("Input: libps2 - attach ps2dev instances as serio port's drvdata") > > Link: https://bugzilla.suse.com/show_bug.cgi?id=1219522 > > Cc: stable@xxxxxxxxxxxxxxx > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > > Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> BTW, backporting this patch to stable kernels wouldn't be trivial; it needs the recent changes for guard(), too. Takashi