Commit Graph

884 Commits

Author SHA1 Message Date
Julian Seward
a4d69434b8 Bug 348728 - Fix broken check for VIDIOC_G_ENC_INDEX
Patch from Hans Verkuil (hverkuil@xs4all.nl)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15314
2015-06-05 11:25:32 +00:00
Julian Seward
eed8fbcd80 Bug 348102 - Patch updating v4l2 API support (edit)
Patch from Hans Verkuil (hverkuil@xs4all.nl) 


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15313
2015-06-05 11:23:35 +00:00
Mark Wielaard
9c0019f28a Enable process_vm_readv/writev syscall on arm32.
This makes none/tests/process_vm_readv_writev.vgtest pass on arm32.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15304
2015-06-02 18:17:44 +00:00
Rhys Kidd
d289179fd2 Fix OS X host_create_mach_voucher: UNKNOWN host message [id 222, to mach_host_self(), reply 0x........]
bz#343649

Before:

== 591 tests, 220 stderr failures, 14 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==

After:

== 591 tests, 220 stderr failures, 14 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15299
2015-05-31 03:17:53 +00:00
Rhys Kidd
c8440021c5 Fix OS X host_get_special_port: UNKNOWN host message [id 412, to mach_host_self(), reply 0x........]
bz#343525

Before:

== 591 tests, 220 stderr failures, 14 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==

After:

== 591 tests, 220 stderr failures, 14 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15298
2015-05-31 01:58:57 +00:00
Rhys Kidd
11f675de8b Fix unhandled syscall: mach:41 (_kernelrpc_mach_port_guard_trap)
bz#344337

Before:

== 591 tests, 220 stderr failures, 14 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==

After:

== 591 tests, 220 stderr failures, 14 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15297
2015-05-30 08:59:46 +00:00
Rhys Kidd
11a09e916d Address clang compiler warnings on OS X.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15288
2015-05-25 14:43:47 +00:00
Julian Seward
9dc5a73468 Fix bug 345126: Incorrect handling of VIDIOC_G_AUDIO and G_AUDOUT
Patch from Hans Verkuil (hverkuil@xs4all.nl)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15276
2015-05-22 10:40:42 +00:00
Rhys Kidd
2a3a28aecf Fix unhandled syscall: unix:473 (readlinkat) on OS X 10.10
bz#344936

Before:

== 595 tests, 229 stderr failures, 23 stdout failures, 1 stderrB failure, 1 stdoutB failure, 30 post failures ==

After:

== 595 tests, 228 stderr failures, 23 stdout failures, 1 stderrB failure, 1 stdoutB failure, 30 post failures ==


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15260
2015-05-20 13:31:02 +00:00
Rhys Kidd
b291112485 Improve documentation of syscall: unix: 44 profil() which was deprecated around OS X 10.6 and removed from the xnu kernel shipped with OS X 10.7. See unresolved bz#264253.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15259
2015-05-20 11:31:35 +00:00
Rhys Kidd
793b9629dc Fix unhandled syscall: unix:410 (sigsuspend_nocancel) on OS X. bz#319274.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15249
2015-05-17 14:02:34 +00:00
Philippe Waroquiers
ae1a9287d8 Add some more cfi directives
With some gcc versions, without these directives, unwind does
not work or gives strange entries in stack traces.

Patch from Matthias Schwarzott 



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15247
2015-05-17 08:24:40 +00:00
Rhys Kidd
57d82d1527 Fix Warning: noted but unhandled ioctl 0x2000747b on Mac OS X. bz#208217.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15246
2015-05-17 07:31:20 +00:00
Rhys Kidd
8763533866 Followup to r15242 - as PRE() and POST() wrappers utilised, define with the *XY variant.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15245
2015-05-17 06:01:04 +00:00
Rhys Kidd
0c10aa2460 Fix unhandled syscall: unix:132 (mkfifo) on OS X. bz#212291.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15242
2015-05-16 14:48:08 +00:00
Florian Krohm
c000459632 Fix bug in do_mremap. Also need to allow SkShmC segments.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15219
2015-05-12 21:19:25 +00:00
Rhys Kidd
6e3d1f9b0a Fix typo in task_policy_set() output. n-i-bz.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15210
2015-05-11 13:24:42 +00:00
Rhys Kidd
fc04f5d4c6 OS X task_info: UNKNOWN task message [id 3405, to mach_task_self(), reply 0x........]
bz#254164

Before:

== 593 tests, 234 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==

After:

== 593 tests, 233 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15209
2015-05-11 13:19:48 +00:00
Tom Hughes
2799d8f88a Add support for the syncfs system call.
Based on patch from j@eckel.me on BZ#347389.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15191
2015-05-07 18:54:31 +00:00
Florian Krohm
fa0d7aa5c6 Simplify. The condition on line 1223 is always true.
Here's why:

