diff mbox

Remove redundant and incorrect memset()

Message ID 1380902566-30867-1-git-send-email-roy.franz@linaro.org
State Accepted
Commit c158c3bf59951bbb44bd7ccca9e6665dfd1617c5
Headers show

Commit Message

Roy Franz Oct. 4, 2013, 4:02 p.m. UTC
Remove a redundant memset() call from efi_relocate_kernel() that
was clearing memory that would be used by BSS in non-compressed
images loaded with this function.  This clear was redundant with
the clearing done in the image itself, and also implemented incorrectly
with a 0 length.

Signed-off-by: Roy Franz <roy.franz@linaro.org>
Acked-by: Mark Salter <msalter@redhat.com>
---
 drivers/firmware/efi/efi-stub-helper.c |    2 --
 1 file changed, 2 deletions(-)

Comments

Ingo Molnar Oct. 4, 2013, 5:33 p.m. UTC | #1
* Roy Franz <roy.franz@linaro.org> wrote:

> Remove a redundant memset() call from efi_relocate_kernel() that
> was clearing memory that would be used by BSS in non-compressed
> images loaded with this function.  This clear was redundant with
> the clearing done in the image itself, and also implemented incorrectly
> with a 0 length.
> 
> Signed-off-by: Roy Franz <roy.franz@linaro.org>
> Acked-by: Mark Salter <msalter@redhat.com>

Note the title:

   [PATCH] Remove redundant and incorrect memset()

if it's both redundant *and* incorrect then the other memset() must be 
incorrect too and must be removed as well ;-)

I suspect you wanted the title to say:

   [PATCH] Remove redundant memset()

?

Thanks,

	Ingo
Roy Franz Oct. 4, 2013, 5:37 p.m. UTC | #2
On Oct 4, 2013 1:33 PM, "Ingo Molnar" <mingo@kernel.org> wrote:
>
>
> * Roy Franz <roy.franz@linaro.org> wrote:
>
> > Remove a redundant memset() call from efi_relocate_kernel() that
> > was clearing memory that would be used by BSS in non-compressed
> > images loaded with this function.  This clear was redundant with
> > the clearing done in the image itself, and also implemented incorrectly
> > with a 0 length.
> >
> > Signed-off-by: Roy Franz <roy.franz@linaro.org>
> > Acked-by: Mark Salter <msalter@redhat.com>
>
> Note the title:
>
>    [PATCH] Remove redundant and incorrect memset()
>
> if it's both redundant *and* incorrect then the other memset() must be
> incorrect too and must be removed as well ;-)
>
> I suspect you wanted the title to say:
>
>    [PATCH] Remove redundant memset()
>
> ?
>
> Thanks,
>
>         Ingo
Hi Ingo,

  The memset being removed is redundant  with a correctly implemented
memset in the kernel itself.   The memset being removed is also incorrect,
with a hard coded length of 0.

Roy
H. Peter Anvin Oct. 4, 2013, 5:38 p.m. UTC | #3
On 10/04/2013 10:33 AM, Ingo Molnar wrote:
> 
> * Roy Franz <roy.franz@linaro.org> wrote:
> 
>> Remove a redundant memset() call from efi_relocate_kernel() that
>> was clearing memory that would be used by BSS in non-compressed
>> images loaded with this function.  This clear was redundant with
>> the clearing done in the image itself, and also implemented incorrectly
>> with a 0 length.
>>
>> Signed-off-by: Roy Franz <roy.franz@linaro.org>
>> Acked-by: Mark Salter <msalter@redhat.com>
> 
> Note the title:
> 
>    [PATCH] Remove redundant and incorrect memset()
> 
> if it's both redundant *and* incorrect then the other memset() must be 
> incorrect too and must be removed as well ;-)
> 
> I suspect you wanted the title to say:
> 
>    [PATCH] Remove redundant memset()
> 

And more importantly:

[PATCH] boot,efi: Remove redundant memset()
Ingo Molnar Oct. 4, 2013, 5:39 p.m. UTC | #4
* Roy Franz <roy.franz@linaro.org> wrote:

> On Oct 4, 2013 1:33 PM, "Ingo Molnar" <mingo@kernel.org> wrote:
> >
> >
> > * Roy Franz <roy.franz@linaro.org> wrote:
> >
> > > Remove a redundant memset() call from efi_relocate_kernel() that
> > > was clearing memory that would be used by BSS in non-compressed
> > > images loaded with this function.  This clear was redundant with
> > > the clearing done in the image itself, and also implemented incorrectly
> > > with a 0 length.
> > >
> > > Signed-off-by: Roy Franz <roy.franz@linaro.org>
> > > Acked-by: Mark Salter <msalter@redhat.com>
> >
> > Note the title:
> >
> >    [PATCH] Remove redundant and incorrect memset()
> >
> > if it's both redundant *and* incorrect then the other memset() must be
> > incorrect too and must be removed as well ;-)
> >
> > I suspect you wanted the title to say:
> >
> >    [PATCH] Remove redundant memset()
> >
> > ?
> >
> > Thanks,
> >
> >         Ingo
> Hi Ingo,
> 
>   The memset being removed is redundant  with a correctly implemented
> memset in the kernel itself.   The memset being removed is also incorrect,
> with a hard coded length of 0.

So it was redundantly clearing nothing? ;-)

Anyway, I agree, the title makes sense.

Thanks,

	Ingo
diff mbox

Patch

diff --git a/drivers/firmware/efi/efi-stub-helper.c b/drivers/firmware/efi/efi-stub-helper.c
index cc0581d..b6bffbf 100644
--- a/drivers/firmware/efi/efi-stub-helper.c
+++ b/drivers/firmware/efi/efi-stub-helper.c
@@ -567,8 +567,6 @@  static efi_status_t efi_relocate_kernel(efi_system_table_t *sys_table_arg,
 	 * have been allocated by UEFI, so we can safely use memcpy.
 	 */
 	memcpy((void *)new_addr, (void *)cur_image_addr, image_size);
-	/* Zero any extra space we may have allocated for BSS. */
-	memset((void *)(new_addr + image_size), alloc_size - image_size, 0);
 
 	/* Return the new address of the relocated image. */
 	*image_addr = new_addr;