Re: [PATCH v4] livepatch: Cleanup module page permission changes

From: Josh Poimboeuf
Date: Fri Dec 04 2015 - 08:27:31 EST


On Fri, Dec 04, 2015 at 01:11:29AM +0100, Jiri Kosina wrote:
> On Thu, 3 Dec 2015, Josh Poimboeuf wrote:
>
> > Calling set_memory_rw() and set_memory_ro() for every iteration of the
> > loop in klp_write_object_relocations() is messy, inefficient, and
> > error-prone.
> >
> > Change all the read-only pages to read-write before the loop and convert
> > them back to read-only again afterwards.
> >
> > Suggested-by: Miroslav Benes <mbenes@xxxxxxx>
> > Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> > ---
> > Based on the following branches:
> > - git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching.git for-4.5/core
> > - git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux.git modules-next
> >
> > - v4: rebase onto Chris's sympos changes
> > - v3: use new module_{disable,enable}_ro() functions (in linux-next)
>
> Rusty,
>
> how would you like to handle this cross-tree dependency?
>
> My proposals:
>
> (1) I pull your 'modules-next' branch, apply this patch on top, and wait
> for your merge with Linus and send merge request afterwards
> (2) If you are okay with rebasing your tree (seems like this is
> ocassionally happening), how about you prepare a branch that'd have
> just b3212ec77 ("module: keep percpu symbols in module's symtab") on
> top of some common base, I merge it, and the cross-dependency is gone
> (3) I cherry-pick b3212ec77 ("module: keep percpu symbols in
> module's symtab") from your tree, and apply this on top. git will
> handle duplicate commits when Linus merges both just fine
> (4) I sign this patch off and you merge it
>
> (4) seems really outside the regular process. (1) is really tricky wrt.
> coordination of timing during the merge window. I'd prefer (2) (more
> git-ish way of doing things, but would require you rebasing your tree) or
> eventually (3) (git will handle this with grace).

[ off-list ]

Quick question. Just curious, because I'm new at this...

My impression was that #1 was standard operating procedure. Merge a
(non-rebasable) modules branch into livepatch, and then make sure to
submit the livepatch pull request after Rusty sends his, with a note in
the mail to Linus stating the dependency. That seems pretty
straightforward to me. Or am I missing something?

--
Josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/