Re: samples: livepatch: init reloc list and mark as klp module
From: Jessica Yu <hidden>
Date: 2015-11-10 18:37:32
Also in:
lkml
+++ Josh Poimboeuf [10/11/15 07:50 -0600]:On Tue, Nov 10, 2015 at 09:15:54AM +0100, Jiri Slaby wrote:quoted
On 11/10/2015, 05:45 AM, Jessica Yu wrote:quoted
Intialize the list of relocation sections in the sample klp_object (even if the list will be empty in this case). Also mark module as a livepatch module so that the module loader can appropriately initialize it. Signed-off-by: Jessica Yu <redacted> --- samples/livepatch/livepatch-sample.c | 2 ++ 1 file changed, 2 insertions(+)diff --git a/samples/livepatch/livepatch-sample.c b/samples/livepatch/livepatch-sample.c index fb8c861..2ef9345 100644 --- a/samples/livepatch/livepatch-sample.c +++ b/samples/livepatch/livepatch-sample.c@@ -57,6 +57,7 @@ static struct klp_object objs[] = { { /* name being NULL means vmlinux */ .funcs = funcs, + .reloc_secs = LIST_HEAD_INIT(objs[0].reloc_secs)And I see now. This is not the best place for it though. I would put INIT_LIST_HEAD in the core code instead.Maybe the reloc_secs list should instead be an array of klp_reloc_sec structs, with the last entry being 0, similar to how we do other "lists" in the klp interface (e.g., klp_patch.objs, klp_object.funcs).
Yeah, I admit the asymmetry is a bit awkward. Plus we can add in a klp_for_each_reloc_sec to keep the api consistent. I'll go ahead and change this to follow the existing klp "list" format. Jessica