diff -ur devbios-0.2.100/ChangeLog devbios-p-0.2.100/ChangeLog --- devbios-0.2.100/ChangeLog Tue Aug 18 12:23:57 1998 +++ devbios-p-0.2.100/ChangeLog Sun Sep 6 00:28:28 1998 @@ -1,5 +1,16 @@ ChangeLog for /dev/bios +** 09/06/98 * ??????? ************************************************ + +patches by prumpf@jcsbs.lanobis.de: + + * The pointer to bios_release in bios.c was on the flush pointer's + position. This caused Oopses. + * When bios_read was called with a file position after the actual end + of bios, it tried to read non-existant memory positions due to size + being unsigned (it isn't anymore) , causing spontaneous reboots on + my system + ** 08/18/98 * 0.2.100 ************************************************ * Threw out the mem_type stuff. There are more important things than diff -ur devbios-0.2.100/bios.c devbios-p-0.2.100/bios.c --- devbios-0.2.100/bios.c Tue Aug 18 12:38:18 1998 +++ devbios-p-0.2.100/bios.c Sun Sep 6 00:20:42 1998 @@ -418,7 +418,7 @@ static ssize_t bios_read(struct file *file, char *buffer, size_t count, loff_t *ppos) { - unsigned int size=((BIOS_SIZE-*ppos>count) ? count : BIOS_SIZE-*ppos); + signed int size=((BIOS_SIZE-*ppos>count) ? count : BIOS_SIZE-*ppos); int i; bios=flashdevices[FDEV].start; @@ -620,6 +620,7 @@ NULL, /* No ioctl */ NULL, /* No mmap */ bios_open, + NULL, /* No flush */ bios_release };