• Michael Brown's avatar
    [image] Make image data read-only to most consumers · 05ad7833
    Michael Brown authored
    
    
    Almost all image consumers do not need to modify the content of the
    image.  Now that the image data is a pointer type (rather than the
    opaque userptr_t type), we can rely on the compiler to enforce this at
    build time.
    
    Change the .data field to be a const pointer, so that the compiler can
    verify that image consumers do not modify the image content.  Provide
    a transparent .rwdata field for consumers who have a legitimate (and
    now explicit) reason to modify the image content.
    
    We do not attempt to impose any runtime restriction on checking
    whether or not an image is writable.  The only existing instances of
    genuinely read-only images are the various unit test images, and it is
    acceptable for defective test cases to result in a segfault rather
    than a runtime error.
    
    Signed-off-by: default avatarMichael Brown <mcb30@ipxe.org>
    05ad7833