On 2025/06/24 23:30, Maxime Bélair wrote: > +static int apparmor_lsm_config_self_policy(u32 lsm_id, u32 op, void __user *buf, > + size_t size, u32 flags) > +{ > + char *name = kvmalloc(size, GFP_KERNEL); > + long name_size; > + int ret; > + > + if (!name) > + return -ENOMEM; > + > + if (op != LSM_POLICY_LOAD || flags) Huge memory leak. > + return -EOPNOTSUPP; > + > + name_size = strncpy_from_user(name, buf, size); > + if (name_size < 0) Here too. :-) > + return name_size; > + > + ret = aa_change_profile(name, AA_CHANGE_STACK); > + > + kvfree(name); > + > + return ret; > +}