diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c index ac0a181e5ceb..22317817d1f5 100644 --- a/security/apparmor/apparmorfs.c +++ b/security/apparmor/apparmorfs.c @@ -552,10 +552,10 @@ static struct aa_loaddata *aa_get_data_from_compressed(const char __user *userbu *compressed_data = kvmalloc(buffer_size, GFP_KERNEL); if (!*compressed_data) return ERR_PTR(-ENOMEM); - error = copy_from_user(*compressed_data, userbuf, buffer_size); - if (error) + if (copy_from_user(*compressed_data, userbuf, buffer_size)) { + error = -EFAULT; goto fail; - + } error = zstd_get_frame_header(&header, *compressed_data, buffer_size); if (error || header.frameContentSize == ZSTD_CONTENTSIZE_UNKNOWN || header.frameContentSize == ZSTD_CONTENTSIZE_ERROR) {