mirror of
https://github.com/dynup/kpatch
synced 2025-02-17 02:06:53 +00:00
When the core module loops through an object's list of dynrelas, it determines whether or not the target location of the dynrela is in a read-only region of the patch module. If it is, the readonly flag is set to 1 and it calls set_memory_{rw,ro} before and after the probe_kernel_write() operation. This flag gets set once, and never gets reset for subsequent iterations. Therefore, if a target happens to be in a RW section of the patch module, and readonly = 1 had been set before, we may unintentionally set a normally RW page to RO. Fix this by setting the readonly flag with each iteration of the loop. Fixes #681. |
||
---|---|---|
.. | ||
core.c | ||
kpatch.h | ||
Makefile | ||
shadow.c |