qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [PATCH 00/10] Remove deprecated load_image() function


From: Michael S. Tsirkin
Subject: Re: [Qemu-block] [PATCH 00/10] Remove deprecated load_image() function
Date: Wed, 5 Dec 2018 08:58:57 -0500

On Fri, Nov 30, 2018 at 03:17:02PM +0000, Peter Maydell wrote:
> This patchset removes the load_image() function, which we noted
> in a comment as being deprecated in 2008 but were still using
> in a handful of places. All the use cases are bugs of some
> kind or another, either straightforward "no length checking
> at all" or "doesn't cope with the file getting larger between
> get_image_size()'s length check and the read in load_image()".
> IRC consensus was that this doesn't rise to the level of a
> security issue since the images being loaded should either
> be trusted or the management layer app should be fencing things
> off to ensure they don't change underfoot.
> 
> The replacement is either:
>  * g_file_get_contents(), in places where we were previously
>    explicitly g_malloc()ing a buffer to load the image
>  * load_image_size(), in places where we load the image
>    into a pre-existing buffer, MemoryRegion, etc
> 
> The final patch in the series adds a documentation comment
> for load_image_size().
> 
> Notes:
>  * tested only with "make check"
>  * I'm not a huge fan of load_image_size()'s "truncate overlength
>    images" (as opposed to considering that an error), but I've
>    documented what we have, rather than what we might like to have
>  * some of the callsites of load_image() had no error checking;
>    I've added it as part of the changeover
> 
> thanks
> -- PMM
> 
> Peter Maydell (10):
>   hw/ppc/mac_newworld, mac_oldworld: Don't use load_image()
>   hw/ppc/ppc405_boards: Don't use load_image()
>   hw/smbios/smbios.c: Don't use load_image()
>   hw/pci/pci.c: Don't use load_image()
>   hw/i386/pc.c: Don't use load_image()
>   hw/i386/multiboot.c: Don't use load_image()
>   hw/block/tc58128.c: Don't use load_image()
>   device_tree.c: Don't use load_image()
>   hw/core/loader.c: Remove load_image()
>   include/hw/loader.h: Document load_image_size()
> 
>  include/hw/loader.h    | 17 ++++++++++++++++-
>  device_tree.c          |  2 +-
>  hw/block/tc58128.c     |  3 ++-
>  hw/core/loader.c       | 25 -------------------------
>  hw/i386/multiboot.c    |  6 +++++-
>  hw/i386/pc.c           | 22 ++++++++++++----------
>  hw/pci/pci.c           |  6 +++++-
>  hw/ppc/mac_newworld.c  | 10 ++++------
>  hw/ppc/mac_oldworld.c  | 10 ++++------
>  hw/ppc/ppc405_boards.c | 12 ++++++++----
>  hw/smbios/smbios.c     |  2 +-
>  11 files changed, 58 insertions(+), 57 deletions(-)


Reviewed-by: Michael S. Tsirkin <address@hidden>


> -- 
> 2.19.1



reply via email to

[Prev in Thread] Current Thread [Next in Thread]