Messages in this thread | | | From | "lk" <> | Subject | alloc_page_buffers() - kernel panic? | Date | Wed, 28 Sep 2005 15:20:45 +0530 |
| |
I was looking at the fs(buffer.c) code, An observation:
alloc_page_buffers() is called from the function create_empty_buffers() . If the memory allocation for the buffer head (through kmem_cache_alloc) fails the allocation is retried till successful for async I/O. However for synchronous I/O no such handling is done and create_buffer will return NULL which is not checked in the calling function. The pointer returned by NULL is used without checking for the NULL condition. This would result in a kernel panic when alloc_page_buffers() is not able to allocate buffer heads from the cache for sync I/O.
Is anyone aware of the thought process behind this difference in implementation for sync and async I/O.
regards lk
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |