glibc tst-preadvwritev2 and tst-preadvwritev64v2 fail with Linux 4.16+

Bug #1773363 reported by Seth Forshee on 2018-05-25
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GLibC
Fix Released
Medium
glibc (Ubuntu)
Undecided
Unassigned
Bionic
Undecided
Unassigned
Cosmic
Undecided
Unassigned
linux (Ubuntu)
Medium
Seth Forshee
Bionic
Undecided
Unassigned
Cosmic
Undecided
Unassigned

On x86-64, under 4.16.0-rc2, I got

FAIL: misc/tst-preadvwritev2
FAIL: misc/tst-preadvwritev64v2

error: tst-preadvwritev2-common.c:45: preadv2 did not fail with an invalid flag
error: 1 test failures

4.16-rc4 has

/* mask of flags supported by the kernel */
#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT |\
                         RWF_APPEND)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via f2652643d7234c08205b75f527191c2e2b35251f (commit)
      from d2dc5467c67bc8625a4fc8f285b6a5443bf43df4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f2652643d7234c08205b75f527191c2e2b35251f

commit f2652643d7234c08205b75f527191c2e2b35251f
Author: H.J. Lu <email address hidden>
Date: Tue Apr 3 12:19:20 2018 -0700

    Update RWF_SUPPORTED for Linux kernel 4.16 [BZ #22947]

    Add RWF_APPEND to RWF_SUPPORTED to support Linux kernel 4.16.

     [BZ #22947]
     * bits/uio-ext.h (RWF_APPEND): New.
     * sysdeps/unix/sysv/linux/bits/uio-ext.h (RWF_APPEND): Likewise.
     * manual/llio.texi: Document RWF_APPEND.
     * misc/tst-preadvwritev2-common.c (RWF_APPEND): New.
     (RWF_SUPPORTED): Add RWF_APPEND.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog | 9 +++++++++
 bits/uio-ext.h | 1 +
 manual/llio.texi | 3 +++
 misc/tst-preadvwritev2-common.c | 6 +++++-
 sysdeps/unix/sysv/linux/bits/uio-ext.h | 1 +
 5 files changed, 19 insertions(+), 1 deletions(-)

Fixed by f2652643d7234c08205b75f527191c2e2b35251f.

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, release/2.27/master has been updated
       via d658d6d757a4fd3f187d38da8b627dd8142f3608 (commit)
      from a8a7d4c5d8d3a767c5cae0d327f17edb813cf6f2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d658d6d757a4fd3f187d38da8b627dd8142f3608

commit d658d6d757a4fd3f187d38da8b627dd8142f3608
Author: H.J. Lu <email address hidden>
Date: Tue Apr 3 12:19:20 2018 -0700

    Update RWF_SUPPORTED for Linux kernel 4.16 [BZ #22947]

    Add RWF_APPEND to RWF_SUPPORTED to support Linux kernel 4.16.

     [BZ #22947]
     * bits/uio-ext.h (RWF_APPEND): New.
     * sysdeps/unix/sysv/linux/bits/uio-ext.h (RWF_APPEND): Likewise.
     * manual/llio.texi: Document RWF_APPEND.
     * misc/tst-preadvwritev2-common.c (RWF_APPEND): New.
     (RWF_SUPPORTED): Add RWF_APPEND.

    (cherry picked from commit f2652643d7234c08205b75f527191c2e2b35251f)

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog | 9 +++++++++
 bits/uio-ext.h | 1 +
 manual/llio.texi | 3 +++
 misc/tst-preadvwritev2-common.c | 6 +++++-
 sysdeps/unix/sysv/linux/bits/uio-ext.h | 1 +
 5 files changed, 19 insertions(+), 1 deletions(-)

Seth Forshee (sforshee) on 2018-05-25
tags: added: kernel-adt-failure
Download full text (46.6 KiB)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, google/grte/v5-2.27/master has been updated
       via 58285b4cc9d07c71a9ce7b1f93d35a2369c63055 (commit)
       via e97bf39fb5423b93a8a4790a01177eb2ffccbf39 (commit)
       via 4220a967def932bd946c33a1734ff6a554b3570f (commit)
       via f079ef9e9336190685ec311eb3fd44a8a5370c2a (commit)
       via 7b28a36636a16769aa36981eeba4036436d36c10 (commit)
       via 5993d874500e0f8d717c6533713b277fade7a233 (commit)
       via 66f687a7a610e834866eeab1a6cc9e396a096b41 (commit)
       via 0904223cec6cddac5ea7e88b1836b7d52b86d5b2 (commit)
       via 80fc8dd4937ec2d3c175217e09e69e2125a9f5d8 (commit)
       via 34672a317613f76101f37e7dddcf7d793115e2a1 (commit)
       via a6bc03771e48ae9cc5ef2bcc7e632291d8e11138 (commit)
       via 06f7d0f59b7c3a60109d655532f0c1e1dcb88557 (commit)
       via 5507e2bee631494bcc6c020630b15d49eb88b77a (commit)
       via d587be985e976eda954201a45704172ce283174e (commit)
       via 0d1e9400204e4f7e5329f4a83f7bb0ebafd74d94 (commit)
       via 9a623f013e029b6166656bb6782d10187c7e1306 (commit)
       via 91bbc2d059052bd127619bcf58e287809fcb5e87 (commit)
       via 570e56dd2016da6f905018319562b609d3a4988a (commit)
       via 388a08e4e05ba8e709ec31eb17f34d6286e873df (commit)
       via d0980fb402121d53ecaa8ebf02b3ed5a1aa4092b (commit)
       via 11834e2985afaf724e4dc264c945e29fab8db27a (commit)
       via 04ddad91260fbad4c0db9c005056d2d280d9353f (commit)
       via 5c51e08fc2be944c592216d127ba4d09af17aba7 (commit)
       via d630d6ca1878ce62596e6b5dc69ce66ca698a9f5 (commit)
       via 7e99a36233bb1f07bf0739ce737885c6e6327455 (commit)
       via deaa1650c3d9843e622fa8ac37e7c7adc5f54a17 (commit)
       via b692351d53711c5d913304ebbd17b6cfa70d5dae (commit)
       via 111b25997956d561e056dd44aec5e08b89121a41 (commit)
       via c50dad5e2e3b7c0cf1e388d47f692ee26803b20b (commit)
       via 7f161d38c0d2044f2f73184f023d9af4b52921e9 (commit)
       via 5a245488c51d9e524a0dc9590dc634ed350333bc (commit)
       via faa8fc12a7d97cf69fe85405957f3c5448840e2b (commit)
       via de736b2c5b3658049a4b78a34441b915431c0993 (commit)
       via 727e0f42a5ede3d31ad46fd40529845e186ac5e0 (commit)
       via 115693040b3e6a342bd2eac31aa469cbc1764c76 (commit)
       via 75c302f5fabd722c1c1d5c7d8b2174f1554f6159 (commit)
       via d6a002b866533c3a04cdcf71e1e9e8d340369a24 (commit)
       via 147d851e7771e5629c5bd4ba1c9faaa67382aaad (commit)
       via c05e47a2a96536fa21b65f5bf89cb8aea5329e9f (commit)
       via 9508cd18693431441cbe3cc81aff70bca36d5252 (commit)
       via 50955ed038f2b360b2376099cb08c1f6479cf7e0 (commit)
       via 9df5f71202294d36825efb8dbd8f14f56b6cdd3d (commit)
       via 3373d567d8778c182a087769a49644d600c49dd7 (commit)
       via 3e95a3edfc573c5be815e4ca043d667b8a2d3d51 (commit)
       via 1641c5840fcbb10be1aa4e22d93e813c1f955571 (commit)
       via c87a0f31c7d992aa1a95cb3f10e3e6e7d6f30279 (commit)
       via e633191c3faa6505ba540a530ceedc72d8742f5d (commit)
       via cbd879419016a46326585f7e71b8...

Seth Forshee (sforshee) wrote :

FAIL: misc/tst-preadvwritev2
FAIL: misc/tst-preadvwritev64v2

Fixed upstream by f2652643d7234c08205b75f527191c2e2b35251f.

Seth Forshee (sforshee) wrote :

This is a harmless failure. The kernel simply added a new flag for p{read,write}v2, and the test is to check one bit higher than the highest flag the test thinks is valid. That bit turns out to be the new flag, so the operations do not fail as expected.

summary: - glibc 2.27-3ubuntu1 ADT test failure with linux 4.17.0-1.2+signed1
+ glibc tst-preadvwritev2 and tst-preadvwritev64v2 fail with Linux 4.16+
Changed in glibc:
importance: Unknown → Medium
status: Unknown → Fix Released
Seth Forshee (sforshee) on 2018-06-29
tags: added: hwe-userspace
Download full text (61.2 KiB)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The annotated tag, glibc-2.28 has been created
        at 0774a9618b539692317d0950477e16a8c5074caf (tag)
   tagging 3c03baca37fdcb52c3881e653ca392bba7a99c2b (commit)
  replaces glibc-2.27.9000
 tagged by Carlos O'Donell
        on Wed Aug 1 01:20:23 2018 -0400

- Log -----------------------------------------------------------------
The GNU C Library
=================

The GNU C Library version 2.28 is now available.

The GNU C Library is used as *the* C library in the GNU system and
in GNU/Linux systems, as well as many other systems that use Linux
as the kernel.

The GNU C Library is primarily designed to be a portable
and high performance C library. It follows all relevant
standards including ISO C11 and POSIX.1-2008. It is also
internationalized and has one of the most complete
internationalization interfaces known.

The GNU C Library webpage is at http://www.gnu.org/software/libc/

Packages for the 2.28 release may be downloaded from:
        http://ftpmirror.gnu.org/libc/
        http://ftp.gnu.org/gnu/libc/

The mirror list is at http://www.gnu.org/order/ftp.html

NEWS for version 2.28
=====================

Major new features:

* The localization data for ISO 14651 is updated to match the 2016
  Edition 4 release of the standard, this matches data provided by
  Unicode 9.0.0. This update introduces significant improvements to the
  collation of Unicode characters. This release deviates slightly from
  the standard in that the collation element ordering for lowercase and
  uppercase LATIN script characters is adjusted to ensure that regular
  expressions with ranges like [a-z] and [A-Z] don't interleave e.g. A
  is not matched by [a-z]. With the update many locales have been
  updated to take advantage of the new collation information. The new
  collation information has increased the size of the compiled locale
  archive or binary locales.

* The GNU C Library can now be compiled with support for Intel CET, AKA
  Intel Control-flow Enforcement Technology. When the library is built
  with --enable-cet, the resulting glibc is protected with indirect
  branch tracking (IBT) and shadow stack (SHSTK). CET-enabled glibc is
  compatible with all existing executables and shared libraries. This
  feature is currently supported on i386, x86_64 and x32 with GCC 8 and
  binutils 2.29 or later. Note that CET-enabled glibc requires CPUs
  capable of multi-byte NOPs, like x86-64 processors as well as Intel
  Pentium Pro or newer. NOTE: --enable-cet has been tested for i686,
  x86_64 and x32 on non-CET processors. --enable-cet has been tested
  for x86_64 and x32 on CET SDVs, but Intel CET support hasn't been
  validated for i686.

* The GNU C Library now has correct support for ABSOLUTE symbols
  (SHN_ABS-relative symbols). Previously such ABSOLUTE symbols were
  relocated incorrectly or in some cases discarded. The GNU linker can
  make use of the newer semantics, but it must communicate it to the
  dynamic loader by setting the ELF file's iden...

Seth Forshee (sforshee) wrote :

Kernel patch:

https://lore.kernel.org/patchwork/patch/995145/

Seems to not be getting any attention at all upstream however.

Changed in linux (Ubuntu):
assignee: nobody → Seth Forshee (sforshee)
importance: Undecided → Medium

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1773363

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu Bionic):
status: New → Incomplete
Changed in linux (Ubuntu Cosmic):
status: New → Incomplete
Andy Whitcroft (apw) on 2018-12-10
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Changed in linux (Ubuntu Bionic):
status: Incomplete → Confirmed
Changed in linux (Ubuntu Cosmic):
status: Incomplete → Confirmed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.