RE: [PATCH V2 1/3] efi: Introduce efi_memmap_free() and efi_memmap_unmap_and_free()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > +/**
> > + * efi_memmap_free - Free memory pointed by new_memmap.map
> > + * @new_memmap: Structure that describes EFI memory map.
> > + *
> > + * Memory is freed depending on the type of allocation performed.
> > + */
> > +static void __init efi_memmap_free(struct efi_memory_map new_memmap)
> 
> ^^ Its not very clear what you mean by the term 'new_memmap' here.
> Also can we pass a pointer to struct efi_memory_map to this function rather
> than passing the entire struct.

Sure! I will change it.

> > +static void __init __efi_memmap_unmap(struct efi_memory_map
> > +new_memmap) {
> > +	if (!new_memmap.late) {
> > +		unsigned long size;
> > +
> > +		size = new_memmap.desc_size * new_memmap.nr_map;
> > +		early_memunmap(new_memmap.map, size);
> 
> Nitpick: May be we can avoid the extra local variable size and directly pass
> 'new_memmap.desc_size * new_memmap.nr_map' while calling
> early_memunmap(). I think the code would still be readable and the calculation
> seems self-explanatory.

Yes, we could do that but that would make early_memunmap() exceed 80 characters limit.
Personally, I feel single line code is more readable when compared to split lines 
and this local variable would anyways be gone once the function returns.

> > +/**
> > + * Unmap and free existing EFI Memory Map i.e. efi.memmap  */ void
> > +__init efi_memmap_unmap_and_free(void) {
> > +	if (!efi_enabled(EFI_MEMMAP)) {
> > +		WARN(1, "EFI_MEMMAP is not enabled");
> 
> Nitpick: Do we really need a WARN() here? May be we can do away with the
> same.

My thought behind adding a WARN() is to let the developer know that he's using the
API in wrong scenario i.e. trying to unmap/free memory map when it's not present.
If we just return, the developer might think that his code isn't buggy when he tries to 
unmap an non-existent EFI memory map.

Regards,
Sai




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux