Closed joe-lawrence closed 5 months ago
Hm, that's odd. I haven't seen anything like that before. Maybe changes to non-bundled sections could be downgraded to warnings. Or if this seems like a fluke we could do KPATCH_IGNORE_SECTION() for that patch.
- special-static.patch was introduced to verify that kpatch-build could handle
__warned
and__key
so-called special static local variables. Do these special symbols need to exist in kpatch-modified functions, or merely somewhere in kpatch-modified object files?
I'm not 100% sure, but I think the current test triggers a change in a function which actually uses such variables, so let's stick with that :-)
- Could this be turned into an unit test? The patch doesn't do much, and nothing I see specifically regarding the special symbols.
Yeah, I think so.
Here are the object files for special-static.patch as built on RHEL-9.3: special-static-objs.tar.gz
It looks like copy_signal() only references a few key variables, though the greater fork.o file a few others (like `already_done,
_entry, and
func`). If that's good enough, then I can push the stripped objects into the unit-test repo and deprecate the special-static.patch.
This issue has been open for 30 days with no activity and no assignee. It will be closed in 7 days unless a comment is added.
This issue was closed because it was inactive for 7 days after being marked stale.
This issue has been open for 30 days with no activity and no assignee. It will be closed in 7 days unless a comment is added.
This issue was closed because it was inactive for 7 days after being marked stale.
For some reason, gcc on s390x decides to rearrange instructions due to this patch (my own notes correlating instructions added on the right hand side) and the build fails as those changes land in the .init.text section:
The fork_idle() function was annotated as
__init
way back in v5.14 torvalds/linux@f1a0a376ca0c ("sched/core: Initialize the idle task with preemption disabled"), so I'm surprised this is only failing now.@jpoimboe : two questions about this test:
__warned
and__key
so-called special static local variables. Do these special symbols need to exist in kpatch-modified functions, or merely somewhere in kpatch-modified object files?