]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
security,bpf: constify struct path in bpf_token_create() LSM hook
authorAndrii Nakryiko <andrii@kernel.org>
Tue, 6 Aug 2024 22:38:12 +0000 (15:38 -0700)
committerAndrii Nakryiko <andrii@kernel.org>
Fri, 13 Sep 2024 01:57:54 +0000 (18:57 -0700)
There is no reason why struct path pointer shouldn't be const-qualified
when being passed into bpf_token_create() LSM hook. Add that const.

Acked-by: Paul Moore <paul@paul-moore.com> (LSM/SELinux)
Suggested-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
include/linux/lsm_hook_defs.h
include/linux/security.h
security/security.c
security/selinux/hooks.c

index 855db460e08bc6c38631e94eec4fbf99abf8a42d..462b553782410c1e715cda5aec4f91744fce07b7 100644 (file)
@@ -431,7 +431,7 @@ LSM_HOOK(int, 0, bpf_prog_load, struct bpf_prog *prog, union bpf_attr *attr,
         struct bpf_token *token)
 LSM_HOOK(void, LSM_RET_VOID, bpf_prog_free, struct bpf_prog *prog)
 LSM_HOOK(int, 0, bpf_token_create, struct bpf_token *token, union bpf_attr *attr,
-        struct path *path)
+        const struct path *path)
 LSM_HOOK(void, LSM_RET_VOID, bpf_token_free, struct bpf_token *token)
 LSM_HOOK(int, 0, bpf_token_cmd, const struct bpf_token *token, enum bpf_cmd cmd)
 LSM_HOOK(int, 0, bpf_token_capable, const struct bpf_token *token, int cap)
index 1390f1efb4f0753c646ac2ce84ada9fa1090d9f1..31523a2c71c4d3fe2b21cc0668304a6f4f1a4d68 100644 (file)
@@ -2137,7 +2137,7 @@ extern int security_bpf_prog_load(struct bpf_prog *prog, union bpf_attr *attr,
                                  struct bpf_token *token);
 extern void security_bpf_prog_free(struct bpf_prog *prog);
 extern int security_bpf_token_create(struct bpf_token *token, union bpf_attr *attr,
-                                    struct path *path);
+                                    const struct path *path);
 extern void security_bpf_token_free(struct bpf_token *token);
 extern int security_bpf_token_cmd(const struct bpf_token *token, enum bpf_cmd cmd);
 extern int security_bpf_token_capable(const struct bpf_token *token, int cap);
@@ -2177,7 +2177,7 @@ static inline void security_bpf_prog_free(struct bpf_prog *prog)
 { }
 
 static inline int security_bpf_token_create(struct bpf_token *token, union bpf_attr *attr,
-                                    struct path *path)
+                                           const struct path *path)
 {
        return 0;
 }
index 8cee5b6c6e6d53ceb213feab8b0bd53bcc886c7b..d8d0b67ced2503be02eb34ca92a2500356287744 100644 (file)
@@ -5510,7 +5510,7 @@ int security_bpf_prog_load(struct bpf_prog *prog, union bpf_attr *attr,
  * Return: Returns 0 on success, error on failure.
  */
 int security_bpf_token_create(struct bpf_token *token, union bpf_attr *attr,
-                             struct path *path)
+                             const struct path *path)
 {
        return call_int_hook(bpf_token_create, token, attr, path);
 }
index 55c78c318ccd78b8dcec24886c0ff5e919c67b85..0eec141a8f37e0c04ed2cbb0b2c242c59a87040c 100644 (file)
@@ -6965,7 +6965,7 @@ static void selinux_bpf_prog_free(struct bpf_prog *prog)
 }
 
 static int selinux_bpf_token_create(struct bpf_token *token, union bpf_attr *attr,
-                                   struct path *path)
+                                   const struct path *path)
 {
        struct bpf_security_struct *bpfsec;