The condition

 if (VG_(brk_limit) > VG_(brk_base))   line 1223

is reachable iff 

  newbrk < VG_(brk_base)  on line 1201  is false  AND
  newbrk < VG_(brk_limit) on line 1205  is true

Rewrite as

  newbrk >= VG_(brk_base)    is true  AND
  newbrk <  VG_(brk_limit)   is true

Rewrite as

  newbrk >= VG_(brk_base)        is true  AND
  newbrk <= VG_(brk_limit) - 1   is true

Combine

  VG_(brk_base) <= newbrk <= VG_(brk_limit) - 1

Therefore

  VG_(brk_base) <= VG_(brk_limit) - 1

Or

  VG_(brk_base) < VG_(brk_limit)

Which is the same as

  VG_(brk_limit) > VG_(brk_base)

qed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15181
2015-05-05 06:14:10 +00:00
Julian Seward
a9b9383bcc Fix intermittent build error on aarch64-linux caused by inadequate
alignment for some data symbols.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15157
2015-04-29 20:48:48 +00:00
Florian Krohm
97b35b97f6 Issue an error message if then brk segment overflows.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15155
2015-04-29 12:59:16 +00:00
Florian Krohm
e0927ca1ea Fix the writev / readv wrappers. Do not read the array pointed to
by the 2nd argument, if the element count is negative.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15143
2015-04-25 18:14:17 +00:00
Florian Krohm
7dc618ae86 Check for any client stack segment. Rule out valgrind segments.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15140
2015-04-24 10:05:23 +00:00
Mark Wielaard
04f8bc3793 Enable rt_sigpending syscall on ppc64 linux.
Patch from Thomas Huth <thuth@redhat.com>

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15133
2015-04-22 15:29:03 +00:00
Florian Krohm
2d01f78684 Rename VG_(am_is_bogus_client_stack_pointer) to
VG_(am_addr_is_in_extensible_client_stack).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15132
2015-04-22 14:16:11 +00:00
Bart Van Assche
44609129ea Add support for LL_IOC_PATH2FID and LL_IOC_GETPARENT Lustre ioctls
From: Frank Zago <fzago@cray.com>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15123
2015-04-21 17:46:52 +00:00
Florian Krohm
a9b8e1e789 Remove function sr_ResHI from Linux specific code.
Add function VG_(sr_as_string).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15116
2015-04-20 20:42:42 +00:00
Florian Krohm
65832be442 Update tilegx's do_clone function adopting the stack bound changes
made in r14392.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15115
2015-04-20 17:00:02 +00:00
Philippe Waroquiers
9d18c8ddd0 fix 346307 fuse filesystem syscall deadlocks
Mark 2 additional syscalls as 'mayblock' when fuse-compatible hint
is given.
Patch from aozgovde@ralota.com



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15112
2015-04-19 12:39:33 +00:00
Florian Krohm
8d5672dbd6 Remove a few unneeded header files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15111
2015-04-18 17:45:34 +00:00
Zhi-Gang Liu
48fab8613a Add TILEGX arch. specific syscall #245, __NR_cacheflush
By:Zhi-Gang Liu


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15096
2015-04-15 03:22:17 +00:00
Julian Seward
082f9298a1 Add a port to Linux/TileGx. Zhi-Gang Liu (zliu@tilera.com)
Valgrind aspects, to match vex r3124.

See bug 339778 - Linux/TileGx platform support to Valgrind



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15080
2015-04-10 12:30:09 +00:00
Florian Krohm
e7674cfdbb Add VG_(am_is_bogus_client_stack_pointer)(Addr).
The function is used in VG_(client_syscall) to avoid extending the stack
when it is clear that the current value of the stack pointer does not
point into a segment that looks like a stack segment.
See the comments in the code there.
As a side effect of this we can now revert r15018 which increased
the stack size of the alternate stack in memcheck/tests/sigaltstack.c.
The reason is that the belief at the time: "alternate stack is too small"
was not correct. What instead happened was that VG_(client_syscall) called
VG_(extend_stack) without need (the syscall was tgkill) and the new stack
pointer happened to be in a file segment. 
In other words: the current stack pointer was still within the alternate
stack, i.e. the alternate stack was (barely) large enough.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15034
2015-03-23 17:13:04 +00:00
Tom Hughes
88e1a7587c Include the platform name in the unhandled system call message
We often get bug reports for an unhandled system call which don't
make it clear what platform is in use, which makes it impossible
to know which system call it is.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15033
2015-03-22 11:01:58 +00:00
Florian Krohm
ac9506ad26 Disable testcase because the ptrace system call is not
supported on ppc64.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15010
2015-03-14 09:30:36 +00:00
Julian Seward
37f7ddaea7 PRE(sys_prctl): handle PR_SET_SECCOMP.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14994
2015-03-10 11:05:10 +00:00
Rhys Kidd
a6edce5f4a Fix unhandled syscall: unix:348 (__pthread_chdir) and unhandled syscall: unix:349 (__pthread_fchdir) on OS X
bz#344512
- Support these two undocumented syscalls.
- New regression test case added.

