Bug 164755 - SysV IPC operation incorrectly handled on x86-64
SysV IPC operation incorrectly handled on x86-64
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: strace (Show other bugs)
rawhide
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Roland McGrath
Brian Brock
:
Depends On:
Blocks: FC4Update
  Show dependency treegraph
 
Reported: 2005-07-31 20:03 EDT by Ulrich Drepper
Modified: 2007-11-30 17:11 EST (History)
1 user (show)

See Also:
Fixed In Version: 4.5.14
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-04-03 04:34:47 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Remove special linux demux handling for x86-64 (2.91 KB, patch)
2005-07-31 20:03 EDT, Ulrich Drepper
no flags Details | Diff
strace-4.5.13-drepper-x86_64-ipc.patch (3.57 KB, patch)
2005-08-08 13:21 EDT, Dmitry V. Levin
no flags Details | Diff

  None (edit)
Description Ulrich Drepper 2005-07-31 20:03:30 EDT
Description of problem:
Unlike some/most other archs, x86-64 has real syscalls for the SysV IPC
operations.  This means the special #ifdef LINUX code in the various sys_*
functions must be avoided for x86-64.

Version-Release number of selected component (if applicable):
strace-4.5.12-1.x86_64

How reproducible:
always

Steps to Reproduce:
1.strace any code using msgsnd, msgrcv, ...
2.
3.
  
Actual results:
[pid 19816] msgsnd(98304, {6549608, umovestr: Input/output error
0x8}, 140737484181616, 0x4 /* MSG_??? */) = 0


Expected results:
[pid 24526] msgsnd(262149, {1, "\0\0\0\0"}, 4, 0) = 0


Additional info:
Attached patch should fix it.  There are also some syscall number bugs.

2005-07-31  Ulrich Drepper  <drepper@redhat.com>

	* linux/x86_64/syscallent.h: Fix syscall parameter count for msgrcv and
	msgctl.
	* ipc.c: Don't use LINUX specific code in sys_msgctl, sys_msgsnd,
	sys_msgrcv, sys_semop, sys_shmctl, sys_shmat, sys_shmdt.  Add
	appropriate non-demux code to sys_semtimedop.
Comment 1 Ulrich Drepper 2005-07-31 20:03:30 EDT
Created attachment 117330 [details]
Remove special linux demux handling for x86-64
Comment 2 Dmitry V. Levin 2005-08-08 13:21:02 EDT
Created attachment 117546 [details]
strace-4.5.13-drepper-x86_64-ipc.patch

Rediffed for strace-4.5.13.
Comment 3 Roland McGrath 2005-12-01 22:54:55 EST
Your patch breaks it for 32-bit inferiors.
I've put in changes upstream that should do the trick.
Comment 4 Roland McGrath 2006-04-03 04:34:47 EDT
Fixed in fc4 update and in fc5.

Note You need to log in before you can comment on or make changes to this bug.