[Bug 5258] New: pread() and pwrite() are not atomic on some platforms

bugzilla at busybox.net bugzilla at busybox.net
Tue May 29 08:41:10 UTC 2012


https://bugs.busybox.net/show_bug.cgi?id=5258

           Summary: pread() and pwrite() are not atomic on some platforms
           Product: uClibc
           Version: unspecified
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: minor
          Priority: P5
         Component: Standard Compliance
        AssignedTo: unassigned at uclibc.org
        ReportedBy: david.laight at aculab.com
                CC: uclibc-cvs at uclibc.org
   Estimated Hours: 0.0


The uClibc stubs for pread() and pwrite() for powerpc (and possibly other
architectures) are attempted to be implemented using multiple lseek calls. This
is broken for just so many reasons.

Even for non-threaded programs the cost of the extra system calls is
significant.

A proper system call stub can easily be generated by copying the mmap code.

AFAICT this affects all versions of uClibc, we are still using 0.9.27. I
believe we can't update because of a binary incompatibility in a slightly later
version.

-- 
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the uClibc-cvs mailing list