Index: linux-2.6.9-rsbac-v1.2.3/fs/namespace.c
===================================================================
--- linux-2.6.9-rsbac-v1.2.3/fs/namespace.c	(revision 82)
+++ linux-2.6.9-rsbac-v1.2.3/fs/namespace.c	(revision 83)
@@ -817,6 +817,12 @@
 	int err;
 	struct super_block * sb = nd->mnt->mnt_sb;
 
+        /* RSBAC */
+        #ifdef CONFIG_RSBAC
+        union rsbac_target_id_t       rsbac_target_id;
+        union rsbac_attribute_value_t rsbac_attribute_value;
+        #endif
+
 	if (!capable(CAP_SYS_ADMIN))
 		return -EPERM;
 
@@ -826,6 +832,43 @@
 	if (nd->dentry != nd->mnt->mnt_root)
 		return -EINVAL;
 
+        /* RSBAC */
+        #ifdef CONFIG_RSBAC
+#ifdef CONFIG_RSBAC_DEBUG
+        if (rsbac_debug_aef)
+          printk(KERN_DEBUG "do_remount() [do_mount() [sys_mount()]]: calling ADF for DIR\n");
+#endif
+        rsbac_target_id.dir.device = sb->s_dev;
+        rsbac_target_id.dir.inode  = nd->dentry->d_inode->i_ino;
+        rsbac_target_id.dir.dentry_p = nd->dentry;
+        rsbac_attribute_value.dummy = 0;
+        if (!rsbac_adf_request(R_MOUNT,
+                               current->pid,
+                               T_DIR,
+                               rsbac_target_id,
+                               A_none,
+                               rsbac_attribute_value))
+          {
+            return -EPERM;
+          }
+#ifdef CONFIG_RSBAC_DEBUG
+        if (rsbac_debug_aef)
+         printk(KERN_DEBUG "do_remount() [do_mount() [sys_mount()]]: calling ADF for DEV\n");
+#endif
+        rsbac_target_id.dev.type = D_block;
+        rsbac_target_id.dev.id   = sb->s_dev;
+        rsbac_attribute_value.mode = mnt_flags;
+        if (!rsbac_adf_request(R_MOUNT,
+                               current->pid,
+                               T_DEV,
+                               rsbac_target_id,
+                               A_mode,
+                               rsbac_attribute_value))
+          {
+            return -EPERM;
+          }
+        #endif
+
 	down_write(&sb->s_umount);
 	err = do_remount_sb(sb, flags, data, 0);
 	if (!err)
