diff options
author | Wengang Wang <wen.gang.wang@oracle.com> | 2010-06-30 20:23:30 +0800 |
---|---|---|
committer | Joel Becker <joel.becker@oracle.com> | 2010-07-12 13:56:14 -0700 |
commit | f471c9df922a80ca9af1d9a490b4aab3f990ec19 (patch) | |
tree | 554116c78b9345c7bc0741bbc6be1fd7d5d390d4 | |
parent | 693c241a5f6aa01417f5f4caf9f82e60e316398d (diff) | |
download | blackbird-op-linux-f471c9df922a80ca9af1d9a490b4aab3f990ec19.tar.gz blackbird-op-linux-f471c9df922a80ca9af1d9a490b4aab3f990ec19.zip |
ocfs2/dlm: don't access beyond bitmap size
dlm->recovery_map is defined as
unsigned long recovery_map[BITS_TO_LONGS(O2NM_MAX_NODES)];
We should treat O2NM_MAX_NODES as the bit map size in bits.
This patches fixes a bit operation that takes O2NM_MAX_NODES + 1 as bitmap size.
Signed-off-by: Wengang Wang <wen.gang.wang@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
-rw-r--r-- | fs/ocfs2/dlm/dlmrecovery.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ocfs2/dlm/dlmrecovery.c b/fs/ocfs2/dlm/dlmrecovery.c index f8b75ce4be70..9dfaac73b36d 100644 --- a/fs/ocfs2/dlm/dlmrecovery.c +++ b/fs/ocfs2/dlm/dlmrecovery.c @@ -463,7 +463,7 @@ static int dlm_do_recovery(struct dlm_ctxt *dlm) if (dlm->reco.dead_node == O2NM_INVALID_NODE_NUM) { int bit; - bit = find_next_bit (dlm->recovery_map, O2NM_MAX_NODES+1, 0); + bit = find_next_bit (dlm->recovery_map, O2NM_MAX_NODES, 0); if (bit >= O2NM_MAX_NODES || bit < 0) dlm_set_reco_dead_node(dlm, O2NM_INVALID_NODE_NUM); else |