Coverity: jbd_unlock_bh_journal_head(): Memory - corruptions
Hello!
This is an experimental automated report about issues detected by Coverity from a scan of next-20191108 as part of the linux-next weekly scan project:
https://scan.coverity.com/projects/linux-next-weekly-scan
You're getting this email because you were associated with the identified lines of code (noted below) that were touched by recent commits:
c290ea01abb7 ("fs: Remove ext3 filesystem driver")
Coverity reported the following:
*** CID 1487847: Memory - corruptions (ARRAY_VS_SINGLETON) /include/linux/jbd2.h: 351 in jbd_unlock_bh_journal_head()
345 {
346 bit_spin_lock(BH_JournalHead, &bh->b_state);
347 }
348
349 static inline void jbd_unlock_bh_journal_head(struct buffer_head *bh)
350 {
vvv CID 1487847: Memory - corruptions (ARRAY_VS_SINGLETON)
vvv Passing "&bh->b_state" to function "bit_spin_unlock" which uses it as an array. This might corrupt or misinterpret adjacent memory locations.
351 bit_spin_unlock(BH_JournalHead, &bh->b_state);
352 }353
354 #define J_ASSERT(assert) BUG_ON(!(assert))
355
356 #define J_ASSERT_BH(bh, expr) J_ASSERT(expr)
If this is a false positive, please let us know so we can mark it as such, or teach the Coverity rules to be smarter. If not, please make sure fixes get into linux-next. :) For patches fixing this, please include these lines (but double-check the "Fixes" first):
Addresses-Coverity-ID: 1487847 ("Memory - corruptions")
Thanks for your attention!
Signature · 1 line
Coverity-bot
Hello,
Quoted 13 lines · coverity-bot
This is an experimental automated report about issues detected by Coverity from a scan of next-20191108 as part of the linux-next weekly scan project:
https://scan.coverity.com/projects/linux-next-weekly-scanYou're getting this email because you were associated with the identified lines of code (noted below) that were touched by recent commits:
c290ea01abb7("fs: Remove ext3 filesystem driver")Coverity reported the following:
*** CID 1487847: Memory - corruptions (
ARRAY_VS_SINGLETON) /include/linux/jbd2.h: 351 injbd_unlock_bh_journal_head()
Quoted 10 lines
345 {
346 bit_spin_lock(BH_JournalHead, &bh->b_state);
347 }
348
349 static inline void jbd_unlock_bh_journal_head(struct buffer_head *bh)
350 {
vvv CID 1487847: Memory - corruptions (ARRAY_VS_SINGLETON)
vvv Passing "&bh->b_state" to function "bit_spin_unlock" which uses it as an array. This might corrupt or misinterpret adjacent memory locations.
351 bit_spin_unlock(BH_JournalHead, &bh->b_state);
352 }This is obviously false positive. I guess coverity needs to learn about bit-spinlocks so that it doesn't generate false positive report about each usage?
Honza
Quoted 19 lines
353
354 #defineJ_ASSERT(assert)BUG_ON(!(assert))
355
356 #defineJ_ASSERT_BH(bh, expr)J_ASSERT(expr)If this is a false positive, please let us know so we can mark it as such, or teach the Coverity rules to be smarter. If not, please make sure fixes get into linux-next. :) For patches fixing this, please include these lines (but double-check the "Fixes" first):
Reported-by coverity-bot <[email protected]>Addresses-Coverity-ID: 1487847 ("Memory - corruptions")
Fixes c290ea01abb7 ("fs: Remove ext3 filesystem driver")Thanks for your attention!
Signature · 1 line
Coverity-bot
Signature · 2 lines
Jan Kara <[email protected]> SUSE Labs, CR
Quoted 27 lines · Jan Kara
Hello,
Quoted 13 lines · coverity-bot
This is an experimental automated report about issues detected by Coverity from a scan of next-20191108 as part of the linux-next weekly scan project:
https://scan.coverity.com/projects/linux-next-weekly-scanYou're getting this email because you were associated with the identified lines of code (noted below) that were touched by recent commits:
c290ea01abb7("fs: Remove ext3 filesystem driver")Coverity reported the following:
*** CID 1487847: Memory - corruptions (
ARRAY_VS_SINGLETON) /include/linux/jbd2.h: 351 injbd_unlock_bh_journal_head()Quoted 10 lines
345 { 346 bit_spin_lock(BH_JournalHead, &bh->b_state); 347 } 348 349 static inline void jbd_unlock_bh_journal_head(struct buffer_head *bh) 350 { vvv CID 1487847: Memory - corruptions (ARRAY_VS_SINGLETON) vvv Passing "&bh->b_state" to function "bit_spin_unlock" which uses it as an array. This might corrupt or misinterpret adjacent memory locations. 351 bit_spin_unlock(BH_JournalHead, &bh->b_state); 352 }
Quoted 3 lines
This is obviously false positive. I guess coverity needs to learn about bit-spinlocks so that it doesn't generate false positive report about each usage?
Yeah, that's a pretty weird glitch on Coverity's part. I've taken a note on this subset of warnings. Thanks for looking at it!
Signature · 1 line
Kees Cook