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