2010-07-18 13:57:18

by shenghui

[permalink] [raw]
Subject: [PATCH 2/2] turn BUG_ON for out of bound in mb_cache_entry_find_first/mb_cache_entry_find_next

In mb_cache_entry_find_first/mb_cache_entry_find_next, macro
mb_assert is used to do assertion on index, but it just prints
KERN_ERR info if defined.
Currently, only ext2/ext3/ext4 use the function with index set 0.
But for potential usage by other subsystems, I think we shoud report BUG
if we got some index out of bound here.


Following patch is against 2.6.35-rc3, and should be
applied after the first patch.Please check it.

Signed-off-by: Wang Sheng-Hui <[email protected]>
---
fs/mbcache.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/mbcache.c b/fs/mbcache.c
index 5697d9e..ed25979 100644
--- a/fs/mbcache.c
+++ b/fs/mbcache.c
@@ -614,7 +614,7 @@ mb_cache_entry_find_first(struct mb_cache *cache,
int index,
struct list_head *l;
struct mb_cache_entry *ce;

- mb_assert(index < mb_cache_indexes(cache));
+ BUG_ON((index < 0) || (index >= mb_cache_indexes(cache)));
spin_lock(&mb_cache_spinlock);
l = cache->c_indexes_hash[index][bucket].next;
ce = __mb_cache_entry_find(l, &cache->c_indexes_hash[index][bucket],
@@ -652,7 +652,7 @@ mb_cache_entry_find_next(struct mb_cache_entry
*prev, int index,
struct list_head *l;
struct mb_cache_entry *ce;

- mb_assert(index < mb_cache_indexes(cache));
+ BUG_ON((index < 0) || (index >= mb_cache_indexes(cache)));
spin_lock(&mb_cache_spinlock);
l = prev->e_indexes[index].o_list.next;
ce = __mb_cache_entry_find(l, &cache->c_indexes_hash[index][bucket],
--
1.7.1.1



--
Thanks and Regards,
shenghui

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>


2010-07-18 13:59:39

by shenghui

[permalink] [raw]
Subject: Re: [PATCH 2/2] turn BUG_ON for out of bound in mb_cache_entry_find_first/mb_cache_entry_find_next

在 2010年7月18日 下午9:57,Wang Sheng-Hui <[email protected]> 写道:
> In mb_cache_entry_find_first/mb_cache_entry_find_next, macro
> mb_assert is used to do assertion on index, but it just prints
> KERN_ERR info if defined.
> Currently, only ext2/ext3/ext4 use the function with index set 0.
> But for potential usage by other subsystems, I think we shoud report BUG
> if we got some index out of bound here.
>
>
> Following patch is against 2.6.35-rc3, and should be
> applied after the first patch.Please check it.
>

Sorry, made a typo. It's against 2.6.35-rc5.

--


Thanks and Best Regards,
shenghui

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href
ilto:"[email protected]"> [email protected] </a>