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

From: Josh Poimboeuf
Date: Fri Dec 04 2015 - 08:30:16 EST


On Fri, Dec 04, 2015 at 07:27:24AM -0600, Josh Poimboeuf wrote:
> 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 ]

Or not :-)

> 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/