2 * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
3 * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
4 * Copyright (c) 1993-1996 Rick Sladkey <jrs@world.std.com>
5 * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
6 * Copyright (c) 2005 Roland McGrath <roland@redhat.com>
7 * Copyright (c) 2007-2015 Dmitry V. Levin <ldv@altlinux.org>
8 * Copyright (c) 2014-2018 The strace developers.
11 * SPDX-License-Identifier: LGPL-2.1-or-later
16 #define MS_MGC_VAL 0xc0ed0000 /* old magic mount flag number */
17 #define MS_MGC_MSK 0xffff0000 /* old magic mount flag mask */
19 #include "xlat/mount_flags.h"
23 bool ignore_type = false;
24 bool ignore_data = false;
25 bool old_magic = false;
26 kernel_ulong_t flags = tcp->u_arg[3];
29 if ((flags & MS_MGC_MSK) == MS_MGC_VAL) {
34 if (flags & MS_REMOUNT)
36 else if (flags & (MS_BIND | MS_MOVE | MS_SHARED
37 | MS_PRIVATE | MS_SLAVE | MS_UNBINDABLE))
38 ignore_type = ignore_data = true;
40 printpath(tcp, tcp->u_arg[0]);
43 printpath(tcp, tcp->u_arg[1]);
47 printaddr(tcp->u_arg[2]);
49 printstr(tcp, tcp->u_arg[2]);
53 print_xlat(MS_MGC_VAL);
57 if (flags || !old_magic)
58 printflags64(mount_flags, flags, "MS_???");
62 printaddr(tcp->u_arg[4]);
64 printstr(tcp, tcp->u_arg[4]);