J. Bruce Fields
7fc90ec93a
[PATCH] knfsd: nfsd: call nfsd_setuser() on fh_compose(), fix nfsd4 permissions problem
...
In the typical v2/v3 case the only new filehandles used as arguments to
operations are filehandles taken directly off the wire, which don't get
dentries until fh_verify() is called.
But in v4 the filehandles that are arguments to operations were often created
by previous operations (putrootfh, lookup, etc.) using fh_compose, which sets
the dentry in the filehandle without calling nfsd_setuser().
This also means that, for example, if filesystem B is mounted on filesystem A,
and filesystem A is exported without root-squashing, then a client can bypass
the rootsquashing on B using a compound that starts at a filehandle in A,
crosses into B using lookups, and then does stuff in B.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-30 11:25:40 -07:00
..
2006-06-28 14:59:05 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-23 07:42:45 -07:00
2006-06-26 09:58:18 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-29 14:19:21 -07:00
2006-06-29 14:43:01 -07:00
2006-06-28 14:59:04 -07:00
2006-06-24 13:07:53 -04:00
2006-06-23 07:42:45 -07:00
2006-06-28 14:59:04 -07:00
2006-05-21 12:59:16 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-23 07:42:45 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-27 17:32:38 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-09 09:40:27 -04:00
2006-06-28 14:59:04 -07:00
2006-06-23 07:42:45 -07:00
2006-06-30 11:25:36 -07:00
2006-06-30 11:25:36 -07:00
2005-10-11 09:46:54 -07:00
2006-06-30 11:25:40 -07:00
2006-03-24 07:33:19 -08:00
2006-06-28 14:59:04 -07:00
2006-06-29 16:13:35 -07:00
2006-06-25 23:19:14 -07:00
2006-06-26 12:25:08 -07:00
2006-06-30 11:25:36 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-28 14:59:04 -07:00
2006-06-29 10:26:20 -07:00
2006-06-23 07:42:45 -07:00
2006-06-28 14:59:04 -07:00
2006-06-26 18:35:02 +02:00
2006-01-11 18:42:13 -08:00
2006-03-28 09:16:06 -08:00
2006-01-10 08:01:25 -08:00
2006-06-23 07:42:54 -07:00
2006-06-23 07:43:05 -07:00
2005-04-16 15:20:36 -07:00
2006-06-25 21:04:24 -07:00
2006-06-24 13:07:53 -04:00
2005-04-16 15:20:36 -07:00
2005-10-29 21:40:38 -07:00
2006-06-17 10:52:12 -07:00
2006-06-29 14:19:21 -07:00
2006-06-30 11:25:35 -07:00
2006-06-26 12:25:08 -07:00
2006-06-26 12:25:05 -07:00
2006-06-26 10:48:16 -07:00
2006-06-26 09:58:17 -07:00
2006-03-26 08:56:56 -08:00
2006-06-23 17:10:39 +02:00
2006-03-26 08:56:56 -08:00
2006-06-26 09:58:17 -07:00
2006-01-08 20:12:40 -08:00
2006-06-25 10:01:13 -07:00
2006-06-26 09:58:27 -07:00
2006-04-02 13:37:19 +02:00
2006-04-11 13:53:33 +02:00
2006-06-23 07:43:06 -07:00
2006-03-28 09:16:05 -08:00
2005-10-30 17:37:32 -08:00
2006-06-30 11:25:36 -07:00
2006-06-30 11:25:36 -07:00
2006-06-23 07:42:45 -07:00
2006-06-20 05:25:19 -04:00
2006-01-11 18:42:13 -08:00
2006-06-30 11:25:37 -07:00
2006-06-29 14:56:12 -07:00
2006-01-08 20:13:36 -08:00
2006-06-26 09:58:17 -07:00
2006-06-23 07:43:03 -07:00
2006-06-26 12:25:05 -07:00
2006-03-28 09:16:08 -08:00
2006-06-23 07:42:49 -07:00
2006-06-25 10:01:22 -07:00
2006-06-26 09:58:17 -07:00
2006-03-24 07:33:19 -08:00
2006-06-25 10:01:15 -07:00
2006-06-23 07:42:45 -07:00
2006-06-26 09:58:17 -07:00
2005-11-07 18:18:11 -08:00
2005-10-08 15:00:57 -07:00
2005-04-16 15:20:36 -07:00
2006-03-23 07:38:11 -08:00
2006-03-23 07:38:11 -08:00
2006-04-11 13:56:09 +02:00
2006-01-09 15:59:24 -08:00
2006-06-25 10:01:22 -07:00
2006-03-23 07:38:12 -08:00
2006-06-23 17:10:39 +02:00
2006-04-28 21:04:59 +10:00
2006-06-24 13:07:53 -04:00
2006-06-23 07:42:49 -07:00
2005-04-16 15:20:36 -07:00
2006-06-20 05:25:28 -04:00