Correct initialization of the cache doubly-linked list syslinux-4.06-pre11
authorH. Peter Anvin <hpa@zytor.com>
Thu, 19 Jul 2012 14:29:55 +0000 (07:29 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 19 Jul 2012 14:29:55 +0000 (07:29 -0700)
commit0a0e0e41cad93cd16c323cf16f40264a21eedd6c
treef8d2940bdc4d8fcf9a988448b2f6abd1b89d92f3
parent59b77fcf04f4ddfe012c0f613eff1f873e6bd274
Correct initialization of the cache doubly-linked list

The initialization of the cache doubly-linked list had
head->next->prev instead of head->prev->next; this entry is supposed
to initialize the ->next entry of the last entry in the list (which
points back to the head node.)

For clarity, consistently use "head" to refer to the head node; the
mixing of "head" and "dev->cache_head" needlessly obfuscated the code.

The wild pointer reference caused crashes on some systems.

Reported-by: Jan Safrata <jsafrata@centrum.cz>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
core/fs/cache.c