#At file:///home/marko/innobase/dev/mysql2a/5.5-innodb/ based on revid:vasil.dimov@strippedbehst3yqn3e
3120 Marko Mäkelä 2010-05-25
Merge a change from mysql-5.1-innodb:
------------------------------------------------------------
revno: 3481
revision-id: marko.makela@stripped748-pmpehbg29oyhc1ns
parent: marko.makela@strippedm-20100524114349-5kaw52sz0yh4szkb
committer: Marko Mäkelä <marko.makela@stripped>
branch nick: 5.1-innodb
timestamp: Tue 2010-05-25 15:37:48 +0300
message:
Suppress bogus Valgrind warnings about buf_buddy_relocate()
accessing uninitialized memory in Valgrind-instrumented builds.
modified:
mysql-test/valgrind.supp
storage/innobase/buf/buf0buddy.c
=== modified file 'mysql-test/valgrind.supp'
--- a/mysql-test/valgrind.supp revid:vasil.dimov@stripped-20100525073606-fb1h2behst3yqn3e
+++ b/mysql-test/valgrind.supp revid:marko.makela@strippedqruexmc2tua
@@ -740,3 +740,8 @@
fun:pthread_create*
}
+{
+ buf_buddy_relocate peeking (space,page) in potentially free blocks
+ Memcheck:Addr1
+ fun:buf_buddy_relocate
+}
=== modified file 'storage/innobase/buf/buf0buddy.c'
--- a/storage/innobase/buf/buf0buddy.c revid:vasil.dimov@stripped
+++ b/storage/innobase/buf/buf0buddy.c revid:marko.makela@oracle.com-20100525130444-p46qqqruexmc2tua
@@ -446,12 +446,15 @@ buf_buddy_relocate(
pool), so there is nothing wrong about this. The
mach_read_from_4() calls here will only trigger bogus
Valgrind memcheck warnings in UNIV_DEBUG_VALGRIND builds. */
- bpage = buf_page_hash_get(
- buf_pool,
- mach_read_from_4((const byte*) src
- + FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID),
- mach_read_from_4((const byte*) src
- + FIL_PAGE_OFFSET));
+ ulint space = mach_read_from_4(
+ (const byte*) src + FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID);
+ ulint page_no = mach_read_from_4(
+ (const byte*) src + FIL_PAGE_OFFSET);
+ /* Suppress Valgrind warnings about conditional jump
+ on uninitialized value. */
+ UNIV_MEM_VALID(&space, sizeof space);
+ UNIV_MEM_VALID(&page_no, sizeof page_no);
+ bpage = buf_page_hash_get(buf_pool, space, page_no);
if (!bpage || bpage->zip.data != src) {
/* The block has probably been freshly
Attachment: [text/bzr-bundle] bzr/marko.makela@oracle.com-20100525130444-p46qqqruexmc2tua.bundle
| Thread |
|---|
| • bzr commit into mysql-trunk-innodb branch (marko.makela:3120) | marko.makela | 25 May |