Thread (22 messages) 22 messages, 4 authors, 2016-06-03

Re: [PATCH 5/8] x86, pkeys: allocation/free syscalls

From: Jonathan Corbet <hidden>
Date: 2016-06-01 18:37:10
Also in: linux-arch, linux-mm, lkml

Sorry, I have one more obnoxious question...
quoted hunk ↗ jump to hunk
+static inline
+int mm_pkey_free(struct mm_struct *mm, int pkey)
+{
+	/*
+	 * pkey 0 is special, always allocated and can never
+	 * be freed.
+	 */
+	if (!pkey || !validate_pkey(pkey))
+		return -EINVAL;
+	if (!mm_pkey_is_allocated(mm, pkey))
+		return -EINVAL;
+
+	mm_set_pkey_free(mm, pkey);
+
+	return 0;
+}
If I read this right, it doesn't actually remove any pkey restrictions
that may have been applied while the key was allocated.  So there could be
pages with that key assigned that might do surprising things if the key is
reallocated for another use later, right?  Is that how the API is intended
to work?

Thanks,

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