Commit 8a430d74 authored by Evgeniy's avatar Evgeniy Committed by Linus Torvalds

[PATCH] Fix oops in ufs_fill_super at mount time

There's a lack of parenthesis in fs/ufs/utils.h, so instead of the 512th
byte of buffer, the usb2 pointer will point to the nth structure of type
ufs_super_block_second.

This can cause a mount-time oops if you're unlucky (especially with
DEBUG_PAGEALLOC, which is how Alexey Dobriyan saw this problem)
Signed-off-by: default avatarEvgeniy Dushistov <dushistov@mail.ru>
Acked-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 43ecb9a3
...@@ -255,8 +255,8 @@ extern void _ubh_memcpyubh_(struct ufs_sb_private_info *, struct ufs_buffer_head ...@@ -255,8 +255,8 @@ extern void _ubh_memcpyubh_(struct ufs_sb_private_info *, struct ufs_buffer_head
((struct ufs_super_block_first *)((ubh)->bh[0]->b_data)) ((struct ufs_super_block_first *)((ubh)->bh[0]->b_data))
#define ubh_get_usb_second(ubh) \ #define ubh_get_usb_second(ubh) \
((struct ufs_super_block_second *)(ubh)-> \ ((struct ufs_super_block_second *)((ubh)->\
bh[UFS_SECTOR_SIZE >> uspi->s_fshift]->b_data + (UFS_SECTOR_SIZE & ~uspi->s_fmask)) bh[UFS_SECTOR_SIZE >> uspi->s_fshift]->b_data + (UFS_SECTOR_SIZE & ~uspi->s_fmask)))
#define ubh_get_usb_third(ubh) \ #define ubh_get_usb_third(ubh) \
((struct ufs_super_block_third *)((ubh)-> \ ((struct ufs_super_block_third *)((ubh)-> \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment