Messages in this thread | | | Date | Fri, 13 Jul 2001 13:30:22 +0200 | From | Abramo Bagnara <> | Subject | Re: [NFS] [PATCH] Bug in NFS |
| |
Neil Brown wrote: > > On Friday July 13, abramo@alsa-project.org wrote: > > > > I have found a bug in NFSv2. > > > > [root@igor /tmp]# mount igor:/u u > > [root@igor /tmp]# cd u > > [root@igor u]# umask 000 > > [root@igor u]# ls -l q > > ls: q: File o directory inesistente > > [root@igor u]# touch q > > [root@igor u]# ls -l q > > -rw-r--r-- 1 root root 0 lug 13 07:56 q > > > > This seems to be caused by use of unitialized current->fs->umask via > > vfs_create called by nfsd_create. > > > > Hmmm.. I think there is more here than immediately meets the eye. > > current->fs->umask is initialised, to 0, in include/linux/fs_struct.h > The "INIT_FS" define is used to set the initial value of the fs_struct > (see arch/i386/kernel/init_task.c - other archs are the same). > The third field here is the umask field. > > This is the fs_struct for init, and for every kernel thread that call > daemonise, as the nfsd threads do ever since 2.4.3pre5 or there abouts. > > If the umask for nfsd is getting set to 022, as it would appear from > your experiment, then either: > - your init process is setting it, or > - you are using some odd architecture that doesn't use INIT_FS > > So: what init program are you running, what architecture, any other > patches, anything else that might explain why your machine is > different from mine. Because on mine, the touched file gets the right > permissions.
I've seen that on several systems with the following characteristics:
- Torvalds linux-2.4.6, Torvalds linux-2.4.4, linux-2.4.4+xfs from sgi - nfsd compiled as a module (I suppose this make the difference we see) - stock redhat-7.1 with updates applied
$ rpm -qf /sbin/init SysVinit-2.78-17
-- Abramo Bagnara mailto:abramo@alsa-project.org
Opera Unica Phone: +39.546.656023 Via Emilia Interna, 140 48014 Castel Bolognese (RA) - Italy
ALSA project http://www.alsa-project.org It sounds good! - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |