linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: manual merge of the livepatching tree with the modules tree
@ 2020-05-08  8:05 Stephen Rothwell
  2020-05-11 11:43 ` Miroslav Benes
  2020-06-05  4:45 ` Stephen Rothwell
  0 siblings, 2 replies; 5+ messages in thread
From: Stephen Rothwell @ 2020-05-08  8:05 UTC (permalink / raw)
  To: Jiri Kosina, Josh Poimboeuf, Miroslav Benes, Petr Mladek,
	Joe Lawrence, Jessica Yu
  Cc: Linux Next Mailing List, Linux Kernel Mailing List, Peter Zijlstra

[-- Attachment #1: Type: text/plain, Size: 2334 bytes --]

Hi all,

Today's linux-next merge of the livepatching tree got a conflict in:

  kernel/module.c

between commits:

  db991af02f11 ("module: break nested ARCH_HAS_STRICT_MODULE_RWX and STRICT_MODULE_RWX #ifdefs")
  5c3a7db0c7ec ("module: Harden STRICT_MODULE_RWX")

from the modules tree and commit:

  e6eff4376e28 ("module: Make module_enable_ro() static again")

from the livepatching tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc kernel/module.c
index c69291362676,a26343ea4d50..000000000000
--- a/kernel/module.c
+++ b/kernel/module.c
@@@ -2055,29 -2023,20 +2042,30 @@@ static void module_enable_nx(const stru
  	frob_writable_data(&mod->init_layout, set_memory_nx);
  }
  
 +static int module_enforce_rwx_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs,
 +				       char *secstrings, struct module *mod)
 +{
 +	const unsigned long shf_wx = SHF_WRITE|SHF_EXECINSTR;
 +	int i;
 +
 +	for (i = 0; i < hdr->e_shnum; i++) {
 +		if ((sechdrs[i].sh_flags & shf_wx) == shf_wx)
 +			return -ENOEXEC;
 +	}
 +
 +	return 0;
 +}
 +
  #else /* !CONFIG_STRICT_MODULE_RWX */
 +/* module_{enable,disable}_ro() stubs are in module.h */
  static void module_enable_nx(const struct module *mod) { }
+ static void module_enable_ro(const struct module *mod, bool after_init) {}
 -#endif /*  CONFIG_STRICT_MODULE_RWX */
 -static void module_enable_x(const struct module *mod)
 +static int module_enforce_rwx_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs,
 +				       char *secstrings, struct module *mod)
  {
 -	frob_text(&mod->core_layout, set_memory_x);
 -	frob_text(&mod->init_layout, set_memory_x);
 +	return 0;
  }
 -#else /* !CONFIG_ARCH_HAS_STRICT_MODULE_RWX */
 -static void module_enable_nx(const struct module *mod) { }
 -static void module_enable_x(const struct module *mod) { }
 -#endif /* CONFIG_ARCH_HAS_STRICT_MODULE_RWX */
 -
 +#endif /*  CONFIG_STRICT_MODULE_RWX */
  
  #ifdef CONFIG_LIVEPATCH
  /*

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-06-05  7:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-08  8:05 linux-next: manual merge of the livepatching tree with the modules tree Stephen Rothwell
2020-05-11 11:43 ` Miroslav Benes
2020-06-05  4:45 ` Stephen Rothwell
2020-06-05  6:56   ` Jiri Kosina
2020-06-05  7:37     ` Jessica Yu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).