diff -ur 2.3.13-pre8/fs/buffer.c 2.3.13-pre8-tmp/fs/buffer.c --- 2.3.13-pre8/fs/buffer.c Sun Aug 8 17:21:37 1999 +++ 2.3.13-pre8-tmp/fs/buffer.c Mon Aug 9 01:21:02 1999 @@ -1911,10 +1911,8 @@ if (!(page = __get_free_page(GFP_BUFFER))) return 0; bh = create_buffers(page, size, 0); - if (!bh) { - free_page(page); - return 0; - } + if (!bh) + goto no_buffer_head; isize = BUFSIZE_INDEX(size); @@ -1944,6 +1942,10 @@ mem_map[MAP_NR(page)].buffers = bh; atomic_add(PAGE_SIZE, &buffermem); return 1; + +no_buffer_head: + free_page(page); + return 0; } /* Only in 2.3.13-pre8-tmp/fs: buffer.c.~1~