summaryrefslogtreecommitdiff
path: root/include/linux/console_struct.h
diff options
context:
space:
mode:
authorAndrew Morton <akpm@digeo.com>2003-03-10 07:42:47 -0800
committerLinus Torvalds <torvalds@home.transmeta.com>2003-03-10 07:42:47 -0800
commitb84ba662012987f8e720f0270c141bb01597902d (patch)
tree014e890726988ad90deeba95ddd65b184ad35fb1 /include/linux/console_struct.h
parent5c31c7796bfccae34b499aa7f7d1d5c6e3237576 (diff)
[PATCH] ext2: fix directory handling bug
Patch from Dave Miller. Fixes a very long-standing bug. If a process has an fd open against a now-removed directory, lookups on that fd will end up calling ext2_find_entry() against a zero-length directory. When this happens ext2_find_entry() will, on the first pass through the loop, set `kaddr' to page_address(page) - 20. Things get confused and the "zero length directory entry" warning triggers. This only happens on 64-bit machines, because ext2_last_byte() is returning an unsigned (32-bit) value, and the arithmetic works out OK for 32-bit machines. So we change ext2_find_entry() to bale out immediately if the directory is zero-length. All other directory-walking functions do this, but ext2_find_entry() forgot to, due to the search-from-the-last-place optimisation.
Diffstat (limited to 'include/linux/console_struct.h')
0 files changed, 0 insertions, 0 deletions