Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 09f9390d authored by Andrew Morton's avatar Andrew Morton Committed by Greg Kroah-Hartman
Browse files

drivers/staging/speakup/devsynth.c: fix "buffer size is not provably correct" error



x86_64 allmodconfig:

In file included from arch/x86/include/asm/uaccess.h:572,
                 from include/linux/uaccess.h:5,
                 from drivers/staging/speakup/devsynth.c:4:
In function 'copy_from_user',
    inlined from 'speakup_file_write' at drivers/staging/speakup/devsynth.c:28:
arch/x86/include/asm/uaccess_64.h:64: error: call to 'copy_from_user_overflow' declared with attribute error: copy_from_user() buffer size is not provably correct

I'm not sure what was unprovable about it, but size_t is the correct type
anyway.

Also replace needless min_t() with min()

Cc: William Hubbs <w.d.hubbs@gmail.com>
Cc: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 8f896155
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -18,13 +18,14 @@ static ssize_t speakup_file_write(struct file *fp, const char *buffer,
{
	size_t count = nbytes;
	const char *ptr = buffer;
	int bytes;
	size_t bytes;
	unsigned long flags;
	u_char buf[256];

	if (synth == NULL)
		return -ENODEV;
	while (count > 0) {
		bytes = min_t(size_t, count, sizeof(buf));
		bytes = min(count, sizeof(buf));
		if (copy_from_user(buf, ptr, bytes))
			return -EFAULT;
		count -= bytes;