diff options
-rw-r--r-- | libdiskfs/io-revoke.c | 7 | ||||
-rw-r--r-- | libnetfs/io-revoke.c | 9 |
2 files changed, 11 insertions, 5 deletions
diff --git a/libdiskfs/io-revoke.c b/libdiskfs/io-revoke.c index ddda95fa..90f8dc98 100644 --- a/libdiskfs/io-revoke.c +++ b/libdiskfs/io-revoke.c @@ -30,9 +30,12 @@ diskfs_S_io_revoke (struct protid *cred) iterator_function (void *port) { struct protid *user = port; - - if ((user != cred) && (user->po->np == np)) + + if ((user.pi.class == diskfs_protid_class) + && (user != cred) + && (user->po->np == np)) ports_destroy_right (user); + return 0; } if (!cred) diff --git a/libnetfs/io-revoke.c b/libnetfs/io-revoke.c index 05f79f12..43ccae95 100644 --- a/libnetfs/io-revoke.c +++ b/libnetfs/io-revoke.c @@ -30,9 +30,12 @@ netfs_S_io_revoke (struct protid *cred) iterator_function (void *port) { struct protid *user = port; - - if ((user != cred) && (user->po->np == np)) + + if ((user.pi.class == netfs_protid_class) + && (user != cred) + && (user->po->np == np)) ports_destroy_right (user); + return 0; } if (!cred) @@ -51,7 +54,7 @@ netfs_S_io_revoke (struct protid *cred) return err; } - ports_bucket_iterate (diskfs_port_bucket, iterator_function); + ports_bucket_iterate (netfs_port_bucket, iterator_function); mutex_unlock (&np->lock); |