freebsd-dev/sys/fs/cd9660
Rick Macklem 1f7104d720 Fix export_args ex_flags field so that is 64bits, the same as mnt_flags.
Since mnt_flags was upgraded to 64bits there has been a quirk in
"struct export_args", since it hold a copy of mnt_flags
in ex_flags, which is an "int" (32bits).
This happens to currently work, since all the flag bits used in ex_flags are
defined in the low order 32bits. However, new export flags cannot be defined.
Also, ex_anon is a "struct xucred", which limits it to 16 additional groups.
This patch revises "struct export_args" to make ex_flags 64bits and replaces
ex_anon with ex_uid, ex_ngroups and ex_groups (which points to a
groups list, so it can be malloc'd up to NGROUPS in size.
This requires that the VFS_CHECKEXP() arguments change, so I also modified the
last "secflavors" argument to be an array pointer, so that the
secflavors could be copied in VFS_CHECKEXP() while the export entry is locked.
(Without this patch VFS_CHECKEXP() returns a pointer to the secflavors
array and then it is used after being unlocked, which is potentially
a problem if the exports entry is changed.
In practice this does not occur when mountd is run with "-S",
but I think it is worth fixing.)

This patch also deleted the vfs_oexport_conv() function, since
do_mount_update() does the conversion, as required by the old vfs_cmount()
calls.

Reviewed by:	kib, freqlabs
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D25088
2020-06-14 00:10:18 +00:00
..
cd9660_bmap.c
cd9660_iconv.c
cd9660_lookup.c cd9660: replace bcopy/bzero with C standard equivalents 2018-07-31 12:36:46 +00:00
cd9660_mount.h
cd9660_node.c Rework v_object lifecycle for vnodes. 2019-08-29 07:50:25 +00:00
cd9660_node.h
cd9660_rrip.c cd9660: replace bcopy/bzero with C standard equivalents 2018-07-31 12:36:46 +00:00
cd9660_rrip.h cd9660 pointer sign issues and missing __packed attribute 2018-08-15 06:42:31 +00:00
cd9660_util.c
cd9660_vfsops.c Fix export_args ex_flags field so that is 64bits, the same as mnt_flags. 2020-06-14 00:10:18 +00:00
cd9660_vnops.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
iso_rrip.h
iso.h cd9660 pointer sign issues and missing __packed attribute 2018-08-15 06:42:31 +00:00
TODO
TODO.hibler