diff --git a/security/smack/smackfs.c b/security/smack/smackfs.c index 115f790c3b129c0906a9430926763d0d00730a00..9a04eb987be48f97a6dcd4fc5b6f412ad2dfaf1b 100644 --- a/security/smack/smackfs.c +++ b/security/smack/smackfs.c @@ -884,6 +884,8 @@ static ssize_t smk_set_cipso(struct file *file, const char __user *buf, if (format == SMK_FIXED24_FMT && (count < SMK_CIPSOMIN || count > SMK_CIPSOMAX)) return -EINVAL; + if (count > PAGE_SIZE) + return -EINVAL; data = memdup_user_nul(buf, count); if (IS_ERR(data))