forked from mirrors/linux
platform_set_drvdata() is setting a double pointer to struct pps_tio as
driver_data, which will point to the local stack of probe function instead
of intended data. Set driver_data correctly and fix illegal memory access
by its user.
BUG: unable to handle page fault for address: ffffc9000117b738
RIP: 0010:hrtimer_active+0x2b/0x60
Call Trace:
? hrtimer_active+0x2b/0x60
hrtimer_cancel+0x19/0x50
pps_gen_tio_remove+0x1e/0x80 [pps_gen_tio]
Fixes:
|
||
|---|---|---|
| .. | ||
| clients | ||
| generators | ||
| kapi.c | ||
| kc.c | ||
| kc.h | ||
| Kconfig | ||
| Makefile | ||
| pps.c | ||
| sysfs.c | ||