Before:

== 588 tests, 239 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

After:

== 589 tests, 239 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14987
2015-03-07 08:36:20 +00:00
Rhys Kidd
2424a2d347 Fix stack traces missing penultimate frame
bz#344560
- Also fixes memcheck/tests/badpoll test on OS X
- Problem occurs because the guest stack seen in a system call pre or post
  function happens to not have a correct topmost stack frame, as Darwin system
  call stubs do not start with the usual function prolog.
- New regression test case added.
- Thanks to Greg Banks for research, patch and test case.

Before:

== 587 tests, 240 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

After:

== 588 tests, 239 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14985
2015-03-07 05:22:12 +00:00
Julian Seward
2ef97db660 POST(sys_ioctl): identify kernel variant "Qualcomm Adreno 3xx" correctly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14978
2015-03-05 11:22:41 +00:00
Florian Krohm
1f8ced27c3 Produce a user message in case of stack overflow.
Change VG_(extend_stack) and VG_(am_extend_into_adjacent_reservation_client)
accordingly. 
Remove some redundant checking.
Add testcase.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14974
2015-03-03 14:56:17 +00:00
Florian Krohm
3f8cb6aae5 Update a comment. Apparently the code was refactored at some point...
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14973
2015-03-02 21:10:46 +00:00
Florian Krohm
eb4228077a Simplify do_brk
- remove redundant asserts
- let VG_(am_extend_into_adjacent_reservation_client) worry about
  - whether delta is too large
  - whether the segment abutting this one exists and is a reservation
    segment
  The function already checks these things. No need to do it again here.
- do_brk does not need to know that a reservation segment must not
  shrink beyond a single page. That detail ought to be hidden in
  the address space manager.
Also, turn a few conditions into asserts.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14967
2015-02-26 21:48:19 +00:00
Florian Krohm
f8a625781c Change the prototype of VG_(am_extend_into_adjacent_reservation_client)
to match VG_(am_extend_map_client) for consistency.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14965
2015-02-26 16:07:12 +00:00
Mark Wielaard
5fa9a30cea Bug #344318 socketcall should wrap recvmmsg and sendmmsg
Some architectures, e.g. s390, don't have dedicated recvmmsg and sendmmsg
system calls, but use the socketcall multiplexing system call with
SYS_RECVMMSG or SYS_SENDMMSG (just like the accept4 systemcall can also
be called through socketcall). Create separate helpers for recvmmsg and
sendmmsg helpers that can be used by either the direct syscall or the
socket call.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14964
2015-02-25 14:00:14 +00:00
Florian Krohm
d59ebddc38 Change VG_(am_extend_map_client) as follows:
- Tighten up on asserts
- Simplify; as the function grows memory into a free segment, there
  cannot possibly be any translations to be discarded. Free segments
  do not have translations. sane_NSegment will make sure.
- Change the prototype to take in the start address of the mapping and
  return a pointer to the resized segment. Previously, the code 

   ok = VG_(am_extend_map_client)( &d, old_seg, needL );
   if (!ok)
      goto eNOMEM;
   VG_TRACK( new_mem_mmap, needA, needL, 
                           old_seg->hasR, old_seg->hasW, old_seg->hasX,

  was examining old_seg->hasR etc even though VG_(am_extend_map_client)
  stated that *old_seg was invalid after the function returned.
  That wasn't exactly a problem, but clearly looked wrong.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14963
2015-02-25 10:06:06 +00:00
Rhys Kidd
4094895ed6 Fix bz#343523, OS X mach_ports_register: UNKNOWN task message [id 3403, to mach_task_self(), reply 0x30f]
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14952
2015-02-22 00:42:52 +00:00
Rhys Kidd
f3c4b1a67a Fix OS X 10.10 (Yosemite) - missing system calls and fcntl code, courtesy of Bill Zissimopoulos
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14951
2015-02-21 12:24:18 +00:00
Julian Seward
199646a9cd Correctly handle prctl(VKI_PR_SET_PTRACER, ..) so as to avoid false
positives (eg when running Wine).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14946
2015-02-18 15:46:19 +00:00
Mark Wielaard
795a4f2d37 Bug #344307 2 unhandled syscalls on aarch64/arm64: umount2(39), mount (40)
Reporter: Branislav Blaskovic, bblaskov@redhat.com
Patch: Robin Hack, rhack@redhat.com
Test: Miloš Prchlík, mprchlik@redhat.com

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14944
2015-02-18 14:23:17 +00:00