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

Reply via email to