You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(32) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
1
(25) |
2
(25) |
3
(5) |
4
(13) |
|
5
(4) |
6
(8) |
7
(6) |
8
|
9
(10) |
10
(15) |
11
(9) |
|
12
(14) |
13
(10) |
14
(24) |
15
(41) |
16
(13) |
17
(9) |
18
(3) |
|
19
(10) |
20
(11) |
21
(28) |
22
(36) |
23
(52) |
24
(36) |
25
(12) |
|
26
(31) |
27
(27) |
28
(20) |
29
(15) |
30
(22) |
31
(17) |
|
|
From: Tom H. <to...@co...> - 2009-07-15 08:46:45
|
On 15/07/09 09:11, Nicholas Nethercote wrote: > On Wed, Jul 15, 2009 at 5:47 PM,<sv...@va...> wrote: > >> Validate the file descriptor argument to fallocate. > > Hmm, I was wondering if something like that was necessary but I was > that fsync and fdatasync didn't have it, nor fadvise64 or fadvise64_64 > or chown16 or fchown16. Looks like we're being inconsistent? We probably are, yes. Tom -- Tom Hughes (to...@co...) http://www.compton.nu/ |
|
From: Nicholas N. <n.n...@gm...> - 2009-07-15 08:11:09
|
On Wed, Jul 15, 2009 at 5:47 PM, <sv...@va...> wrote: > Author: tom > Date: 2009-07-15 08:47:49 +0100 (Wed, 15 Jul 2009) > New Revision: 10463 > > Log: > Validate the file descriptor argument to fallocate. Hmm, I was wondering if something like that was necessary but I was that fsync and fdatasync didn't have it, nor fadvise64 or fadvise64_64 or chown16 or fchown16. Looks like we're being inconsistent? Nick |
|
From: Bart V. A. <bar...@gm...> - 2009-07-15 07:57:23
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-07-15 02:15:39 EDT Ended at 2009-07-15 03:57:00 EDT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 425 tests, 41 stderr failures, 10 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/linux/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 425 tests, 291 stderr failures, 10 stdout failures, 0 post failures == memcheck/tests/addressable (stderr) memcheck/tests/badjump (stderr) memcheck/tests/brk2 (stderr) memcheck/tests/deep_templates (stdout) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-pool-0 (stderr) memcheck/tests/leak-pool-1 (stderr) memcheck/tests/leak-pool-2 (stderr) memcheck/tests/leak-pool-3 (stderr) memcheck/tests/leak-pool-4 (stderr) memcheck/tests/leak-pool-5 (stderr) memcheck/tests/linux/brk (stderr) memcheck/tests/linux/capget (stderr) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/linux-syslog-syscall (stderr) memcheck/tests/lsframe1 (stderr) memcheck/tests/lsframe2 (stderr) memcheck/tests/mallinfo (stderr) memcheck/tests/new_override (stderr) memcheck/tests/noisy_child (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/partial_load_dflt (stderr) memcheck/tests/partial_load_ok (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/supp-dir (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stderr) cachegrind/tests/chdir (stderr) cachegrind/tests/dlclose (stderr) cachegrind/tests/notpower2 (stderr) cachegrind/tests/wrap5 (stderr) callgrind/tests/clreq (stderr) callgrind/tests/notpower2-hwpref (stderr) callgrind/tests/notpower2-use (stderr) callgrind/tests/notpower2-wb (stderr) callgrind/tests/notpower2 (stderr) callgrind/tests/simwork1 (stderr) callgrind/tests/simwork2 (stderr) callgrind/tests/simwork3 (stderr) callgrind/tests/threads (stderr) massif/tests/alloc-fns-A (stderr) massif/tests/alloc-fns-B (stderr) massif/tests/basic (stderr) massif/tests/basic2 (stderr) massif/tests/big-alloc (stderr) massif/tests/custom_alloc (stderr) massif/tests/deep-A (stderr) massif/tests/deep-D (stderr) massif/tests/ignored (stderr) massif/tests/ignoring (stderr) massif/tests/insig (stderr) massif/tests/long-names (stderr) massif/tests/long-time (stderr) massif/tests/new-cpp (stderr) massif/tests/no-stack-no-heap (stderr) massif/tests/null (stderr) massif/tests/one (stderr) massif/tests/overloaded-new (stderr) massif/tests/peak (stderr) massif/tests/thresholds_0_0 (stderr) massif/tests/thresholds_0_10 (stderr) massif/tests/thresholds_10_0 (stderr) massif/tests/thresholds_10_10 (stderr) massif/tests/thresholds_5_0 (stderr) massif/tests/thresholds_5_10 (stderr) massif/tests/zero1 (stderr) massif/tests/zero2 (stderr) lackey/tests/true (stderr) none/tests/ansi (stderr) none/tests/args (stderr) none/tests/bitfield1 (stderr) none/tests/bug129866 (stderr) none/tests/closeall (stderr) none/tests/coolo_sigaction (stderr) none/tests/coolo_strlen (stderr) none/tests/discard (stderr) none/tests/empty-exe (stderr) none/tests/exec-sigmask (stderr) none/tests/execve (stderr) none/tests/faultstatus (stderr) none/tests/fcntl_setown (stderr) none/tests/fdleak_cmsg (stderr) none/tests/fdleak_creat (stderr) none/tests/fdleak_dup (stderr) none/tests/fdleak_dup2 (stderr) none/tests/fdleak_fcntl (stderr) none/tests/fdleak_ipv4 (stderr) none/tests/fdleak_open (stderr) none/tests/fdleak_pipe (stderr) none/tests/fdleak_socketpair (stderr) none/tests/floored (stderr) none/tests/fucomip (stderr) none/tests/gxx304 (stderr) none/tests/linux/blockfault (stderr) none/tests/linux/mremap (stderr) none/tests/linux/mremap2 (stdout) none/tests/linux/mremap2 (stderr) none/tests/manythreads (stderr) none/tests/map_unaligned (stderr) none/tests/map_unmap (stderr) none/tests/mq (stderr) none/tests/munmap_exe (stderr) none/tests/nestedfns (stderr) none/tests/pending (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-fp (stderr) none/tests/ppc32/jm-int (stderr) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/jm-vmx (stderr) none/tests/ppc32/ldstrev (stderr) none/tests/ppc32/lsw (stderr) none/tests/ppc32/mcrfs (stderr) none/tests/ppc32/mftocrf (stderr) none/tests/ppc32/round (stdout) none/tests/ppc32/round (stderr) none/tests/ppc32/test_fx (stderr) none/tests/ppc32/test_gx (stdout) none/tests/ppc32/test_gx (stderr) none/tests/ppc32/testVMX (stderr) none/tests/ppc32/tw (stderr) none/tests/ppc32/twi (stderr) none/tests/ppc32/xlc_dbl_u32 (stderr) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-fp (stderr) none/tests/ppc64/jm-int (stderr) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/jm-vmx (stderr) none/tests/ppc64/lsw (stderr) none/tests/ppc64/round (stdout) none/tests/ppc64/round (stderr) none/tests/ppc64/tw_td (stderr) none/tests/ppc64/twi_tdi (stderr) none/tests/pth_atfork1 (stderr) none/tests/pth_blockedsig (stderr) none/tests/pth_cancel1 (stderr) none/tests/pth_cancel2 (stderr) none/tests/pth_cvsimple (stderr) none/tests/pth_empty (stderr) none/tests/pth_exit (stderr) none/tests/pth_exit2 (stderr) none/tests/pth_mutexspeed (stderr) none/tests/pth_once (stderr) none/tests/pth_rwlock (stderr) none/tests/pth_stackalign (stderr) none/tests/rcrl (stderr) none/tests/readline1 (stderr) none/tests/resolv (stderr) none/tests/rlimit_nofile (stderr) none/tests/sem (stderr) none/tests/semlimit (stderr) none/tests/sha1_test (stderr) none/tests/shell (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) none/tests/shortpush (stderr) none/tests/shorts (stderr) none/tests/sigstackgrowth (stderr) none/tests/stackgrowth (stderr) none/tests/syscall-restart1 (stderr) none/tests/syscall-restart2 (stderr) none/tests/system (stderr) none/tests/thread-exits (stderr) none/tests/threaded-fork (stderr) none/tests/tls (stderr) none/tests/vgprintf (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/rwlock_test (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc04_free_lock (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc10_rec_lock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc13_laog1 (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc15_laog_lockdel (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) drd/tests/annotate_ignore_read (stderr) drd/tests/annotate_order_1 (stderr) drd/tests/annotate_order_2 (stderr) drd/tests/annotate_order_3 (stderr) drd/tests/annotate_rwlock (stderr) drd/tests/annotate_spinlock (stderr) drd/tests/annotate_trace_memory (stderr) drd/tests/atomic_var (stderr) drd/tests/circular_buffer (stderr) drd/tests/custom_alloc (stderr) drd/tests/fp_race (stderr) drd/tests/fp_race2 (stderr) drd/tests/hg01_all_ok (stderr) drd/tests/hg02_deadlock (stderr) drd/tests/hg03_inherit (stderr) drd/tests/hg04_race (stderr) drd/tests/hg05_race2 (stderr) drd/tests/hg06_readshared (stderr) drd/tests/hold_lock_1 (stderr) drd/tests/hold_lock_2 (stderr) drd/tests/linuxthreads_det (stderr) drd/tests/matinv (stderr) drd/tests/memory_allocation (stderr) drd/tests/monitor_example (stderr) drd/tests/new_delete (stderr) drd/tests/pth_barrier_race (stderr) drd/tests/pth_barrier_reinit (stderr) drd/tests/pth_broadcast (stderr) drd/tests/pth_cancel_locked (stderr) drd/tests/pth_cleanup_handler (stderr) drd/tests/pth_cond_race (stderr) drd/tests/pth_cond_race2 (stderr) drd/tests/pth_cond_race3 (stderr) drd/tests/pth_detached (stderr) drd/tests/pth_detached2 (stderr) drd/tests/pth_inconsistent_cond_wait (stderr) drd/tests/pth_mutex_reinit (stderr) drd/tests/pth_process_shared_mutex (stderr) drd/tests/pth_spinlock (stderr) drd/tests/recursive_mutex (stderr) drd/tests/rwlock_race (stderr) drd/tests/rwlock_test (stderr) drd/tests/sem_as_mutex (stderr) drd/tests/sem_as_mutex2 (stderr) drd/tests/sem_as_mutex3 (stderr) drd/tests/sigalrm (stderr) drd/tests/tc01_simple_race (stderr) drd/tests/tc02_simple_tls (stderr) drd/tests/tc03_re_excl (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc07_hbl1 (stderr) drd/tests/tc08_hbl2 (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc10_rec_lock (stderr) drd/tests/tc11_XCHG (stderr) drd/tests/tc12_rwl_trivial (stderr) drd/tests/tc13_laog1 (stderr) drd/tests/tc15_laog_lockdel (stderr) drd/tests/tc16_byterace (stderr) drd/tests/tc17_sembar (stderr) drd/tests/tc18_semabuse (stderr) drd/tests/tc19_shadowmem (stderr) drd/tests/tc20_verifywrap (stderr) drd/tests/tc20_verifywrap2 (stderr) drd/tests/tc21_pthonce (stderr) drd/tests/tc22_exit_w_lock (stderr) drd/tests/tc23_bogus_condwait (stderr) drd/tests/tc24_nonzero_sem (stderr) drd/tests/thread_name (stderr) drd/tests/trylock (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Jul 15 03:08:03 2009 --- new.short Wed Jul 15 03:57:00 2009 *************** *** 8,16 **** ! == 425 tests, 291 stderr failures, 10 stdout failures, 0 post failures == ! memcheck/tests/addressable (stderr) ! memcheck/tests/badjump (stderr) ! memcheck/tests/brk2 (stderr) memcheck/tests/deep_templates (stdout) - memcheck/tests/describe-block (stderr) - memcheck/tests/erringfds (stderr) memcheck/tests/leak-cases-full (stderr) --- 8,11 ---- ! == 425 tests, 41 stderr failures, 10 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) *************** *** 18,40 **** memcheck/tests/leak-cycle (stderr) - memcheck/tests/leak-pool-0 (stderr) - memcheck/tests/leak-pool-1 (stderr) - memcheck/tests/leak-pool-2 (stderr) - memcheck/tests/leak-pool-3 (stderr) - memcheck/tests/leak-pool-4 (stderr) - memcheck/tests/leak-pool-5 (stderr) - memcheck/tests/linux/brk (stderr) - memcheck/tests/linux/capget (stderr) - memcheck/tests/linux-syscalls-2007 (stderr) - memcheck/tests/linux-syslog-syscall (stderr) - memcheck/tests/lsframe1 (stderr) - memcheck/tests/lsframe2 (stderr) - memcheck/tests/mallinfo (stderr) - memcheck/tests/new_override (stderr) - memcheck/tests/noisy_child (stderr) memcheck/tests/origin5-bz2 (stderr) - memcheck/tests/partial_load_dflt (stderr) - memcheck/tests/partial_load_ok (stderr) - memcheck/tests/partiallydefinedeq (stderr) - memcheck/tests/sigkill (stderr) - memcheck/tests/supp-dir (stderr) memcheck/tests/varinfo1 (stderr) --- 13,15 ---- *************** *** 46,171 **** memcheck/tests/wrap8 (stderr) - cachegrind/tests/chdir (stderr) - cachegrind/tests/dlclose (stderr) - cachegrind/tests/notpower2 (stderr) - cachegrind/tests/wrap5 (stderr) - callgrind/tests/clreq (stderr) - callgrind/tests/notpower2-hwpref (stderr) - callgrind/tests/notpower2-use (stderr) - callgrind/tests/notpower2-wb (stderr) - callgrind/tests/notpower2 (stderr) - callgrind/tests/simwork1 (stderr) - callgrind/tests/simwork2 (stderr) - callgrind/tests/simwork3 (stderr) - callgrind/tests/threads (stderr) - massif/tests/alloc-fns-A (stderr) - massif/tests/alloc-fns-B (stderr) - massif/tests/basic (stderr) - massif/tests/basic2 (stderr) - massif/tests/big-alloc (stderr) - massif/tests/custom_alloc (stderr) - massif/tests/deep-A (stderr) - massif/tests/deep-D (stderr) - massif/tests/ignored (stderr) - massif/tests/ignoring (stderr) - massif/tests/insig (stderr) - massif/tests/long-names (stderr) - massif/tests/long-time (stderr) - massif/tests/new-cpp (stderr) - massif/tests/no-stack-no-heap (stderr) - massif/tests/null (stderr) - massif/tests/one (stderr) - massif/tests/overloaded-new (stderr) - massif/tests/peak (stderr) - massif/tests/thresholds_0_0 (stderr) - massif/tests/thresholds_0_10 (stderr) - massif/tests/thresholds_10_0 (stderr) - massif/tests/thresholds_10_10 (stderr) - massif/tests/thresholds_5_0 (stderr) - massif/tests/thresholds_5_10 (stderr) - massif/tests/zero1 (stderr) - massif/tests/zero2 (stderr) - lackey/tests/true (stderr) - none/tests/ansi (stderr) - none/tests/args (stderr) - none/tests/bitfield1 (stderr) - none/tests/bug129866 (stderr) - none/tests/closeall (stderr) - none/tests/coolo_sigaction (stderr) - none/tests/coolo_strlen (stderr) - none/tests/discard (stderr) none/tests/empty-exe (stderr) - none/tests/exec-sigmask (stderr) - none/tests/execve (stderr) - none/tests/faultstatus (stderr) - none/tests/fcntl_setown (stderr) - none/tests/fdleak_cmsg (stderr) - none/tests/fdleak_creat (stderr) - none/tests/fdleak_dup (stderr) - none/tests/fdleak_dup2 (stderr) - none/tests/fdleak_fcntl (stderr) - none/tests/fdleak_ipv4 (stderr) - none/tests/fdleak_open (stderr) - none/tests/fdleak_pipe (stderr) - none/tests/fdleak_socketpair (stderr) - none/tests/floored (stderr) - none/tests/fucomip (stderr) - none/tests/gxx304 (stderr) - none/tests/linux/blockfault (stderr) none/tests/linux/mremap (stderr) none/tests/linux/mremap2 (stdout) - none/tests/linux/mremap2 (stderr) - none/tests/manythreads (stderr) - none/tests/map_unaligned (stderr) - none/tests/map_unmap (stderr) - none/tests/mq (stderr) - none/tests/munmap_exe (stderr) - none/tests/nestedfns (stderr) - none/tests/pending (stderr) none/tests/ppc32/jm-fp (stdout) - none/tests/ppc32/jm-fp (stderr) - none/tests/ppc32/jm-int (stderr) none/tests/ppc32/jm-vmx (stdout) - none/tests/ppc32/jm-vmx (stderr) - none/tests/ppc32/ldstrev (stderr) - none/tests/ppc32/lsw (stderr) - none/tests/ppc32/mcrfs (stderr) - none/tests/ppc32/mftocrf (stderr) none/tests/ppc32/round (stdout) - none/tests/ppc32/round (stderr) - none/tests/ppc32/test_fx (stderr) none/tests/ppc32/test_gx (stdout) - none/tests/ppc32/test_gx (stderr) - none/tests/ppc32/testVMX (stderr) - none/tests/ppc32/tw (stderr) - none/tests/ppc32/twi (stderr) - none/tests/ppc32/xlc_dbl_u32 (stderr) none/tests/ppc64/jm-fp (stdout) - none/tests/ppc64/jm-fp (stderr) - none/tests/ppc64/jm-int (stderr) none/tests/ppc64/jm-vmx (stdout) - none/tests/ppc64/jm-vmx (stderr) - none/tests/ppc64/lsw (stderr) none/tests/ppc64/round (stdout) - none/tests/ppc64/round (stderr) - none/tests/ppc64/tw_td (stderr) - none/tests/ppc64/twi_tdi (stderr) - none/tests/pth_atfork1 (stderr) - none/tests/pth_blockedsig (stderr) - none/tests/pth_cancel1 (stderr) - none/tests/pth_cancel2 (stderr) - none/tests/pth_cvsimple (stderr) - none/tests/pth_empty (stderr) - none/tests/pth_exit (stderr) - none/tests/pth_exit2 (stderr) - none/tests/pth_mutexspeed (stderr) - none/tests/pth_once (stderr) - none/tests/pth_rwlock (stderr) - none/tests/pth_stackalign (stderr) - none/tests/rcrl (stderr) - none/tests/readline1 (stderr) - none/tests/resolv (stderr) - none/tests/rlimit_nofile (stderr) - none/tests/sem (stderr) - none/tests/semlimit (stderr) - none/tests/sha1_test (stderr) none/tests/shell (stdout) --- 21,32 ---- *************** *** 176,290 **** none/tests/shell_zerolength (stderr) - none/tests/shortpush (stderr) - none/tests/shorts (stderr) - none/tests/sigstackgrowth (stderr) - none/tests/stackgrowth (stderr) - none/tests/syscall-restart1 (stderr) - none/tests/syscall-restart2 (stderr) - none/tests/system (stderr) - none/tests/thread-exits (stderr) - none/tests/threaded-fork (stderr) - none/tests/tls (stderr) - none/tests/vgprintf (stderr) - helgrind/tests/hg01_all_ok (stderr) - helgrind/tests/hg02_deadlock (stderr) - helgrind/tests/hg03_inherit (stderr) - helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) - helgrind/tests/hg06_readshared (stderr) - helgrind/tests/rwlock_race (stderr) - helgrind/tests/rwlock_test (stderr) - helgrind/tests/tc01_simple_race (stderr) - helgrind/tests/tc02_simple_tls (stderr) - helgrind/tests/tc03_re_excl (stderr) - helgrind/tests/tc04_free_lock (stderr) - helgrind/tests/tc05_simple_race (stderr) - helgrind/tests/tc06_two_races (stderr) - helgrind/tests/tc07_hbl1 (stderr) - helgrind/tests/tc08_hbl2 (stderr) - helgrind/tests/tc09_bad_unlock (stderr) - helgrind/tests/tc10_rec_lock (stderr) - helgrind/tests/tc11_XCHG (stderr) - helgrind/tests/tc12_rwl_trivial (stderr) - helgrind/tests/tc13_laog1 (stderr) - helgrind/tests/tc14_laog_dinphils (stderr) - helgrind/tests/tc15_laog_lockdel (stderr) - helgrind/tests/tc16_byterace (stderr) - helgrind/tests/tc17_sembar (stderr) - helgrind/tests/tc18_semabuse (stderr) - helgrind/tests/tc19_shadowmem (stderr) - helgrind/tests/tc20_verifywrap (stderr) - helgrind/tests/tc21_pthonce (stderr) - helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) - helgrind/tests/tc24_nonzero_sem (stderr) - drd/tests/annotate_ignore_read (stderr) - drd/tests/annotate_order_1 (stderr) - drd/tests/annotate_order_2 (stderr) - drd/tests/annotate_order_3 (stderr) - drd/tests/annotate_rwlock (stderr) - drd/tests/annotate_spinlock (stderr) - drd/tests/annotate_trace_memory (stderr) - drd/tests/atomic_var (stderr) - drd/tests/circular_buffer (stderr) - drd/tests/custom_alloc (stderr) - drd/tests/fp_race (stderr) - drd/tests/fp_race2 (stderr) - drd/tests/hg01_all_ok (stderr) - drd/tests/hg02_deadlock (stderr) - drd/tests/hg03_inherit (stderr) - drd/tests/hg04_race (stderr) - drd/tests/hg05_race2 (stderr) - drd/tests/hg06_readshared (stderr) - drd/tests/hold_lock_1 (stderr) - drd/tests/hold_lock_2 (stderr) - drd/tests/linuxthreads_det (stderr) - drd/tests/matinv (stderr) - drd/tests/memory_allocation (stderr) - drd/tests/monitor_example (stderr) - drd/tests/new_delete (stderr) - drd/tests/pth_barrier_race (stderr) - drd/tests/pth_barrier_reinit (stderr) - drd/tests/pth_broadcast (stderr) - drd/tests/pth_cancel_locked (stderr) - drd/tests/pth_cleanup_handler (stderr) - drd/tests/pth_cond_race (stderr) - drd/tests/pth_cond_race2 (stderr) - drd/tests/pth_cond_race3 (stderr) - drd/tests/pth_detached (stderr) - drd/tests/pth_detached2 (stderr) - drd/tests/pth_inconsistent_cond_wait (stderr) - drd/tests/pth_mutex_reinit (stderr) - drd/tests/pth_process_shared_mutex (stderr) - drd/tests/pth_spinlock (stderr) - drd/tests/recursive_mutex (stderr) - drd/tests/rwlock_race (stderr) - drd/tests/rwlock_test (stderr) - drd/tests/sem_as_mutex (stderr) - drd/tests/sem_as_mutex2 (stderr) - drd/tests/sem_as_mutex3 (stderr) - drd/tests/sigalrm (stderr) - drd/tests/tc01_simple_race (stderr) - drd/tests/tc02_simple_tls (stderr) - drd/tests/tc03_re_excl (stderr) - drd/tests/tc04_free_lock (stderr) - drd/tests/tc07_hbl1 (stderr) - drd/tests/tc08_hbl2 (stderr) - drd/tests/tc09_bad_unlock (stderr) - drd/tests/tc10_rec_lock (stderr) - drd/tests/tc11_XCHG (stderr) - drd/tests/tc12_rwl_trivial (stderr) - drd/tests/tc13_laog1 (stderr) - drd/tests/tc15_laog_lockdel (stderr) - drd/tests/tc16_byterace (stderr) - drd/tests/tc17_sembar (stderr) - drd/tests/tc18_semabuse (stderr) - drd/tests/tc19_shadowmem (stderr) - drd/tests/tc20_verifywrap (stderr) - drd/tests/tc20_verifywrap2 (stderr) - drd/tests/tc21_pthonce (stderr) - drd/tests/tc22_exit_w_lock (stderr) - drd/tests/tc23_bogus_condwait (stderr) - drd/tests/tc24_nonzero_sem (stderr) - drd/tests/thread_name (stderr) - drd/tests/trylock (stderr) exp-ptrcheck/tests/bad_percentify (stderr) --- 37,40 ---- |
|
From: <sv...@va...> - 2009-07-15 07:47:58
|
Author: tom
Date: 2009-07-15 08:47:49 +0100 (Wed, 15 Jul 2009)
New Revision: 10463
Log:
Validate the file descriptor argument to fallocate.
Modified:
trunk/coregrind/m_syswrap/syswrap-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2009-07-15 07:18:16 UTC (rev 10462)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2009-07-15 07:47:49 UTC (rev 10463)
@@ -1155,6 +1155,8 @@
ARG1, ARG2, (Long)ARG3, (Long)ARG4);
PRE_REG_READ4(long, "fallocate",
int, fd, int, mode, vki_loff_t, offset, vki_loff_t, len);
+ if (!ML_(fd_allowed)(ARG1, "fallocate", tid, False))
+ SET_STATUS_Failure( VKI_EBADF );
}
/* ---------------------------------------------------------------------
|
|
From: <sv...@va...> - 2009-07-15 07:18:25
|
Author: njn Date: 2009-07-15 08:18:16 +0100 (Wed, 15 Jul 2009) New Revision: 10462 Log: Add details about an interior-pointer case that can occur with C++. Addresses bug 136230. Modified: trunk/memcheck/docs/mc-manual.xml Modified: trunk/memcheck/docs/mc-manual.xml =================================================================== --- trunk/memcheck/docs/mc-manual.xml 2009-07-15 06:39:15 UTC (rev 10461) +++ trunk/memcheck/docs/mc-manual.xml 2009-07-15 07:18:16 UTC (rev 10462) @@ -636,13 +636,31 @@ accessible client memory, including stacks.</para> <para>There are two ways a block can be reached. The first is with a -"start-pointer", i.e. a pointer to the start of the block. The second is -with an "interior-pointer", i.e. a pointer to the middle of the block. The -pointer might have originally been a start-pointer and have been moved -along, or it might be entirely unrelated, just a coincidence. It's unclear -whether such a pointer should be considered as genuinely pointing to the -block.</para> +"start-pointer", i.e. a pointer to the start of the block. The second is with +an "interior-pointer", i.e. a pointer to the middle of the block. There are +three possibilities we know of:</para> +<itemizedlist> + <listitem> + <para>The pointer might have originally been a start-pointer and have been + moved along deliberately (or not deliberately) by the program. + </listitem> + + <listitem> + <para>It might be a random junk value in memory, entirely unrelated, just + a coincidence.</para> + </listitem> + + <listitem> + <para>It might be a pointer to an array of C++ objects (which possess + destructors) allocated with <computeroutput>new[]</computeroutput>. In + this case, some compilers store a "magic cookie" containing the array + length at the start of the allocated block, and return a pointer to just + past that magic cookie, i.e. an interior-pointer. + See <ulink url="http://theory.uwinnipeg.ca/gnu/gcc/gxxint_14.html">this + page</ulink> for more information.</para> + </listitem> + <para>With that in mind, consider the nine possible cases described by the following figure.</para> |
|
From: <sv...@va...> - 2009-07-15 06:39:18
|
Author: njn
Date: 2009-07-15 07:39:15 +0100 (Wed, 15 Jul 2009)
New Revision: 10461
Log:
Add support on Darwin for mount(). Finishes off bug 198624.
Modified:
trunk/coregrind/m_syswrap/priv_syswrap-darwin.h
trunk/coregrind/m_syswrap/syswrap-darwin.c
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/memcheck/tests/darwin/scalar.c
trunk/memcheck/tests/darwin/scalar.stderr.exp
Modified: trunk/coregrind/m_syswrap/priv_syswrap-darwin.h
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-darwin.h 2009-07-15 06:24:57 UTC (rev 10460)
+++ trunk/coregrind/m_syswrap/priv_syswrap-darwin.h 2009-07-15 06:39:15 UTC (rev 10461)
@@ -221,7 +221,7 @@
// 164
// NYI quotactl 165
// old exportfs
-// NYI mount 167
+DECL_TEMPLATE(darwin, mount); // 167
// old ustat
DECL_TEMPLATE(darwin, csops); // 169
// old table
Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-darwin.c 2009-07-15 06:24:57 UTC (rev 10460)
+++ trunk/coregrind/m_syswrap/syswrap-darwin.c 2009-07-15 06:39:15 UTC (rev 10461)
@@ -2114,7 +2114,22 @@
}
}
+PRE(mount)
+{
+ // Nb: depending on 'flags', the 'type' and 'data' args may be ignored.
+ // We are conservative and check everything, except the memory pointed to
+ // by 'data'.
+ *flags |= SfMayBlock;
+ PRINT("sys_mount( %#lx(%s), %#lx(%s), %#lx, %#lx )",
+ ARG1,(Char*)ARG1, ARG2,(Char*)ARG2, ARG3, ARG4);
+ PRE_REG_READ4(long, "mount",
+ const char *, type, const char *, dir,
+ int, flags, void *, data);
+ PRE_MEM_RASCIIZ( "mount(type)", ARG1);
+ PRE_MEM_RASCIIZ( "mount(dir)", ARG2);
+}
+
static void scan_attrlist(ThreadId tid, struct vki_attrlist *attrList,
void *attrBuf, SizeT attrBufSize,
void (*fn)(ThreadId, void *attrData, SizeT size)
@@ -7261,7 +7276,7 @@
_____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(164)), // ???
// _____(__NR_quotactl),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(166)), // old exportfs
-// _____(__NR_mount),
+ MACX_(__NR_mount, mount),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(168)), // old ustat
MACXY(__NR_csops, csops), // code-signing ops
_____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(170)), // old table
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2009-07-15 06:24:57 UTC (rev 10460)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2009-07-15 06:39:15 UTC (rev 10461)
@@ -387,7 +387,8 @@
// We are conservative and check everything, except the memory pointed to
// by 'data'.
*flags |= SfMayBlock;
- PRINT( "sys_mount( %#lx, %#lx, %#lx, %#lx, %#lx )" ,ARG1,ARG2,ARG3,ARG4,ARG5);
+ PRINT("sys_mount( %#lx(%s), %#lx(%s), %#lx(%s), %#lx, %#lx )",
+ ARG1,(Char*)ARG1, ARG2,(Char*)ARG2, ARG3,(Char*)ARG3, ARG4, ARG5);
PRE_REG_READ5(long, "mount",
char *, source, char *, target, char *, type,
unsigned long, flags, void *, data);
Modified: trunk/memcheck/tests/darwin/scalar.c
===================================================================
--- trunk/memcheck/tests/darwin/scalar.c 2009-07-15 06:24:57 UTC (rev 10460)
+++ trunk/memcheck/tests/darwin/scalar.c 2009-07-15 06:39:15 UTC (rev 10461)
@@ -315,7 +315,8 @@
GO_UNIMP(166, "old exportfs");
- // __NR_mount 167
+ GO(__NR_mount, 167, "4s 2m");
+ SY(__NR_mount, x0, x0, x0, x0); FAIL;
GO_UNIMP(168, "old ustat");
Modified: trunk/memcheck/tests/darwin/scalar.stderr.exp
===================================================================
--- trunk/memcheck/tests/darwin/scalar.stderr.exp 2009-07-15 06:24:57 UTC (rev 10460)
+++ trunk/memcheck/tests/darwin/scalar.stderr.exp 2009-07-15 06:39:15 UTC (rev 10461)
@@ -424,6 +424,29 @@
(166): old exportfs
-----------------------------------------------------
-----------------------------------------------------
+x20000a7(167): __NR_mount 4s 2m
+-----------------------------------------------------
+
+Syscall param mount(type) contains uninitialised byte(s)
+ ...
+
+Syscall param mount(dir) contains uninitialised byte(s)
+ ...
+
+Syscall param mount(flags) contains uninitialised byte(s)
+ ...
+
+Syscall param mount(data) contains uninitialised byte(s)
+ ...
+
+Syscall param mount(type) points to unaddressable byte(s)
+ ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
+Syscall param mount(dir) points to unaddressable byte(s)
+ ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+-----------------------------------------------------
(168): old ustat
-----------------------------------------------------
-----------------------------------------------------
@@ -610,6 +633,9 @@
x2000113(275): __NR_sem_init 3s 1m
-----------------------------------------------------
+More than 100 errors detected. Subsequent errors
+will still be recorded, but in less detail than before.
+
Syscall param sem_init(sem) contains uninitialised byte(s)
...
@@ -636,9 +662,6 @@
x2000117(279): __NR_stat_extended 4s 4m
-----------------------------------------------------
-More than 100 errors detected. Subsequent errors
-will still be recorded, but in less detail than before.
-
Syscall param stat_extended(file_name) contains uninitialised byte(s)
...
|
|
From: <sv...@va...> - 2009-07-15 06:25:08
|
Author: njn
Date: 2009-07-15 07:24:57 +0100 (Wed, 15 Jul 2009)
New Revision: 10460
Log:
Added support for getfsstat64() on Darwin. This partly fixes bug 198624.
Fixed a couple of other minor things too.
Modified:
trunk/coregrind/m_syswrap/priv_syswrap-darwin.h
trunk/coregrind/m_syswrap/syswrap-darwin.c
trunk/memcheck/tests/darwin/scalar.c
trunk/memcheck/tests/darwin/scalar.stderr.exp
Modified: trunk/coregrind/m_syswrap/priv_syswrap-darwin.h
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-darwin.h 2009-07-15 06:17:18 UTC (rev 10459)
+++ trunk/coregrind/m_syswrap/priv_syswrap-darwin.h 2009-07-15 06:24:57 UTC (rev 10460)
@@ -336,7 +336,7 @@
// NYI umask_extended 278
DECL_TEMPLATE(darwin, stat_extended); // 279
DECL_TEMPLATE(darwin, lstat_extended); // 280
-// NYI fstat_extended 281
+DECL_TEMPLATE(darwin, fstat_extended); // 281
DECL_TEMPLATE(darwin, chmod_extended); // 282
DECL_TEMPLATE(darwin, fchmod_extended); // 283
// NYI access_extended 284
@@ -398,11 +398,11 @@
DECL_TEMPLATE(darwin, lstat64); // 340
DECL_TEMPLATE(darwin, stat64_extended); // 341
DECL_TEMPLATE(darwin, lstat64_extended); // 342
-// NYI fstat64_extended 343
+DECL_TEMPLATE(darwin, fstat64_extended); // 343
DECL_TEMPLATE(darwin, getdirentries64); // 344
DECL_TEMPLATE(darwin, statfs64); // 345
DECL_TEMPLATE(darwin, fstatfs64); // 346
-// NYI getfsstat64 347
+DECL_TEMPLATE(darwin, getfsstat64); // 347
// NYI __pthread_chdir 348
// NYI __pthread_fchdir 349
// NYI audit 350
Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-darwin.c 2009-07-15 06:17:18 UTC (rev 10459)
+++ trunk/coregrind/m_syswrap/syswrap-darwin.c 2009-07-15 06:24:57 UTC (rev 10460)
@@ -2085,10 +2085,9 @@
struct vki_statfs *, buf, int, bufsize, int, flags);
if (ARG1) {
// ARG2 is a BYTE SIZE
- PRE_MEM_WRITE("getfsstat", ARG1, ARG2);
+ PRE_MEM_WRITE("getfsstat(buf)", ARG1, ARG2);
}
}
-
POST(getfsstat)
{
if (ARG1) {
@@ -2097,7 +2096,25 @@
}
}
+PRE(getfsstat64)
+{
+ PRINT("getfsstat64(%#lx, %ld, %ld)", ARG1, ARG2, ARG3);
+ PRE_REG_READ3(int, "getfsstat64",
+ struct vki_statfs64 *, buf, int, bufsize, int, flags);
+ if (ARG1) {
+ // ARG2 is a BYTE SIZE
+ PRE_MEM_WRITE("getfsstat64(buf)", ARG1, ARG2);
+ }
+}
+POST(getfsstat64)
+{
+ if (ARG1) {
+ // RES is a STRUCT COUNT
+ POST_MEM_WRITE(ARG1, RES * sizeof(struct vki_statfs64));
+ }
+}
+
static void scan_attrlist(ThreadId tid, struct vki_attrlist *attrList,
void *attrBuf, SizeT attrBufSize,
void (*fn)(ThreadId, void *attrData, SizeT size)
@@ -3077,7 +3094,7 @@
vki_pid_t, pid, uint32_t, ops,
void *, useraddr, vki_size_t, usersize);
- PRE_MEM_WRITE( "csops(addr)", ARG3, ARG4 );
+ PRE_MEM_WRITE( "csops(useraddr)", ARG3, ARG4 );
// If the pid is ours, don't mark the program as KILL or HARD
// Maybe we should keep track of this for later calls to STATUS
@@ -3090,7 +3107,6 @@
}
}
}
-
POST(csops)
{
POST_MEM_WRITE( ARG3, ARG4 );
@@ -7425,7 +7441,7 @@
MACXY(__NR_getdirentries64, getdirentries64),
MACXY(__NR_statfs64, statfs64),
MACXY(__NR_fstatfs64, fstatfs64),
-// _____(__NR_getfsstat64),
+ MACXY(__NR_getfsstat64, getfsstat64),
// _____(__NR___pthread_chdir),
// _____(__NR___pthread_fchdir),
// _____(__NR_audit),
Modified: trunk/memcheck/tests/darwin/scalar.c
===================================================================
--- trunk/memcheck/tests/darwin/scalar.c 2009-07-15 06:17:18 UTC (rev 10459)
+++ trunk/memcheck/tests/darwin/scalar.c 2009-07-15 06:24:57 UTC (rev 10460)
@@ -75,7 +75,8 @@
GO_UNIMP(17, "old break");
- // __NR_getfsstat 18
+ GO(__NR_getfsstat, 18, "3s 1m");
+ SY(__NR_getfsstat, x0+1, x0+1, x0); SUCC; // This should fail...
GO_UNIMP(19, "old lseek");
@@ -616,7 +617,10 @@
// __NR_getdirentries64 344
// __NR_statfs64 345
// __NR_fstatfs64 346
- // __NR_getfsstat64 347
+
+ GO(__NR_getfsstat64, 347, "3s 1m");
+ SY(__NR_getfsstat64, x0+1, x0+1, x0); SUCC; // This should fail...
+
// __NR___pthread_chdir 348
// __NR___pthread_fchdir 349
// __NR_audit 350
Modified: trunk/memcheck/tests/darwin/scalar.stderr.exp
===================================================================
--- trunk/memcheck/tests/darwin/scalar.stderr.exp 2009-07-15 06:17:18 UTC (rev 10459)
+++ trunk/memcheck/tests/darwin/scalar.stderr.exp 2009-07-15 06:24:57 UTC (rev 10460)
@@ -184,6 +184,22 @@
(17): old break
-----------------------------------------------------
-----------------------------------------------------
+x2000012(18): __NR_getfsstat 3s 1m
+-----------------------------------------------------
+
+Syscall param getfsstat(buf) contains uninitialised byte(s)
+ ...
+
+Syscall param getfsstat(bufsize) contains uninitialised byte(s)
+ ...
+
+Syscall param getfsstat(flags) contains uninitialised byte(s)
+ ...
+
+Syscall param getfsstat(buf) points to unaddressable byte(s)
+ ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+-----------------------------------------------------
(19): old lseek
-----------------------------------------------------
-----------------------------------------------------
@@ -426,7 +442,7 @@
Syscall param csops(usersize) contains uninitialised byte(s)
...
-Syscall param csops(addr) points to unaddressable byte(s)
+Syscall param csops(useraddr) points to unaddressable byte(s)
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
-----------------------------------------------------
@@ -620,6 +636,9 @@
x2000117(279): __NR_stat_extended 4s 4m
-----------------------------------------------------
+More than 100 errors detected. Subsequent errors
+will still be recorded, but in less detail than before.
+
Syscall param stat_extended(file_name) contains uninitialised byte(s)
...
@@ -632,9 +651,6 @@
Syscall param stat_extended(fsacl_size) contains uninitialised byte(s)
...
-More than 100 errors detected. Subsequent errors
-will still be recorded, but in less detail than before.
-
Syscall param stat_extended(file_name) points to unaddressable byte(s)
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
@@ -870,6 +886,22 @@
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
-----------------------------------------------------
+x200015b(347): __NR_getfsstat64 3s 1m
+-----------------------------------------------------
+
+Syscall param getfsstat64(buf) contains uninitialised byte(s)
+ ...
+
+Syscall param getfsstat64(bufsize) contains uninitialised byte(s)
+ ...
+
+Syscall param getfsstat64(flags) contains uninitialised byte(s)
+ ...
+
+Syscall param getfsstat64(buf) points to unaddressable byte(s)
+ ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+-----------------------------------------------------
(369-379): unused
-----------------------------------------------------
-----------------------------------------------------
|
|
From: <sv...@va...> - 2009-07-15 06:17:27
|
Author: bart Date: 2009-07-15 07:17:18 +0100 (Wed, 15 Jul 2009) New Revision: 10459 Log: Updated Subversion ignore list. Modified: trunk/drd/tests/ Property changes on: trunk/drd/tests ___________________________________________________________________ Name: svn:ignore - *.dSYM *.stderr.diff* *.stderr.out *.stdout.diff* *.stdout.out .deps Makefile Makefile.in annotate_rwlock atomic_var bar_bad bar_trivial boost_thread circular_buffer drd_bitmap_test fp_race hg01_all_ok hg02_deadlock hg03_inherit hg04_race hg05_race2 hg06_readshared hold_lock linuxthreads_det matinv memory_allocation monitor_example new_delete omp_matinv omp_prime omp_printf pth_barrier pth_barrier_race pth_barrier_reinit pth_broadcast pth_cancel_locked pth_cleanup_handler pth_cond_race pth_create_chain pth_create_glibc_2_0 pth_detached pth_detached_sem pth_inconsistent_cond_wait pth_mutex_reinit pth_process_shared_mutex pth_spinlock qt4_mutex qt4_rwlock qt4_semaphore recursive_mutex rwlock_race rwlock_test sem_as_mutex sigalrm tc01_simple_race tc02_simple_tls tc03_re_excl tc04_free_lock tc05_simple_race tc06_two_races tc07_hbl1 tc08_hbl2 tc09_bad_unlock tc10_rec_lock tc11_XCHG tc12_rwl_trivial tc13_laog1 tc15_laog_lockdel tc16_byterace tc17_sembar tc18_semabuse tc19_shadowmem tc20_verifywrap tc21_pthonce tc22_exit_w_lock tc23_bogus_condwait tc24_nonzero_sem thread_name trylock tsan_unittest unit_bitmap unit_vc vg_regtest.tmp* + *.dSYM *.stderr.diff* *.stderr.out *.stdout.diff* *.stdout.out .deps annotate_rwlock atomic_var bar_bad bar_trivial boost_thread circular_buffer custom_alloc drd_bitmap_test fp_race hg01_all_ok hg02_deadlock hg03_inherit hg04_race hg05_race2 hg06_readshared hold_lock linuxthreads_det Makefile Makefile.in matinv memory_allocation monitor_example new_delete omp_matinv omp_prime omp_printf pth_barrier pth_barrier_race pth_barrier_reinit pth_broadcast pth_cancel_locked pth_cleanup_handler pth_cond_race pth_create_chain pth_create_glibc_2_0 pth_detached pth_detached_sem pth_inconsistent_cond_wait pth_mutex_reinit pth_process_shared_mutex pth_spinlock qt4_mutex qt4_rwlock qt4_semaphore recursive_mutex rwlock_race rwlock_test sem_as_mutex sigalrm tc01_simple_race tc02_simple_tls tc03_re_excl tc04_free_lock tc05_simple_race tc06_two_races tc07_hbl1 tc08_hbl2 tc09_bad_unlock tc10_rec_lock tc11_XCHG tc12_rwl_trivial tc13_laog1 tc15_laog_lockdel tc16_byterace tc17_sembar tc18_semabuse tc19_shadowmem tc20_verifywrap tc21_pthonce tc22_exit_w_lock tc23_bogus_condwait tc24_nonzero_sem thread_name trylock tsan_unittest unit_bitmap unit_vc vg_regtest.tmp* |
|
From: <sv...@va...> - 2009-07-15 06:01:53
|
Author: njn
Date: 2009-07-15 07:01:45 +0100 (Wed, 15 Jul 2009)
New Revision: 10458
Log:
Add support on Darwin for fstat_extended() and fstat64_extended(). Partly
addresses bug 198624.
Modified:
trunk/coregrind/m_syswrap/syswrap-darwin.c
trunk/memcheck/tests/darwin/scalar.c
trunk/memcheck/tests/darwin/scalar.stderr.exp
Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-darwin.c 2009-07-15 05:46:43 UTC (rev 10457)
+++ trunk/coregrind/m_syswrap/syswrap-darwin.c 2009-07-15 06:01:45 UTC (rev 10458)
@@ -1875,7 +1875,6 @@
if (ML_(safe_to_deref)( (void*)ARG4, sizeof(vki_size_t) ))
PRE_MEM_WRITE("stat_extended(fsacl)", ARG3, *(vki_size_t *)ARG4 );
PRE_MEM_READ( "stat_extended(fsacl_size)", ARG4, sizeof(vki_size_t) );
- PRE_MEM_WRITE( "stat_extended(fsacl_size)", ARG4, sizeof(vki_size_t) );
}
POST(stat_extended)
{
@@ -1897,7 +1896,6 @@
if (ML_(safe_to_deref)( (void*)ARG4, sizeof(vki_size_t) ))
PRE_MEM_WRITE("lstat_extended(fsacl)", ARG3, *(vki_size_t *)ARG4 );
PRE_MEM_READ( "lstat_extended(fsacl_size)", ARG4, sizeof(vki_size_t) );
- PRE_MEM_WRITE( "lstat_extended(fsacl_size)", ARG4, sizeof(vki_size_t) );
}
POST(lstat_extended)
{
@@ -1908,6 +1906,26 @@
}
+PRE(fstat_extended)
+{
+ PRINT("fstat_extended( %ld, %#lx, %#lx, %#lx )",
+ ARG1, ARG2, ARG3, ARG4);
+ PRE_REG_READ4(int, "fstat_extended", int, fd, struct stat *, buf,
+ void *, fsacl, vki_size_t *, fsacl_size);
+ PRE_MEM_WRITE( "fstat_extended(buf)", ARG2, sizeof(struct vki_stat) );
+ if (ML_(safe_to_deref)( (void*)ARG4, sizeof(vki_size_t) ))
+ PRE_MEM_WRITE("fstat_extended(fsacl)", ARG3, *(vki_size_t *)ARG4 );
+ PRE_MEM_READ( "fstat_extended(fsacl_size)", ARG4, sizeof(vki_size_t) );
+}
+POST(fstat_extended)
+{
+ POST_MEM_WRITE( ARG2, sizeof(struct vki_stat) );
+ if (ML_(safe_to_deref)( (void*)ARG4, sizeof(vki_size_t) ))
+ POST_MEM_WRITE( ARG3, *(vki_size_t *)ARG4 );
+ POST_MEM_WRITE( ARG4, sizeof(vki_size_t) );
+}
+
+
PRE(stat64_extended)
{
PRINT("stat64_extended( %#lx(%s), %#lx, %#lx, %#lx )",
@@ -1919,7 +1937,6 @@
if (ML_(safe_to_deref)( (void*)ARG4, sizeof(vki_size_t) ))
PRE_MEM_WRITE("stat64_extended(fsacl)", ARG3, *(vki_size_t *)ARG4 );
PRE_MEM_READ( "stat64_extended(fsacl_size)", ARG4, sizeof(vki_size_t) );
- PRE_MEM_WRITE( "stat64_extended(fsacl_size)", ARG4, sizeof(vki_size_t) );
}
POST(stat64_extended)
{
@@ -1941,7 +1958,6 @@
if (ML_(safe_to_deref)( (void*)ARG4, sizeof(vki_size_t) ))
PRE_MEM_WRITE( "lstat64_extended(fsacl)", ARG3, *(vki_size_t *)ARG4 );
PRE_MEM_READ( "lstat64_extended(fsacl_size)", ARG4, sizeof(vki_size_t) );
- PRE_MEM_WRITE( "lstat64_extended(fsacl_size)", ARG4, sizeof(vki_size_t) );
}
POST(lstat64_extended)
{
@@ -1952,6 +1968,26 @@
}
+PRE(fstat64_extended)
+{
+ PRINT("fstat64_extended( %ld, %#lx, %#lx, %#lx )",
+ ARG1, ARG2, ARG3, ARG4);
+ PRE_REG_READ4(int, "fstat64_extended", int, fd, struct stat64 *, buf,
+ void *, fsacl, vki_size_t *, fsacl_size);
+ PRE_MEM_WRITE( "fstat64_extended(buf)", ARG2, sizeof(struct vki_stat64) );
+ if (ML_(safe_to_deref)( (void*)ARG4, sizeof(vki_size_t) ))
+ PRE_MEM_WRITE("fstat64_extended(fsacl)", ARG3, *(vki_size_t *)ARG4 );
+ PRE_MEM_READ( "fstat64_extended(fsacl_size)", ARG4, sizeof(vki_size_t) );
+}
+POST(fstat64_extended)
+{
+ POST_MEM_WRITE( ARG2, sizeof(struct vki_stat64) );
+ if (ML_(safe_to_deref)( (void*)ARG4, sizeof(vki_size_t) ))
+ POST_MEM_WRITE( ARG3, *(vki_size_t *)ARG4 );
+ POST_MEM_WRITE( ARG4, sizeof(vki_size_t) );
+}
+
+
PRE(fchmod_extended)
{
/* DDD: Note: this is not really correct. Handling of
@@ -7323,7 +7359,7 @@
// _____(__NR_umask_extended),
MACXY(__NR_stat_extended, stat_extended),
MACXY(__NR_lstat_extended, lstat_extended), // 280
-// _____(__NR_fstat_extended),
+ MACXY(__NR_fstat_extended, fstat_extended),
MACX_(__NR_chmod_extended, chmod_extended),
MACX_(__NR_fchmod_extended, fchmod_extended),
// _____(__NR_access_extended),
@@ -7385,7 +7421,7 @@
MACXY(__NR_lstat64, lstat64), // 340
MACXY(__NR_stat64_extended, stat64_extended),
MACXY(__NR_lstat64_extended, lstat64_extended),
-// _____(__NR_fstat64_extended),
+ MACXY(__NR_fstat64_extended, fstat64_extended),
MACXY(__NR_getdirentries64, getdirentries64),
MACXY(__NR_statfs64, statfs64),
MACXY(__NR_fstatfs64, fstatfs64),
Modified: trunk/memcheck/tests/darwin/scalar.c
===================================================================
--- trunk/memcheck/tests/darwin/scalar.c 2009-07-15 05:46:43 UTC (rev 10457)
+++ trunk/memcheck/tests/darwin/scalar.c 2009-07-15 06:01:45 UTC (rev 10458)
@@ -498,9 +498,14 @@
// Go again to get a complaint about where the 3rd arg points; it
// requires the 4th arg to point to a valid value.
SY(__NR_lstat_extended, 0, 0, 0, &one); FAIL;
+
+ GO(__NR_fstat_extended, 280, "4s 3m");
+ SY(__NR_fstat_extended, x0, x0, x0, x0); FAIL;
+ // Go again to get a complaint about where the 3rd arg points; it
+ // requires the 4th arg to point to a valid value.
+ SY(__NR_fstat_extended, 0, 0, 0, &one); FAIL;
}
- // __NR_fstat_extended 281
// __NR_chmod_extended 282
// __NR_fchmod_extended 283
// __NR_access_extended 284
@@ -599,6 +604,12 @@
// Go again to get a complaint about where the 3rd arg points; it
// requires the 4th arg to point to a valid value.
SY(__NR_lstat64_extended, 0, 0, 0, &one); FAIL;
+
+ GO(__NR_fstat64_extended, 342, "4s 3m");
+ SY(__NR_fstat64_extended, x0, x0, x0, x0); FAIL;
+ // Go again to get a complaint about where the 3rd arg points; it
+ // requires the 4th arg to point to a valid value.
+ SY(__NR_fstat64_extended, 0, 0, 0, &one); FAIL;
}
// __NR_fstat64_extended 343
Modified: trunk/memcheck/tests/darwin/scalar.stderr.exp
===================================================================
--- trunk/memcheck/tests/darwin/scalar.stderr.exp 2009-07-15 05:46:43 UTC (rev 10457)
+++ trunk/memcheck/tests/darwin/scalar.stderr.exp 2009-07-15 06:01:45 UTC (rev 10458)
@@ -682,6 +682,33 @@
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
-----------------------------------------------------
+x2000119(280): __NR_fstat_extended 4s 3m
+-----------------------------------------------------
+
+Syscall param fstat_extended(fd) contains uninitialised byte(s)
+ ...
+
+Syscall param fstat_extended(buf) contains uninitialised byte(s)
+ ...
+
+Syscall param fstat_extended(fsacl) contains uninitialised byte(s)
+ ...
+
+Syscall param fstat_extended(fsacl_size) contains uninitialised byte(s)
+ ...
+
+Syscall param fstat_extended(buf) points to unaddressable byte(s)
+ ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
+Syscall param fstat_extended(fsacl_size) points to unaddressable byte(s)
+ ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
+Syscall param fstat_extended(fsacl) points to unaddressable byte(s)
+ ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+-----------------------------------------------------
(296): old load_shared_file
-----------------------------------------------------
-----------------------------------------------------
@@ -816,6 +843,33 @@
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
-----------------------------------------------------
+x2000157(342):__NR_fstat64_extended 4s 3m
+-----------------------------------------------------
+
+Syscall param fstat64_extended(fd) contains uninitialised byte(s)
+ ...
+
+Syscall param fstat64_extended(buf) contains uninitialised byte(s)
+ ...
+
+Syscall param fstat64_extended(fsacl) contains uninitialised byte(s)
+ ...
+
+Syscall param fstat64_extended(fsacl_size) contains uninitialised byte(s)
+ ...
+
+Syscall param fstat64_extended(buf) points to unaddressable byte(s)
+ ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
+Syscall param fstat64_extended(fsacl_size) points to unaddressable byte(s)
+ ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
+Syscall param fstat64_extended(fsacl) points to unaddressable byte(s)
+ ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+-----------------------------------------------------
(369-379): unused
-----------------------------------------------------
-----------------------------------------------------
|
|
From: <sv...@va...> - 2009-07-15 05:46:54
|
Author: njn
Date: 2009-07-15 06:46:43 +0100 (Wed, 15 Jul 2009)
New Revision: 10457
Log:
Handle setpgid(). Partly addresses bug 198624.
Modified:
trunk/coregrind/m_syswrap/syswrap-darwin.c
trunk/memcheck/tests/darwin/scalar.c
trunk/memcheck/tests/darwin/scalar.stderr.exp
Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-darwin.c 2009-07-15 03:08:35 UTC (rev 10456)
+++ trunk/coregrind/m_syswrap/syswrap-darwin.c 2009-07-15 05:46:43 UTC (rev 10457)
@@ -7124,7 +7124,7 @@
GENXY(__NR_getgroups, sys_getgroups),
// _____(__NR_setgroups), // 80
GENX_(__NR_getpgrp, sys_getpgrp),
-// _____(__NR_setpgid),
+ GENX_(__NR_setpgid, sys_setpgid),
GENXY(__NR_setitimer, sys_setitimer),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(84)), // old wait
// _____(__NR_swapon),
Modified: trunk/memcheck/tests/darwin/scalar.c
===================================================================
--- trunk/memcheck/tests/darwin/scalar.c 2009-07-15 03:08:35 UTC (rev 10456)
+++ trunk/memcheck/tests/darwin/scalar.c 2009-07-15 05:46:43 UTC (rev 10457)
@@ -160,14 +160,16 @@
GO_UNIMP(77, "old vlimit");
- // __NR_mincore 218
- GO(__NR_mincore, 218, "3s 1m");
+ GO(__NR_mincore, 78, "3s 1m");
SY(__NR_mincore, x0, x0+40960, x0); FAIL;
// __NR_getgroups 79
// __NR_setgroups 80
// __NR_getpgrp 81
- // __NR_setpgid 82
+
+ GO(__NR_setpgid, 82, "2s 0m");
+ SY(__NR_setpgid, x0-1, x0-1); FAIL;
+
// __NR_setitimer 83
GO_UNIMP(78, "old wait");
Modified: trunk/memcheck/tests/darwin/scalar.stderr.exp
===================================================================
--- trunk/memcheck/tests/darwin/scalar.stderr.exp 2009-07-15 03:08:35 UTC (rev 10456)
+++ trunk/memcheck/tests/darwin/scalar.stderr.exp 2009-07-15 05:46:43 UTC (rev 10457)
@@ -235,7 +235,7 @@
(77): old vlimit
-----------------------------------------------------
-----------------------------------------------------
-x200004e(218): __NR_mincore 3s 1m
+x200004e(78): __NR_mincore 3s 1m
-----------------------------------------------------
Syscall param mincore(start) contains uninitialised byte(s)
@@ -251,6 +251,15 @@
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
-----------------------------------------------------
+x2000052(82): __NR_setpgid 2s 0m
+-----------------------------------------------------
+
+Syscall param setpgid(pid) contains uninitialised byte(s)
+ ...
+
+Syscall param setpgid(pgid) contains uninitialised byte(s)
+ ...
+-----------------------------------------------------
(78): old wait
-----------------------------------------------------
-----------------------------------------------------
@@ -623,6 +632,9 @@
Syscall param stat_extended(fsacl_size) contains uninitialised byte(s)
...
+More than 100 errors detected. Subsequent errors
+will still be recorded, but in less detail than before.
+
Syscall param stat_extended(file_name) points to unaddressable byte(s)
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
@@ -631,9 +643,6 @@
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
-More than 100 errors detected. Subsequent errors
-will still be recorded, but in less detail than before.
-
Syscall param stat_extended(fsacl_size) points to unaddressable byte(s)
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
|
|
From: <sv...@va...> - 2009-07-15 03:09:02
|
Author: njn
Date: 2009-07-15 04:08:35 +0100 (Wed, 15 Jul 2009)
New Revision: 10456
Log:
Handle fallocate() on 64-bit platforms. Fixes bug 185794.
Modified:
trunk/coregrind/m_syswrap/priv_syswrap-linux.h
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c
trunk/coregrind/m_syswrap/syswrap-x86-linux.c
Modified: trunk/coregrind/m_syswrap/priv_syswrap-linux.h
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-linux.h 2009-07-15 02:31:45 UTC (rev 10455)
+++ trunk/coregrind/m_syswrap/priv_syswrap-linux.h 2009-07-15 03:08:35 UTC (rev 10456)
@@ -92,6 +92,8 @@
DECL_TEMPLATE(linux, sys_eventfd);
DECL_TEMPLATE(linux, sys_eventfd2);
+DECL_TEMPLATE(linux, sys_fallocate);
+
DECL_TEMPLATE(linux, sys_gettid);
DECL_TEMPLATE(linux, sys_set_tid_address);
DECL_TEMPLATE(linux, sys_tkill);
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2009-07-15 02:31:45 UTC (rev 10455)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2009-07-15 03:08:35 UTC (rev 10456)
@@ -1359,7 +1359,7 @@
LINXY(__NR_timerfd_create, sys_timerfd_create), // 283
LINX_(__NR_eventfd, sys_eventfd), // 284
-// LINX_(__NR_fallocate, sys_ni_syscall), // 285
+ LINX_(__NR_fallocate, sys_fallocate), // 285
LINXY(__NR_timerfd_settime, sys_timerfd_settime), // 286
LINXY(__NR_timerfd_gettime, sys_timerfd_gettime), // 287
// (__NR_paccept, sys_ni_syscall) // 288
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2009-07-15 02:31:45 UTC (rev 10455)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2009-07-15 03:08:35 UTC (rev 10456)
@@ -1146,6 +1146,16 @@
}
}
+// 64-bit version.
+PRE(sys_fallocate)
+{
+ *flags |= SfMayBlock;
+ PRINT("sys_fallocate ( %ld, %ld, %lld, %lld )",
+ ARG1, ARG2, (Long)ARG3, (Long)ARG4);
+ PRE_REG_READ4(long, "fallocate",
+ int, fd, int, mode, vki_loff_t, offset, vki_loff_t, len);
+}
+
/* ---------------------------------------------------------------------
tid-related wrappers
------------------------------------------------------------------ */
Modified: trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c 2009-07-15 02:31:45 UTC (rev 10455)
+++ trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c 2009-07-15 03:08:35 UTC (rev 10456)
@@ -1857,7 +1857,7 @@
LINXY(__NR_timerfd_create, sys_timerfd_create), // 306
LINX_(__NR_eventfd, sys_eventfd), // 307
// LINX_(__NR_sync_file_range2, sys_ni_syscall), // 308
-// LINX_(__NR_fallocate, sys_ni_syscall), // 309
+// LINX_(__NR_fallocate, sys_fallocate), // 309
// LINXY(__NR_subpage_prot, sys_ni_syscall), // 310
LINXY(__NR_timerfd_settime, sys_timerfd_settime), // 311
LINXY(__NR_timerfd_gettime, sys_timerfd_gettime), // 312
Modified: trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c 2009-07-15 02:31:45 UTC (rev 10455)
+++ trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c 2009-07-15 03:08:35 UTC (rev 10456)
@@ -1497,7 +1497,7 @@
LINXY(__NR_timerfd_create, sys_timerfd_create), // 306
LINX_(__NR_eventfd, sys_eventfd), // 307
// LINX_(__NR_sync_file_range2, sys_ni_syscall), // 308
-// LINX_(__NR_fallocate, sys_ni_syscall), // 309
+ LINX_(__NR_fallocate, sys_fallocate), // 309
// LINXY(__NR_subpage_prot, sys_ni_syscall), // 310
LINXY(__NR_timerfd_settime, sys_timerfd_settime), // 311
LINXY(__NR_timerfd_gettime, sys_timerfd_gettime), // 312
Modified: trunk/coregrind/m_syswrap/syswrap-x86-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2009-07-15 02:31:45 UTC (rev 10455)
+++ trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2009-07-15 03:08:35 UTC (rev 10456)
@@ -2234,7 +2234,7 @@
LINXY(__NR_signalfd, sys_signalfd), // 321
LINXY(__NR_timerfd_create, sys_timerfd_create), // 322
LINX_(__NR_eventfd, sys_eventfd), // 323
-// LINX_(__NR_fallocate, sys_ni_syscall), // 324
+ //LINX_(__NR_fallocate, sys_fallocate), // 324
LINXY(__NR_timerfd_settime, sys_timerfd_settime), // 325
LINXY(__NR_timerfd_gettime, sys_timerfd_gettime), // 326
|
|
From: Tom H. <th...@cy...> - 2009-07-15 02:50:55
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2009-07-15 03:05:06 BST Ended at 2009-07-15 03:50:32 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 508 tests, 2 stderr failures, 1 stdout failure, 1 post failure == exp-bbv/tests/amd64-linux/ll (stdout) exp-bbv/tests/amd64-linux/ll (stderr) exp-bbv/tests/amd64-linux/ll (post) exp-bbv/tests/amd64-linux/rep_prefix (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo hackedbz2: valgrind ./hackedbz2 hp_bounds: valgrind ./hp_bounds hp_dangle: valgrind ./hp_dangle justify: valgrind ./justify partial_bad: valgrind --partial-loads-ok=no ./partial partial_good: valgrind --partial-loads-ok=yes ./partial preen_invars: valgrind ./preen_invars pth_create: valgrind ./pth_create pth_specific: valgrind ./pth_specific realloc: valgrind ./realloc stackerr: valgrind ./stackerr strcpy: valgrind ./strcpy supp: valgrind --suppressions=supp.supp ./supp tricky: valgrind ./tricky unaligned: valgrind ./unaligned zero: valgrind ./zero -- Finished tests in exp-ptrcheck/tests -------------------------------- vg_regtest: `./filter_stderr' not executable (.) -- Running tests in exp-bbv/tests/amd64-linux ------------------------- make: *** [regtest] Error 255 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Jul 15 03:27:56 2009 --- new.short Wed Jul 15 03:50:32 2009 *************** *** 6,27 **** ! Last 20 lines of verbose log follow echo ! hackedbz2: valgrind ./hackedbz2 ! hp_bounds: valgrind ./hp_bounds ! hp_dangle: valgrind ./hp_dangle ! justify: valgrind ./justify ! partial_bad: valgrind --partial-loads-ok=no ./partial ! partial_good: valgrind --partial-loads-ok=yes ./partial ! preen_invars: valgrind ./preen_invars ! pth_create: valgrind ./pth_create ! pth_specific: valgrind ./pth_specific ! realloc: valgrind ./realloc ! stackerr: valgrind ./stackerr ! strcpy: valgrind ./strcpy ! supp: valgrind --suppressions=supp.supp ./supp ! tricky: valgrind ./tricky ! unaligned: valgrind ./unaligned ! zero: valgrind ./zero ! -- Finished tests in exp-ptrcheck/tests -------------------------------- ! vg_regtest: `./filter_stderr' not executable (.) ! -- Running tests in exp-bbv/tests/amd64-linux ------------------------- ! make: *** [regtest] Error 255 --- 6,14 ---- ! Regression test results follow ! ! == 508 tests, 2 stderr failures, 1 stdout failure, 1 post failure == ! exp-bbv/tests/amd64-linux/ll (stdout) ! exp-bbv/tests/amd64-linux/ll (stderr) ! exp-bbv/tests/amd64-linux/ll (post) ! exp-bbv/tests/amd64-linux/rep_prefix (stderr) ! |
|
From: <sv...@va...> - 2009-07-15 02:32:09
|
Author: njn
Date: 2009-07-15 03:31:45 +0100 (Wed, 15 Jul 2009)
New Revision: 10455
Log:
Ignore MALLOCLIKE_BLOCK/FREELIKE_BLOCK if addr==0. Fixes bug 137073. DRD
now has its own copy of custom_alloc.c which is a little different to
Memcheck's; making them both work with the same version was too difficult.
Added:
trunk/drd/tests/custom_alloc.c
Modified:
trunk/coregrind/m_scheduler/scheduler.c
trunk/drd/tests/Makefile.am
trunk/drd/tests/custom_alloc.vgtest
trunk/include/valgrind.h
trunk/memcheck/tests/custom_alloc.c
Modified: trunk/coregrind/m_scheduler/scheduler.c
===================================================================
--- trunk/coregrind/m_scheduler/scheduler.c 2009-07-14 16:45:48 UTC (rev 10454)
+++ trunk/coregrind/m_scheduler/scheduler.c 2009-07-15 02:31:45 UTC (rev 10455)
@@ -1465,7 +1465,18 @@
SET_CLREQ_RETVAL( tid, 0 ); /* return value is meaningless */
break;
+ case VG_USERREQ__MALLOCLIKE_BLOCK:
+ case VG_USERREQ__FREELIKE_BLOCK:
+ // Ignore them if the addr is NULL; otherwise pass onto the tool.
+ if (!arg[1]) {
+ SET_CLREQ_RETVAL( tid, 0 ); /* return value is meaningless */
+ break;
+ } else {
+ goto my_default;
+ }
+
default:
+ my_default:
if (os_client_request(tid, arg)) {
// do nothing, os_client_request() handled it
} else if (VG_(needs).client_requests) {
Modified: trunk/drd/tests/Makefile.am
===================================================================
--- trunk/drd/tests/Makefile.am 2009-07-14 16:45:48 UTC (rev 10454)
+++ trunk/drd/tests/Makefile.am 2009-07-15 02:31:45 UTC (rev 10455)
@@ -222,6 +222,7 @@
check_PROGRAMS = \
+ custom_alloc \
fp_race \
hold_lock \
linuxthreads_det \
Added: trunk/drd/tests/custom_alloc.c
===================================================================
--- trunk/drd/tests/custom_alloc.c (rev 0)
+++ trunk/drd/tests/custom_alloc.c 2009-07-15 02:31:45 UTC (rev 10455)
@@ -0,0 +1,90 @@
+#include <unistd.h>
+#include "tests/sys_mman.h"
+#include <assert.h>
+#include <stdlib.h>
+
+#include "../drd.h"
+
+#define SUPERBLOCK_SIZE 100000
+
+//-------------------------------------------------------------------------
+// Allocator
+//-------------------------------------------------------------------------
+
+void* get_superblock(void)
+{
+ void* p = mmap( 0, SUPERBLOCK_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC,
+ MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 );
+
+ assert(p != ((void*)(-1)));
+
+ return p;
+}
+
+// has a redzone
+static void* custom_alloc(int size)
+{
+#define RZ 8
+ static void* hp = 0; // current heap pointer
+ static void* hp_lim = 0; // maximum usable byte in current block
+ int size2 = size + RZ*2;
+ void* p;
+
+ if (hp + size2 > hp_lim) {
+ hp = get_superblock();
+ hp_lim = hp + SUPERBLOCK_SIZE - 1;
+ }
+
+ p = hp + RZ;
+ hp += size2;
+
+ VALGRIND_MALLOCLIKE_BLOCK( p, size, RZ, /*is_zeroed*/1 );
+ return (void*)p;
+}
+
+static void custom_free(void* p)
+{
+ // don't actually free any memory... but mark it as freed
+ VALGRIND_FREELIKE_BLOCK( p, RZ );
+}
+#undef RZ
+
+
+
+//-------------------------------------------------------------------------
+// Rest
+//-------------------------------------------------------------------------
+
+void make_leak(void)
+{
+ int* array2 = custom_alloc(sizeof(int) * 10);
+ array2 = 0; // leak
+ return;
+}
+
+int main(void)
+{
+ int* array;
+ int* array3;
+
+ array = custom_alloc(sizeof(int) * 10);
+ array[8] = 8;
+ array[9] = 8;
+ array[10] = 10; // invalid write (ok w/o MALLOCLIKE -- in superblock)
+
+ custom_free(array); // ok
+
+ custom_free(NULL); // invalid free (ok without MALLOCLIKE)
+
+ array3 = malloc(sizeof(int) * 10);
+ custom_free(array3); // mismatched free (ok without MALLOCLIKE)
+
+ make_leak();
+ return array[0]; // use after free (ok without MALLOCLIKE)
+ // (nb: initialised because is_zeroed==1 above)
+ // unfortunately not identified as being in a free'd
+ // block because the freeing of the block and shadow
+ // chunk isn't postponed.
+
+ // leak from make_leak()
+}
Modified: trunk/drd/tests/custom_alloc.vgtest
===================================================================
--- trunk/drd/tests/custom_alloc.vgtest 2009-07-14 16:45:48 UTC (rev 10454)
+++ trunk/drd/tests/custom_alloc.vgtest 2009-07-15 02:31:45 UTC (rev 10455)
@@ -1 +1 @@
-prog: ../../memcheck/tests/custom_alloc
+prog: custom_alloc
Modified: trunk/include/valgrind.h
===================================================================
--- trunk/include/valgrind.h 2009-07-14 16:45:48 UTC (rev 10454)
+++ trunk/include/valgrind.h 2009-07-15 02:31:45 UTC (rev 10455)
@@ -3886,6 +3886,8 @@
superblocks, rather than mmap() or brk(), this will not work properly --
you'll likely get assertion failures during leak detection. This is
because Valgrind doesn't like seeing overlapping heap blocks. Sorry.
+
+ Ignored if addr == 0.
*/
#define VALGRIND_MALLOCLIKE_BLOCK(addr, sizeB, rzB, is_zeroed) \
{unsigned int _qzz_res; \
@@ -3894,7 +3896,9 @@
addr, sizeB, rzB, is_zeroed, 0); \
}
-/* See the comment for VALGRIND_MALLOCLIKE_BLOCK for details. */
+/* See the comment for VALGRIND_MALLOCLIKE_BLOCK for details.
+ Ignored if addr == 0.
+*/
#define VALGRIND_FREELIKE_BLOCK(addr, rzB) \
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
Modified: trunk/memcheck/tests/custom_alloc.c
===================================================================
--- trunk/memcheck/tests/custom_alloc.c 2009-07-14 16:45:48 UTC (rev 10454)
+++ trunk/memcheck/tests/custom_alloc.c 2009-07-15 02:31:45 UTC (rev 10455)
@@ -70,8 +70,8 @@
int main(void)
{
- int* array;
- int* array3;
+ int *array, *array3;
+ int x;
array = custom_alloc(sizeof(int) * 10);
array[8] = 8;
@@ -80,17 +80,24 @@
custom_free(array); // ok
- custom_free(NULL); // invalid free (ok without MALLOCLIKE)
+ custom_free((void*)0x1); // invalid free
array3 = malloc(sizeof(int) * 10);
custom_free(array3); // mismatched free (ok without MALLOCLIKE)
make_leak();
- return array[0]; // use after free (ok without MALLOCLIKE/MAKE_MEM_NOACCESS)
+ x = array[0]; // use after free (ok without MALLOCLIKE/MAKE_MEM_NOACCESS)
// (nb: initialised because is_zeroed==1 above)
// unfortunately not identified as being in a free'd
// block because the freeing of the block and shadow
// chunk isn't postponed.
+
+ // Bug 137073: passing 0 to MALLOCLIKE_BLOCK was causing an assertion
+ // failure. Test for this (and likewise for FREELIKE_BLOCK).
+ //VALGRIND_MALLOCLIKE_BLOCK(0,0,0,0);
+ //VALGRIND_FREELIKE_BLOCK(0,0);
+ return x;
+
// leak from make_leak()
}
|
|
From: Tom H. <th...@cy...> - 2009-07-15 02:30:51
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-07-15 03:10:05 BST Ended at 2009-07-15 03:30:29 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 515 tests, 2 stderr failures, 2 stdout failures, 2 post failures == none/tests/linux/mremap2 (stdout) exp-bbv/tests/amd64-linux/ll (stdout) exp-bbv/tests/amd64-linux/ll (stderr) exp-bbv/tests/amd64-linux/ll (post) exp-bbv/tests/amd64-linux/million (post) exp-bbv/tests/amd64-linux/rep_prefix (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo hackedbz2: valgrind ./hackedbz2 hp_bounds: valgrind ./hp_bounds hp_dangle: valgrind ./hp_dangle justify: valgrind ./justify partial_bad: valgrind --partial-loads-ok=no ./partial partial_good: valgrind --partial-loads-ok=yes ./partial preen_invars: valgrind ./preen_invars pth_create: valgrind ./pth_create pth_specific: valgrind ./pth_specific realloc: valgrind ./realloc stackerr: valgrind ./stackerr strcpy: valgrind ./strcpy supp: valgrind --suppressions=supp.supp ./supp tricky: valgrind ./tricky unaligned: valgrind ./unaligned zero: valgrind ./zero -- Finished tests in exp-ptrcheck/tests -------------------------------- vg_regtest: `./filter_stderr' not executable (.) -- Running tests in exp-bbv/tests/amd64-linux ------------------------- make: *** [regtest] Error 255 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Jul 15 03:20:27 2009 --- new.short Wed Jul 15 03:30:29 2009 *************** *** 6,27 **** ! Last 20 lines of verbose log follow echo ! hackedbz2: valgrind ./hackedbz2 ! hp_bounds: valgrind ./hp_bounds ! hp_dangle: valgrind ./hp_dangle ! justify: valgrind ./justify ! partial_bad: valgrind --partial-loads-ok=no ./partial ! partial_good: valgrind --partial-loads-ok=yes ./partial ! preen_invars: valgrind ./preen_invars ! pth_create: valgrind ./pth_create ! pth_specific: valgrind ./pth_specific ! realloc: valgrind ./realloc ! stackerr: valgrind ./stackerr ! strcpy: valgrind ./strcpy ! supp: valgrind --suppressions=supp.supp ./supp ! tricky: valgrind ./tricky ! unaligned: valgrind ./unaligned ! zero: valgrind ./zero ! -- Finished tests in exp-ptrcheck/tests -------------------------------- ! vg_regtest: `./filter_stderr' not executable (.) ! -- Running tests in exp-bbv/tests/amd64-linux ------------------------- ! make: *** [regtest] Error 255 --- 6,16 ---- ! Regression test results follow ! ! == 515 tests, 2 stderr failures, 2 stdout failures, 2 post failures == ! none/tests/linux/mremap2 (stdout) ! exp-bbv/tests/amd64-linux/ll (stdout) ! exp-bbv/tests/amd64-linux/ll (stderr) ! exp-bbv/tests/amd64-linux/ll (post) ! exp-bbv/tests/amd64-linux/million (post) ! exp-bbv/tests/amd64-linux/rep_prefix (stderr) ! |