[syslinux] [PATCH] fix for boot crash of syslinux-4.xx
H. Peter Anvin
hpa at zytor.com
Mon Feb 20 13:00:59 PST 2012
On 10/21/2011 12:19 AM, Jan Safrata wrote:
>
>
> Dissecting syslinux source code reveals, that the problem is within
> core/fs/cache.c
> function cache_init(), where seems to be an invalid pointer used to store an
> initial value - following patch fixes the problem by commenting out the
> offending line, that seems not to be needed anyway:
>
> --- syslinux-4.04/core/fs/cache.c-orig 2011-04-18 23:24:17.000000000 +0200
> +++ syslinux-4.04/core/fs/cache.c 2011-09-29 10:54:46.000000000 +0200
> @@ -40,7 +40,9 @@ void cache_init(struct device *dev, int
> cache = dev->cache_head + 1; /* First cache descriptor */
>
> head->prev = &cache[dev->cache_entries-1];
> - head->next->prev = dev->cache_head;
> + /* following line crashes on some hw - NULL dereference? */
> + /* head->next->prev = dev->cache_head; */
> + /* it should not be needed anyway, since following loop does it too */
> head->block = -1;
> head->data = NULL;
>
> With that patch, syslinux works perfectly on the atom based embedded board as
> well as on general pc.
>
Thanks for the reminder... I will look into it.
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
More information about the Syslinux
mailing list