[PATCH v7 01/18] landlock: rename access mask
Konstantin Meskhidze (A)
konstantin.meskhidze at huawei.com
Fri Sep 9 10:42:47 UTC 2022
9/6/2022 11:06 AM, Mickaël Salaün пишет:
> You can improve the subject with "landlock: Make ruleset's access masks
> more generic".
> Please capitalize all subjects this way.
>
> On 29/08/2022 19:03, Konstantin Meskhidze wrote:
>> To support network type rules, this modification renames ruleset's
>> access masks and modifies it's type to access_masks_t. This patch
>> adds filesystem helper functions to add and get filesystem mask.
>>
>> Signed-off-by: Konstantin Meskhidze <konstantin.meskhidze at huawei.com>
>> ---
>>
>> Changes since v6:
>> * Adds a new access_masks_t for struct ruleset.
>> * Renames landlock_set_fs_access_mask() to landlock_add_fs_access_mask()
>> because it OR values.
>> * Makes landlock_add_fs_access_mask() more resilient incorrect values.
>> * Refactors landlock_get_fs_access_mask().
>>
>> Changes since v5:
>> * Changes access_mask_t to u32.
>> * Formats code with clang-format-14.
>>
>> Changes since v4:
>> * Deletes struct landlock_access_mask.
>>
>> Changes since v3:
>> * Splits commit.
>> * Adds get_mask, set_mask helpers for filesystem.
>> * Adds new struct landlock_access_mask.
>>
>> ---
>> security/landlock/fs.c | 7 ++++---
>> security/landlock/limits.h | 1 +
>> security/landlock/ruleset.c | 17 +++++++++--------
>> security/landlock/ruleset.h | 37 ++++++++++++++++++++++++++++++++----
>> security/landlock/syscalls.c | 7 ++++---
>> 5 files changed, 51 insertions(+), 18 deletions(-)
>
> [...]
>
>> @@ -177,4 +182,28 @@ static inline void landlock_get_ruleset(struct landlock_ruleset *const ruleset)
>> refcount_inc(&ruleset->usage);
>> }
>>
>> +/* A helper function to set a filesystem mask. */
>> +static inline void
>> +landlock_add_fs_access_mask(struct landlock_ruleset *const ruleset,
>> + const access_mask_t fs_access_mask,
>> + const u16 layer_level)
>> +{
>> + access_mask_t fs_mask = fs_access_mask & LANDLOCK_MASK_ACCESS_FS;
>> +
>> + /* Should already be checked in sys_landlock_create_ruleset(). */
>> + WARN_ON_ONCE(fs_access_mask != fs_mask);
>> + // TODO: Add tests to check "|=" and not "="
>
> Please add tests as I explained in a previous email.
Do you mean to add this test into TEST_F_FORK(layout1, inval) in
fs_test.c ???
> .
More information about the Linux-security-module-archive
mailing list