• T
    loader: Check access size when calling rom_ptr() to avoid crashes · 0f0f8b61
    Thomas Huth 提交于
    The rom_ptr() function allows direct access to the ROM blobs that we
    load during startup. However, there are currently no checks for the
    size of the accesses, so it's currently possible to crash QEMU for
    example with:
    
    $ echo "Insane in the mainframe" > /tmp/test.txt
    $ s390x-softmmu/qemu-system-s390x -kernel /tmp/test.txt -append xyz
    Segmentation fault (core dumped)
    $ s390x-softmmu/qemu-system-s390x -kernel /tmp/test.txt -initrd /tmp/test.txt
    Segmentation fault (core dumped)
    $ echo -n HdrS > /tmp/hdr.txt
    $ sparc64-softmmu/qemu-system-sparc64 -kernel /tmp/hdr.txt -initrd /tmp/hdr.txt
    Segmentation fault (core dumped)
    
    We need a possibility to check the size of the ROM area that we want
    to access, thus let's add a size parameter to the rom_ptr() function
    to avoid these problems.
    Acked-by: NChristian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: NThomas Huth <thuth@redhat.com>
    Message-Id: <1530005740-25254-1-git-send-email-thuth@redhat.com>
    Signed-off-by: NCornelia Huck <cohuck@redhat.com>
    0f0f8b61
sun4m.c 45.6 KB