[OpenBIOS] [PATCH 1/2] iso9660: Fix Forth return value for iso9660_files_open()

Blue Swirl blauwirbel at gmail.com
Mon Sep 27 22:38:42 CEST 2010

On Sun, Sep 26, 2010 at 9:01 PM, Andreas Färber <andreas.faerber at web.de> wrote:
> There's a mixup of 0 and -1. Don't return failure if iso9660_open() succeeded. Don't return success in case
> iso9660_open() or iso9660_mount() failed.
> This resolves both a hang when trying to boot cd:,\\:tbxi and failure to boot either cd:,\ppc\bootinfo.txt
> or cd:,\ppc\chrp\bootfile.exe despite present on the AIX 6.1 disk.

There are still some other problems with iso9660. If I apply these
patches and change Sparc32 to use iso9660 instead of grubfs iso9660,
SILO crashes for example with Aurora 1.0:
Jumping to entry point 00004000 for type 00000005...
switching to new context:
SILO Unhandled Exception 0x00000007
PC = 0xffd02a28 NPC = 0xffd02a2c
Stopping execution

This is unaligned access exception. It seems to happen because ofmem
structure gets corrupted, maybe by free() or malloc() call after
something (iso9660?) has clobbered memory slightly outside of the
allocated area.

More information about the OpenBIOS mailing list