lkml.org 
[lkml]   [2021]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2] smackfs: restrict bytes count in smackfs write functions
From
Date
On 2021/01/28 20:58, Sabyrzhan Tasbolatov wrote:
> @@ -2005,6 +2009,9 @@ static ssize_t smk_write_onlycap(struct file *file, const char __user *buf,
> if (!smack_privileged(CAP_MAC_ADMIN))
> return -EPERM;
>
> + if (count > PAGE_SIZE)
> + return -EINVAL;
> +
> data = memdup_user_nul(buf, count);
> if (IS_ERR(data))
> return PTR_ERR(data);
> @@ -2740,10 +2754,13 @@ static ssize_t smk_write_relabel_self(struct file *file, const char __user *buf,
> return -EPERM;
>
> /*
> + * No partial write.
> * Enough data must be present.
> */
> if (*ppos != 0)
> return -EINVAL;
> + if (count == 0 || count > PAGE_SIZE)
> + return -EINVAL;
>
> data = memdup_user_nul(buf, count);
> if (IS_ERR(data))
>

Doesn't this change break legitimate requests like

char buffer[20000];

memset(buffer, ' ', sizeof(buffer));
memcpy(buffer + sizeof(buffer) - 10, "foo", 3);
write(fd, buffer, sizeof(buffer));

?

\
 
 \ /
  Last update: 2021-01-28 14:02    [W:0.071 / U:0.608 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site