Bug 218043 - umovestr I/O errors on 32-bit binaries
umovestr I/O errors on 32-bit binaries
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: strace (Show other bugs)
4.0
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Roland McGrath
Brian Brock
:
Depends On:
Blocks: 218433
  Show dependency treegraph
 
Reported: 2006-12-01 10:07 EST by Bastien Nocera
Modified: 2010-10-22 03:13 EDT (History)
2 users (show)

See Also:
Fixed In Version: RHBA-2007-0820
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-11-15 11:05:42 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
writevx.c (2.88 KB, text/plain)
2006-12-01 10:07 EST, Bastien Nocera
no flags Details
strace-biarch-iovec.patch (4.40 KB, patch)
2006-12-05 05:57 EST, Jakub Jelinek
no flags Details | Diff

  None (edit)
Description Bastien Nocera 2006-12-01 10:07:23 EST
strace-4.5.14-0.EL4.1.x86_64

On x86-64, with a 32-bit binary.

1. gcc -m32 -o writex writex.c
2. sudo strace -o foo -v ./writevx 127.0.0.1 22
[ Process PID=4407 runs in 32 bit mode. ]
umovestr: Input/output error
umovestr: Input/output error
Comment 1 Bastien Nocera 2006-12-01 10:07:25 EST
Created attachment 142573 [details]
writevx.c
Comment 2 Jakub Jelinek 2006-12-05 04:11:57 EST
Even:
#include <sys/uio.h>

int
main (void)
{
  struct iovec v[2];
  v[0].iov_base = "abc";
  v[0].iov_len = 3;
  v[1].iov_base = "\n";
  v[1].iov_len = 1;
  writev (1, v, 2);
  return 0;
}
is enough to reproduce it.  64-bit strace just doesn't handle 32-bit
{read,write}v.
Comment 3 Jakub Jelinek 2006-12-05 05:57:16 EST
Created attachment 142820 [details]
strace-biarch-iovec.patch

Patch to fix it.  biarch support in current strace is clearly a hack, but until
if ever that is rewritten into a framework that can naturally cope with this,
I wrote a hack solution just for struct iovec.
Comment 4 Dmitry V. Levin 2006-12-13 16:51:41 EST
Fixed upstream.
Comment 5 Roland McGrath 2007-01-11 06:16:00 EST
these bugs are fixed upstream in the coming 4.5.15 release
Comment 6 Roland McGrath 2007-01-30 02:45:55 EST
This bug should be fixed in strace-4.5.15-1.el4 rpms.
Comment 8 RHEL Product and Program Management 2007-05-09 04:42:36 EDT
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.
Comment 10 Roland McGrath 2007-07-05 15:04:29 EDT
This should already be fixed in the RHEL4.5 strace version (4.5.15-1.el4.1).
Please verify and close.
Comment 12 Jan Kratochvil 2007-08-03 10:08:53 EDT
Fixed already some time ago in Rawhide:
* Tue Jan 16 2007 Roland McGrath <roland@redhat.com> - 4.5.15-1
- biarch fixes ([...], #218043)

therefore it is present in RHEL-4.5 strace-4.5.15-1.el4.1.

upstream:

2006-12-10  Dmitry V. Levin <ldv@altlinux.org>

        Add biarch support for "struct iovec".
        * defs.h (personality_wordsize): Add.
        * io.c [HAVE_SYS_UIO_H] (tprint_iov): [LINUX && 
        SUPPORTED_PERSONALITIES > 1] Handle 32-bit personality.
        * util.c [HAVE_SYS_UIO_H] (dumpiov): [LINUX &&
        SUPPORTED_PERSONALITIES > 1] Likewise.
        Patch from Jakub Jelinek.
        Fixes RH#218433.
Comment 18 errata-xmlrpc 2007-11-15 11:05:42 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2007-0820.html

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