# \[PATCH\] fbdev: remove unnecessary memset in vfb

- Subsystems: FRAMEBUFFER LAYER, THE REST
- Maintainers: Helge Deller, Linus Torvalds
- List: linux-fbdev
- 4 messages, 3 authors
- Page: https://ratatoskr.run/linux-fbdev/2015/06/4518626/t

## \[PATCH\] fbdev: remove unnecessary memset in vfb

- From: Marcin Chojnacki \<hidden\>
- Date: 2015-06-18 13:02:41 
- Message: https://ratatoskr.run/linux-fbdev/2015/06/4518626.md

```text
In vfb_probe memory is allocated using rvmalloc which automatically
sets the allocated memory to zero. This patch removes the second
unnecessary memset in vfb_probe.

Signed-off-by: Marcin Chojnacki <redacted>
---
 drivers/video/fbdev/vfb.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/video/fbdev/vfb.c b/drivers/video/fbdev/vfb.c
index 70a897b..b2d38b7 100644
--- a/drivers/video/fbdev/vfb.c
+++ b/drivers/video/fbdev/vfb.c
@@ -490,14 +490,6 @@ static int vfb_probe(struct platform_device *dev)
 	if (!(videomemory = rvmalloc(videomemorysize)))
 		return retval;
 
-	/*
-	 * VFB must clear memory to prevent kernel info
-	 * leakage into userspace
-	 * VGA-based drivers MUST NOT clear memory if
-	 * they want to be able to take over vgacon
-	 */
-	memset(videomemory, 0, videomemorysize);
-
 	info = framebuffer_alloc(sizeof(u32) * 256, &dev->dev);
 	if (!info)
 		goto err;
-- 
2.1.4

```

## Re: \[PATCH\] fbdev: remove unnecessary memset in vfb

- From: Tomi Valkeinen \<hidden\>
- Date: 2015-08-20 07:56:34 
- Message: https://ratatoskr.run/linux-fbdev/2015/08/4560887.md

```text


On 18/06/15 16:01, Marcin Chojnacki wrote:
> In vfb_probe memory is allocated using rvmalloc which automatically
> sets the allocated memory to zero. This patch removes the second
> unnecessary memset in vfb_probe.
> 
> Signed-off-by: Marcin Chojnacki <redacted>
> ---
>  drivers/video/fbdev/vfb.c | 8 --------
>  1 file changed, 8 deletions(-)

Thanks, queued for 4.3.

 Tomi

```

## Re: \[PATCH\] fbdev: remove unnecessary memset in vfb

- From: Geert Uytterhoeven \<geert@linux-m68k.org\>
- Date: 2015-08-20 08:21:08 
- Message: https://ratatoskr.run/linux-fbdev/2015/08/4560909.md

```text
On Thu, Jun 18, 2015 at 3:01 PM, Marcin Chojnacki [ref] wrote:
> In vfb_probe memory is allocated using rvmalloc which automatically
> sets the allocated memory to zero. This patch removes the second
> unnecessary memset in vfb_probe.
>
> Signed-off-by: Marcin Chojnacki <redacted>
> ---
>  drivers/video/fbdev/vfb.c | 8 --------
>  1 file changed, 8 deletions(-)
>
> diff --git a/drivers/video/fbdev/vfb.c b/drivers/video/fbdev/vfb.c
> index 70a897b..b2d38b7 100644
> --- a/drivers/video/fbdev/vfb.c
> +++ b/drivers/video/fbdev/vfb.c
> @@ -490,14 +490,6 @@ static int vfb_probe(struct platform_device *dev)
>         if (!(videomemory = rvmalloc(videomemorysize)))
>                 return retval;
>
> -       /*
> -        * VFB must clear memory to prevent kernel info
> -        * leakage into userspace
> -        * VGA-based drivers MUST NOT clear memory if
> -        * they want to be able to take over vgacon
> -        */
> -       memset(videomemory, 0, videomemorysize);
> -

As vfb also serves as a sample driver, I think it would be worthwhile to move
the comment to rvmalloc().

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
```

