mbox series

[v7,00/18] Network support for Landlock

Message ID 20220829170401.834298-1-konstantin.meskhidze@huawei.com (mailing list archive)
Headers show
Series Network support for Landlock | expand

Message

Konstantin Meskhidze (A) Aug. 29, 2022, 5:03 p.m. UTC
Hi,
This is a new V7 patch related to Landlock LSM network confinement.
It is based on the landlock's -next branch on top of v5.19 kernel version:
https://git.kernel.org/pub/scm/linux/kernel/git/mic/linux.git/log/?h=next

It brings refactoring of previous patch version V6 and based on
Mickaёl's two commits in -tmp-net branch:
https://git.kernel.org/pub/scm/linux/kernel/git/mic/linux.git/commit/?id=8f4104b3dc59e7f110c9b83cdf034d010a2d006f
https://git.kernel.org/pub/scm/linux/kernel/git/mic/linux.git/commit/?id=7d6cf40a6f81adf607ad3cc17aaa11e256beeea4

All test were run in QEMU evironment and compiled with
 -static flag.
 1. network_test: 18/18 tests passed.
 2. base_test: 7/7 tests passed.
 3. fs_test: 61/61 tests passed.
 4. ptrace_test: 8/8 tests passed.

LCOV - code coverage report:
            Hit  Total  Coverage
Lines:      952  1010    94.2 %
Functions:  79   82      96.3 %

Previous versions:
v6: https://lore.kernel.org/linux-security-module/20220621082313.3330667-1-konstantin.meskhidze@huawei.com/
v5: https://lore.kernel.org/linux-security-module/20220516152038.39594-1-konstantin.meskhidze@huawei.com
v4: https://lore.kernel.org/linux-security-module/20220309134459.6448-1-konstantin.meskhidze@huawei.com/
v3: https://lore.kernel.org/linux-security-module/20220124080215.265538-1-konstantin.meskhidze@huawei.com/
v2: https://lore.kernel.org/linux-security-module/20211228115212.703084-1-konstantin.meskhidze@huawei.com/
v1: https://lore.kernel.org/linux-security-module/20211210072123.386713-1-konstantin.meskhidze@huawei.com/

Konstantin Meskhidze (18):
  landlock: rename access mask
  landlock: refactor landlock_find_rule/insert_rule
  landlock: refactor merge/inherit_ruleset functions
  landlock: move helper functions
  landlock: refactor helper functions
  landlock: refactor landlock_add_rule syscall
  landlock: user space API network support
  landlock: add network rules support
  landlock: implement TCP network hooks
  seltests/landlock: move helper function
  seltests/landlock: add tests for bind() hooks
  seltests/landlock: add tests for connect() hooks
  seltests/landlock: add AF_UNSPEC family test
  seltests/landlock: add rules overlapping test
  seltests/landlock: add ruleset expanding test
  seltests/landlock: add invalid input data test
  samples/landlock: add network demo
  landlock: Document Landlock's network support

 Documentation/userspace-api/landlock.rst    |  84 ++-
 include/uapi/linux/landlock.h               |  49 ++
 samples/landlock/sandboxer.c                | 123 ++-
 security/landlock/Kconfig                   |   1 +
 security/landlock/Makefile                  |   2 +
 security/landlock/fs.c                      | 144 +---
 security/landlock/limits.h                  |   7 +-
 security/landlock/net.c                     | 161 ++++
 security/landlock/net.h                     |  26 +
 security/landlock/ruleset.c                 | 369 +++++++--
 security/landlock/ruleset.h                 | 136 +++-
 security/landlock/setup.c                   |   2 +
 security/landlock/syscalls.c                | 168 +++--
 tools/testing/selftests/landlock/common.h   |  10 +
 tools/testing/selftests/landlock/config     |   4 +
 tools/testing/selftests/landlock/fs_test.c  |  10 -
 tools/testing/selftests/landlock/net_test.c | 786 ++++++++++++++++++++
 17 files changed, 1796 insertions(+), 286 deletions(-)
 create mode 100644 security/landlock/net.c
 create mode 100644 security/landlock/net.h
 create mode 100644 tools/testing/selftests/landlock/net_test.c

--
2.25.1