sem_open: allow RAMFS_MAGIC for mount points
authorMike Frysinger <vapier@gentoo.org>
Thu, 23 Jan 2014 06:15:14 +0000 (01:15 -0500)
committerMike Frysinger <vapier@gentoo.org>
Sat, 8 Feb 2014 13:14:37 +0000 (08:14 -0500)
A ramfs mount supports the same requirements as a tmpfs, so accept that
as a magic type too.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
nptl/ChangeLog
nptl/sem_open.c

index a4d3f45..474a473 100644 (file)
@@ -1,3 +1,7 @@
+2014-02-08  Mike Frysinger  <vapier@gentoo.org>
+
+       * sem_open.c (__where_is_shmfs): Compare f.f_type to RAMFS_MAGIC too.
+
 2014-02-05  Carlos O'Donell  <carlos@redhat.com>
 
        * sysdeps/unix/sysv/linux/tst-setgetname.c (do_test): Skip the
index 529f636..b57e6b7 100644 (file)
@@ -61,7 +61,8 @@ __where_is_shmfs (void)
 
   /* The canonical place is /dev/shm.  This is at least what the
      documentation tells everybody to do.  */
-  if (__statfs (defaultmount, &f) == 0 && f.f_type == SHMFS_SUPER_MAGIC)
+  if (__statfs (defaultmount, &f) == 0 && (f.f_type == SHMFS_SUPER_MAGIC
+                                          || f.f_type == RAMFS_MAGIC))
     {
       /* It is in the normal place.  */
       mountpoint.dir = (char *) defaultdir;
@@ -95,7 +96,8 @@ __where_is_shmfs (void)
        /* First make sure this really is the correct entry.  At least
           some versions of the kernel give wrong information because
           of the implicit mount of the shmfs for SysV IPC.  */
-       if (__statfs (mp->mnt_dir, &f) != 0 || f.f_type != SHMFS_SUPER_MAGIC)
+       if (__statfs (mp->mnt_dir, &f) != 0 || (f.f_type != SHMFS_SUPER_MAGIC
+                                               && f.f_type != RAMFS_MAGIC))
          continue;
 
        namelen = strlen (mp->mnt_dir);