## Re: \[PATCH\] fbdev: remove unnecessary memset in vfb

- From: Tomi Valkeinen \<hidden\>
- Date: 2015-08-20 09:05:34 
- Message: https://ratatoskr.run/linux-fbdev/2015/08/4560946.md

```text

On 20/08/15 11:21, Geert Uytterhoeven wrote:
> On Thu, Jun 18, 2015 at 3:01 PM, Marcin Chojnacki [ref] wrote:
>> In vfb_probe memory is allocated using rvmalloc which automatically
>> sets the allocated memory to zero. This patch removes the second
>> unnecessary memset in vfb_probe.
>>
>> Signed-off-by: Marcin Chojnacki <redacted>
>> ---
>>  drivers/video/fbdev/vfb.c | 8 --------
>>  1 file changed, 8 deletions(-)
>>
>> diff --git a/drivers/video/fbdev/vfb.c b/drivers/video/fbdev/vfb.c
>> index 70a897b..b2d38b7 100644
>> --- a/drivers/video/fbdev/vfb.c
>> +++ b/drivers/video/fbdev/vfb.c
>> @@ -490,14 +490,6 @@ static int vfb_probe(struct platform_device *dev)
>>         if (!(videomemory = rvmalloc(videomemorysize)))
>>                 return retval;
>>
>> -       /*
>> -        * VFB must clear memory to prevent kernel info
>> -        * leakage into userspace
>> -        * VGA-based drivers MUST NOT clear memory if
>> -        * they want to be able to take over vgacon
>> -        */
>> -       memset(videomemory, 0, videomemorysize);
>> -
> 
> As vfb also serves as a sample driver, I think it would be worthwhile to move
> the comment to rvmalloc().

I changed the patch as follows:


commit c0a3229313d6931a77e0c1e1c22e398c0312bf6f
Author: Marcin Chojnacki [ref]
Date:   Thu Jun 18 15:01:52 2015 +0200

    fbdev: remove unnecessary memset in vfb
    
    In vfb_probe memory is allocated using rvmalloc which automatically
    sets the allocated memory to zero. This patch removes the second
    unnecessary memset in vfb_probe.
    
    Signed-off-by: Marcin Chojnacki [ref]
    Signed-off-by: Tomi Valkeinen [ref]

diff --git a/drivers/video/fbdev/vfb.c b/drivers/video/fbdev/vfb.c
index 70a897b1e458..b9c2f81fb6b9 100644
--- a/drivers/video/fbdev/vfb.c
+++ b/drivers/video/fbdev/vfb.c
@@ -51,7 +51,14 @@ static void *rvmalloc(unsigned long size)
 	if (!mem)
 		return NULL;
 
-	memset(mem, 0, size); /* Clear the ram out, no junk to the user */
+	/*
+	 * VFB must clear memory to prevent kernel info
+	 * leakage into userspace
+	 * VGA-based drivers MUST NOT clear memory if
+	 * they want to be able to take over vgacon
+	 */
+
+	memset(mem, 0, size);
 	adr = (unsigned long) mem;
 	while (size > 0) {
 		SetPageReserved(vmalloc_to_page((void *)adr));
@@ -490,14 +497,6 @@ static int vfb_probe(struct platform_device *dev)
 	if (!(videomemory = rvmalloc(videomemorysize)))
 		return retval;
 
-	/*
-	 * VFB must clear memory to prevent kernel info
-	 * leakage into userspace
-	 * VGA-based drivers MUST NOT clear memory if
-	 * they want to be able to take over vgacon
-	 */
-	memset(videomemory, 0, videomemorysize);
-
 	info = framebuffer_alloc(sizeof(u32) * 256, &dev->dev);
 	if (!info)
 		goto err;

```
