X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=security%2Fselinux%2Favc.c;h=ac5d69bb3377edb3c8bec35f7a1c1570425980d8;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=a300702da5276a41a5c86a68e389f5ebcacdc058;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/security/selinux/avc.c b/security/selinux/avc.c index a300702da..ac5d69bb3 100644 --- a/security/selinux/avc.c +++ b/security/selinux/avc.c @@ -800,7 +800,7 @@ out: int avc_ss_reset(u32 seqno) { struct avc_callback_node *c; - int i, rc = 0, tmprc; + int i, rc = 0; unsigned long flag; struct avc_node *node; @@ -813,16 +813,15 @@ int avc_ss_reset(u32 seqno) for (c = avc_callbacks; c; c = c->next) { if (c->events & AVC_CALLBACK_RESET) { - tmprc = c->callback(AVC_CALLBACK_RESET, - 0, 0, 0, 0, NULL); - /* save the first error encountered for the return - value and continue processing the callbacks */ - if (!rc) - rc = tmprc; + rc = c->callback(AVC_CALLBACK_RESET, + 0, 0, 0, 0, NULL); + if (rc) + goto out; } } avc_latest_notif_update(seqno, 0); +out: return rc; }