From: Thomas Zimmermann <tzimmermann@suse.de>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: maarten.lankhorst@linux.intel.com, mripard@kernel.org,
airlied@gmail.com, daniel@ffwll.ch, javierm@redhat.com,
deller@gmx.de, sudipm.mukherjee@gmail.com,
teddy.wang@siliconmotion.com, dri-devel@lists.freedesktop.org,
linux-fbdev@vger.kernel.org
Subject: Re: [PATCH 1/6] fbdev: Return number of bytes read or written
Date: Wed, 26 Apr 2023 17:01:49 +0200 [thread overview]
Message-ID: <c6cf2f7c-ef32-287c-2b3a-e08a96176af5@suse.de> (raw)
In-Reply-To: <CAMuHMdUUO3oC5+f9G=scwcySr17puO3ozrW746xcuhAkWGy8tg@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 1785 bytes --]
Hi
Am 26.04.23 um 16:41 schrieb Geert Uytterhoeven:
> Hi Thomas,
>
> On Tue, Apr 25, 2023 at 4:28 PM Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> Always return the number of bytes read or written within the
>> framebuffer. Only return an errno code if framebuffer memory
>> was not touched. This is the semantics required by POSIX and
>> makes fb_read() and fb_write() compatible with IGT tests. [1]
>>
>> This bug has been fixed for fb_write() long ago by
>> commit 6a2a88668e90 ("[PATCH] fbdev: Fix return error of
>> fb_write"). The code in fb_read() and the corresponding fb_sys_()
>> helpers was forgotten.
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Link: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/blob/master/tests/fbdev.c # 1
>
> Thanks for your patch!
>
>> --- a/drivers/video/fbdev/core/fbmem.c
>> +++ b/drivers/video/fbdev/core/fbmem.c
>> @@ -820,7 +820,7 @@ fb_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
>>
>> kfree(buffer);
>>
>> - return (err) ? err : cnt;
>> + return cnt ? cnt : err;
>> }
>
> Looks all good to me, so
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
>
> However, shouldn't the copy_to_user() handling in fb_read() be fixed,
> too?
That's a good point. It doesn't necessarily copy all given bytes and can
thus return the wrong result. The IGT tests passed anyway, but I'll fix
it in v2.
Best regards
Thomas
>
> Gr{oetje,eeting}s,
>
> Geert
>
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Thomas Zimmermann <tzimmermann@suse.de>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: linux-fbdev@vger.kernel.org, teddy.wang@siliconmotion.com,
deller@gmx.de, javierm@redhat.com,
dri-devel@lists.freedesktop.org, sudipm.mukherjee@gmail.com
Subject: Re: [PATCH 1/6] fbdev: Return number of bytes read or written
Date: Wed, 26 Apr 2023 17:01:49 +0200 [thread overview]
Message-ID: <c6cf2f7c-ef32-287c-2b3a-e08a96176af5@suse.de> (raw)
In-Reply-To: <CAMuHMdUUO3oC5+f9G=scwcySr17puO3ozrW746xcuhAkWGy8tg@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 1785 bytes --]
Hi
Am 26.04.23 um 16:41 schrieb Geert Uytterhoeven:
> Hi Thomas,
>
> On Tue, Apr 25, 2023 at 4:28 PM Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> Always return the number of bytes read or written within the
>> framebuffer. Only return an errno code if framebuffer memory
>> was not touched. This is the semantics required by POSIX and
>> makes fb_read() and fb_write() compatible with IGT tests. [1]
>>
>> This bug has been fixed for fb_write() long ago by
>> commit 6a2a88668e90 ("[PATCH] fbdev: Fix return error of
>> fb_write"). The code in fb_read() and the corresponding fb_sys_()
>> helpers was forgotten.
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Link: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/blob/master/tests/fbdev.c # 1
>
> Thanks for your patch!
>
>> --- a/drivers/video/fbdev/core/fbmem.c
>> +++ b/drivers/video/fbdev/core/fbmem.c
>> @@ -820,7 +820,7 @@ fb_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
>>
>> kfree(buffer);
>>
>> - return (err) ? err : cnt;
>> + return cnt ? cnt : err;
>> }
>
> Looks all good to me, so
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
>
> However, shouldn't the copy_to_user() handling in fb_read() be fixed,
> too?
That's a good point. It doesn't necessarily copy all given bytes and can
thus return the wrong result. The IGT tests passed anyway, but I'll fix
it in v2.
Best regards
Thomas
>
> Gr{oetje,eeting}s,
>
> Geert
>
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]
next prev parent reply other threads:[~2023-04-26 15:01 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-25 14:28 [PATCH 0/6] drm,fbdev: Use fbdev's I/O helpers Thomas Zimmermann
2023-04-25 14:28 ` Thomas Zimmermann
2023-04-25 14:28 ` [PATCH 1/6] fbdev: Return number of bytes read or written Thomas Zimmermann
2023-04-25 14:28 ` Thomas Zimmermann
2023-04-25 16:15 ` Javier Martinez Canillas
2023-04-25 16:15 ` Javier Martinez Canillas
2023-04-26 9:43 ` [1/6] " Sui Jingfeng
2023-04-26 14:41 ` [PATCH 1/6] " Geert Uytterhoeven
2023-04-26 14:41 ` Geert Uytterhoeven
2023-04-26 15:01 ` Thomas Zimmermann [this message]
2023-04-26 15:01 ` Thomas Zimmermann
2023-04-25 14:28 ` [PATCH 2/6] fbdev: Use screen_buffer in fb_sys_{read,write}() Thomas Zimmermann
2023-04-25 14:28 ` Thomas Zimmermann
2023-04-25 16:35 ` Javier Martinez Canillas
2023-04-25 16:35 ` Javier Martinez Canillas
2023-04-26 14:14 ` Thomas Zimmermann
2023-04-26 14:43 ` Geert Uytterhoeven
2023-04-26 14:43 ` Geert Uytterhoeven
2023-04-26 9:47 ` [2/6] " Sui Jingfeng
2023-04-25 14:28 ` [PATCH 3/6] fbdev: Don't re-validate info->state in fb_ops implementations Thomas Zimmermann
2023-04-25 14:28 ` Thomas Zimmermann
2023-04-25 16:38 ` Javier Martinez Canillas
2023-04-25 16:38 ` Javier Martinez Canillas
2023-04-26 9:49 ` [3/6] " Sui Jingfeng
2023-04-26 14:49 ` [PATCH 3/6] " Geert Uytterhoeven
2023-04-26 14:49 ` Geert Uytterhoeven
2023-04-26 15:07 ` Thomas Zimmermann
2023-04-26 15:07 ` Thomas Zimmermann
2023-04-25 14:28 ` [PATCH 4/6] fbdev: Validate info->screen_{base,buffer} " Thomas Zimmermann
2023-04-25 14:28 ` [PATCH 4/6] fbdev: Validate info->screen_{base, buffer} " Thomas Zimmermann
2023-04-25 16:39 ` [PATCH 4/6] fbdev: Validate info->screen_{base,buffer} " Javier Martinez Canillas
2023-04-25 16:39 ` Javier Martinez Canillas
2023-04-26 10:24 ` [4/6] fbdev: Validate info->screen_{base, buffer} " Sui Jingfeng
2023-04-26 14:56 ` [PATCH 4/6] fbdev: Validate info->screen_{base,buffer} " Geert Uytterhoeven
2023-04-26 14:56 ` [PATCH 4/6] fbdev: Validate info->screen_{base, buffer} " Geert Uytterhoeven
2023-04-27 13:54 ` [PATCH 4/6] fbdev: Validate info->screen_{base,buffer} " Thomas Zimmermann
2023-04-27 13:54 ` [PATCH 4/6] fbdev: Validate info->screen_{base, buffer} " Thomas Zimmermann
2023-04-25 14:28 ` [PATCH 5/6] fbdev: Move CFB read and write code into helper functions Thomas Zimmermann
2023-04-25 14:28 ` Thomas Zimmermann
2023-04-25 16:47 ` Javier Martinez Canillas
2023-04-25 16:47 ` Javier Martinez Canillas
2023-04-26 5:16 ` kernel test robot
2023-04-26 5:16 ` kernel test robot
2023-04-26 14:24 ` Thomas Zimmermann
2023-04-26 14:24 ` Thomas Zimmermann
2023-04-26 6:07 ` kernel test robot
2023-04-26 6:07 ` kernel test robot
2023-04-26 6:47 ` kernel test robot
2023-04-26 6:47 ` kernel test robot
2023-04-26 10:25 ` [5/6] " Sui Jingfeng
2023-04-26 15:01 ` [PATCH 5/6] " Geert Uytterhoeven
2023-04-26 15:01 ` Geert Uytterhoeven
2023-04-26 15:06 ` Thomas Zimmermann
2023-04-26 15:06 ` Thomas Zimmermann
2023-04-26 15:21 ` Geert Uytterhoeven
2023-04-26 15:21 ` Geert Uytterhoeven
2023-04-28 11:20 ` Thomas Zimmermann
2023-04-28 11:20 ` Thomas Zimmermann
2023-04-28 12:20 ` Geert Uytterhoeven
2023-04-28 12:20 ` Geert Uytterhoeven
2023-04-25 14:28 ` [PATCH 6/6] drm/fb-helper: Use fb_{cfb,sys}_{read, write}() Thomas Zimmermann
2023-04-25 14:28 ` Thomas Zimmermann
2023-04-25 16:50 ` Javier Martinez Canillas
2023-04-25 16:50 ` Javier Martinez Canillas
2023-04-26 10:26 ` [6/6] " Sui Jingfeng
2023-04-26 15:15 ` [PATCH 6/6] " Geert Uytterhoeven
2023-04-26 15:15 ` Geert Uytterhoeven
2023-04-28 11:25 ` Thomas Zimmermann
2023-04-28 11:25 ` Thomas Zimmermann
2023-04-25 19:17 ` [PATCH 0/6] drm,fbdev: Use fbdev's I/O helpers Helge Deller
2023-04-25 19:17 ` Helge Deller
2023-04-26 10:33 ` Sui Jingfeng
2023-04-26 11:22 ` Thomas Zimmermann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c6cf2f7c-ef32-287c-2b3a-e08a96176af5@suse.de \
--to=tzimmermann@suse.de \
--cc=airlied@gmail.com \
--cc=daniel@ffwll.ch \
--cc=deller@gmx.de \
--cc=dri-devel@lists.freedesktop.org \
--cc=geert@linux-m68k.org \
--cc=javierm@redhat.com \
--cc=linux-fbdev@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=sudipm.mukherjee@gmail.com \
--cc=teddy.wang@siliconmotion.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.