Currently PR_SET_MM_* require the global CAP_SYS_RESOURCE,
which is absent in a non-root userns.

Here are three groups of attributes:
1. PR_SET_MM_START_*_DATA, PR_SET_MM_*BRK, PR_SET_MM_*_STACK
These attributes can affect resource limits, so here is no sense
to restrict them if a proper limit is unlimited.
2. PR_MM_SET_EXE_FILE. We have not found other way than add
a secure bit. This bit is set from a root userns and inhereted by
children. Thanks to Pavel Emelyanov for the idea.
3. All other attributes don't affect other tasks or limits, so
can be changed without special permissions.

Andrey Vagin (3):
  prctl: reduce permissions to change boundaries of data, brk and stack
  capabilities: add a secure bit to allow changing a task exe link
  prctl: allow to use PR_MM_SET_* which affect only a current task

 include/uapi/linux/securebits.h |  9 ++++++++-
 kernel/sys.c                    | 21 +++++++++++++++++++--
 kernel/user_namespace.c         |  3 ++-
 security/commoncap.c            |  7 +++++++
 4 files changed, 36 insertions(+), 4 deletions(-)

Cc: Andrew Morton <a...@linux-foundation.org>
Cc: Oleg Nesterov <o...@redhat.com>
Cc: Al Viro <v...@zeniv.linux.org.uk>
Cc: Kees Cook <keesc...@chromium.org>
Cc: "Eric W. Biederman" <ebied...@xmission.com>
Cc: Stephen Rothwell <s...@canb.auug.org.au>
Cc: Pavel Emelyanov <xe...@parallels.com>
Cc: Aditya Kali <adityak...@google.com>

-- 
1.8.5.3

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

Reply via email to