landlock: Reduce the maximum number of layers to 16
authorMickaël Salaün <mic@digikod.net>
Fri, 6 May 2022 16:10:52 +0000 (18:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jun 2022 08:23:24 +0000 (10:23 +0200)
commitf7d62cb59f6d9346b0d7f4771a770f9b08157621
tree7ed57e0bbbdab30cc40aaf85d9a70671cc56f5d3
parentf4cd27b8466ac806a7b6c0d0986ca5f0d0a88980
landlock: Reduce the maximum number of layers to 16

commit 75c542d6c6cc48720376862d5496d51509160dfd upstream.

The maximum number of nested Landlock domains is currently 64.  Because
of the following fix and to help reduce the stack size, let's reduce it
to 16.  This seems large enough for a lot of use cases (e.g. sandboxed
init service, spawning a sandboxed SSH service, in nested sandboxed
containers).  Reducing the number of nested domains may also help to
discover misuse of Landlock (e.g. creating a domain per rule).

Add and use a dedicated layer_mask_t typedef to fit with the number of
layers.  This might be useful when changing it and to keep it consistent
with the maximum number of layers.

Reviewed-by: Paul Moore <paul@paul-moore.com>
Link: https://lore.kernel.org/r/20220506161102.525323-3-mic@digikod.net
Cc: stable@vger.kernel.org
Signed-off-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/userspace-api/landlock.rst
security/landlock/fs.c
security/landlock/limits.h
security/landlock/ruleset.h
tools/testing/selftests/landlock/fs_test.c