Also,
+ mutex_lock(&smack_cipso_lock);
+
+ for (scp = smack_cipso; scp != NULL; scp = scp->smk_next)
+ if (mapsmack == scp->smk_smack)
+ break;
+
+ if (scp == NULL) {
+ scp = kzalloc(sizeof(struct smk_cipso_entry),
+ GFP_KERNEL);
+ if (scp == NULL) {
+ rc = -ENOMEM;
+ break;
+ }
+ scp->smk_next = smack_cipso;
+ scp->smk_smack = mapsmack;
+ scp->smk_level = maplevel;
+ scp->smk_catset = mapcatset;
+ wmb();
+ smack_cipso = scp;
+ /*
+ * Add this to ensure that there are enough bytes
+ * for the regurgitation
+ */
+ smk_cipso_written += sizeof(smack_t);
+ }
+
+ mutex_unlock(&smack_cipso_lock);
Why do you have a wmb() here ? The mutex lock acts as a full memory
barrier.
--
James Morris
<[EMAIL PROTECTED]>
-
To unsubscribe from this list: send the line "unsubscribe
linux-security-module" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html