sem_open: allow RAMFS_MAGIC for mount points

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>
This commit is contained in:
Mike Frysinger 2014-01-23 01:15:14 -05:00
parent 6349768c8b
commit 6fc8123f48
2 changed files with 8 additions and 2 deletions

View 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> 2014-02-05 Carlos O'Donell <carlos@redhat.com>
* sysdeps/unix/sysv/linux/tst-setgetname.c (do_test): Skip the * sysdeps/unix/sysv/linux/tst-setgetname.c (do_test): Skip the

View File

@ -61,7 +61,8 @@ __where_is_shmfs (void)
/* The canonical place is /dev/shm. This is at least what the /* The canonical place is /dev/shm. This is at least what the
documentation tells everybody to do. */ 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. */ /* It is in the normal place. */
mountpoint.dir = (char *) defaultdir; mountpoint.dir = (char *) defaultdir;
@ -95,7 +96,8 @@ __where_is_shmfs (void)
/* First make sure this really is the correct entry. At least /* First make sure this really is the correct entry. At least
some versions of the kernel give wrong information because some versions of the kernel give wrong information because
of the implicit mount of the shmfs for SysV IPC. */ 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; continue;
namelen = strlen (mp->mnt_dir); namelen = strlen (mp->mnt_dir);