[Bug 539814] [NEW] tar: futimens() with a bad file descriptor (AT_FDCWD) causes bootstrapping failure with kernels < 2.6.22

Launchpad Bug Tracker 539814 at bugs.launchpad.net
Tue Aug 24 18:30:16 BST 2010


You have been subscribed to a public bug by Keith Ward (keithward):

Binary package hint: tar

Bootstrapping Ubuntu Lucid with debootstrap is currently impossible with
any kernel < 2.6.22, due to a bug in tar - specifically it fails because
of a change to eglibc.

According to the debian bug report It seems that before eglibc 2.10.2-3,
calls to futimens failed silently, however due to a patch made to eglibc
2.10.2-3, if futimens is called without a valid file descriptor, it now
fails with an "Bad File Descriptor" error, because the corresponding
utimensat() syscall was not added until kernel 2.6.22

Test Case:
1) Boot a kernel older than 2.6.22
2) Attempt to Bootstrap Ubuntu Lucid to any target.
The bootstrap will fail once it attempts to unpack packages with: tar: ./postinst: Cannot utime: Bad file descriptor

A patch is available (attached in launchpad) originating from the associated debian bug, that ensures that futimens is only called with a valid file descriptor.
A debdiff for 1.22-2 ( changing to 1.22-2ubuntu1 ) will be attached shortly.

** Affects: ubuntu-release-notes
     Importance: Undecided
         Status: Triaged

** Affects: tar (Ubuntu)
     Importance: Medium
         Status: Fix Released

** Affects: tar (Ubuntu Lucid)
     Importance: Medium
         Status: In Progress

** Affects: tar (Debian)
     Importance: Unknown
         Status: Fix Released

** Affects: tar (Fedora)
     Importance: Unknown
         Status: Unknown

-- 
tar: futimens() with a bad file descriptor (AT_FDCWD) causes bootstrapping failure with kernels < 2.6.22
https://bugs.launchpad.net/bugs/539814
You received this bug notification because you are a member of Ubuntu Sponsors Team, which is a direct subscriber.



More information about the Ubuntu-sponsors mailing list