mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-23 00:20:52 -05:00
landlock: Simplify current_check_access_socket()
Remove the handled_access variable in current_check_access_socket() and update access_request instead. One up-to-date variable avoids picking the wrong one. Cc: Konstantin Meskhidze <konstantin.meskhidze@huawei.com> Link: https://lore.kernel.org/r/20240307093923.1466071-1-mic@digikod.net Signed-off-by: Mickaël Salaün <mic@digikod.net>
This commit is contained in:
parent
782191c748
commit
088e2efaf3
1 changed files with 3 additions and 4 deletions
|
@ -64,12 +64,11 @@ static const struct landlock_ruleset *get_current_net_domain(void)
|
|||
static int current_check_access_socket(struct socket *const sock,
|
||||
struct sockaddr *const address,
|
||||
const int addrlen,
|
||||
const access_mask_t access_request)
|
||||
access_mask_t access_request)
|
||||
{
|
||||
__be16 port;
|
||||
layer_mask_t layer_masks[LANDLOCK_NUM_ACCESS_NET] = {};
|
||||
const struct landlock_rule *rule;
|
||||
access_mask_t handled_access;
|
||||
struct landlock_id id = {
|
||||
.type = LANDLOCK_KEY_NET_PORT,
|
||||
};
|
||||
|
@ -164,9 +163,9 @@ static int current_check_access_socket(struct socket *const sock,
|
|||
BUILD_BUG_ON(sizeof(port) > sizeof(id.key.data));
|
||||
|
||||
rule = landlock_find_rule(dom, id);
|
||||
handled_access = landlock_init_layer_masks(
|
||||
access_request = landlock_init_layer_masks(
|
||||
dom, access_request, &layer_masks, LANDLOCK_KEY_NET_PORT);
|
||||
if (landlock_unmask_layers(rule, handled_access, &layer_masks,
|
||||
if (landlock_unmask_layers(rule, access_request, &layer_masks,
|
||||
ARRAY_SIZE(layer_masks)))
|
||||
return 0;
|
||||
|
||||
|
|
Loading…
Reference in a new issue