[PATCH] apparmor: Use pointer to struct aa_label for lbs_cred

Xiu Jianfeng posted 1 patch 3 years, 5 months ago
There is a newer version of this series
security/apparmor/lsm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] apparmor: Use pointer to struct aa_label for lbs_cred
Posted by Xiu Jianfeng 3 years, 5 months ago
According to the implementations of cred_label and set_cred_label, we
should use pointer to struct aa_label for lbs_cred instead of struct
aa_task_ctx, this patch fix it.

Fixes: bbd3662a8348 ("Infrastructure management of the cred security blob")
Signed-off-by: Xiu Jianfeng <xiujianfeng@huawei.com>
---
 security/apparmor/lsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index f56070270c69..fd2f57972a17 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -1197,7 +1197,7 @@ static int apparmor_inet_conn_request(const struct sock *sk, struct sk_buff *skb
  * The cred blob is a pointer to, not an instance of, an aa_task_ctx.
  */
 struct lsm_blob_sizes apparmor_blob_sizes __lsm_ro_after_init = {
-	.lbs_cred = sizeof(struct aa_task_ctx *),
+	.lbs_cred = sizeof(struct aa_label *),
 	.lbs_file = sizeof(struct aa_file_ctx),
 	.lbs_task = sizeof(struct aa_task_ctx),
 };
-- 
2.17.1
Re: [PATCH] apparmor: Use pointer to struct aa_label for lbs_cred
Posted by Casey Schaufler 3 years, 5 months ago
On 10/19/2022 7:36 PM, Xiu Jianfeng wrote:
> According to the implementations of cred_label and set_cred_label, we
> should use pointer to struct aa_label for lbs_cred instead of struct
> aa_task_ctx, this patch fix it.
>
> Fixes: bbd3662a8348 ("Infrastructure management of the cred security blob")
> Signed-off-by: Xiu Jianfeng <xiujianfeng@huawei.com>
> ---
>  security/apparmor/lsm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
> index f56070270c69..fd2f57972a17 100644
> --- a/security/apparmor/lsm.c
> +++ b/security/apparmor/lsm.c
> @@ -1197,7 +1197,7 @@ static int apparmor_inet_conn_request(const struct sock *sk, struct sk_buff *skb
>   * The cred blob is a pointer to, not an instance of, an aa_task_ctx.

If your premise is true you'll want to fix this comment as well as the code.

>   */
>  struct lsm_blob_sizes apparmor_blob_sizes __lsm_ro_after_init = {
> -	.lbs_cred = sizeof(struct aa_task_ctx *),
> +	.lbs_cred = sizeof(struct aa_label *),
>  	.lbs_file = sizeof(struct aa_file_ctx),
>  	.lbs_task = sizeof(struct aa_task_ctx),
>  };