Thread (19 messages) 19 messages, 5 authors, 2018-10-23

[PATCH v2 4/7] arm64/modules: Add rlimit checking for arm64 modules

From: rick.p.edgecombe@intel.com (Edgecombe, Rick P)
Date: 2018-10-13 05:36:16
Also in: linux-arch, linux-fsdevel, linux-mips, linux-s390, lkml, sparclinux

On Fri, 2018-10-12 at 16:32 +0200, Jessica Yu wrote:
quoted hunk ↗ jump to hunk
+++ Dave Hansen [11/10/18 16:47 -0700]:
quoted
On 10/11/2018 04:31 PM, Rick Edgecombe wrote:
quoted
+	if (check_inc_mod_rlimit(size))
+		return NULL;
+
 	p = __vmalloc_node_range(size, MODULE_ALIGN, module_alloc_base,
 				module_alloc_base + MODULES_VSIZE,
 				gfp_mask, PAGE_KERNEL_EXEC, 0,
@@ -65,6 +68,8 @@ void *module_alloc(unsigned long size)
 		return NULL;
 	}

+	update_mod_rlimit(p, size);
Is there a reason we couldn't just rename all of the existing per-arch
module_alloc() calls to be called, say, "arch_module_alloc()", then put
this new rlimit code in a generic helper that does:


	if (check_inc_mod_rlimit(size))
		return NULL;

	p = arch_module_alloc(...);

	...

	update_mod_rlimit(p, size);
I second this suggestion. Just make module_{alloc,memfree} generic,
non-weak functions that call the rlimit helpers in addition to the
arch-specific arch_module_{alloc,memfree} functions.

Jessica
Ok, thanks. I am going to try another version of this with just a system wide
BPF JIT limit based on the problems Jann brought up. I think it would be nice to
have a module space limit, but as far as I know the only way today un-privlidged 
users could fill the space is from BPF JIT. Unless you see another purpose long
term?

Rick
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help