if (ret == 0) { 
if (ret == 0) 
int key_update(struct key *key, const void *payload, size_t plen){	int ret;	key_check(key);	/* the key must be writable */	ret = -EACCES;	if (!key_permission(key, KEY_WRITE))		goto error;	/* attempt to update it if supported */	ret = -EOPNOTSUPP;	if (key->type->update) {		down_write(&key->sem);		ret = key->type->update(key, payload, plen);		if (ret == 0) {			/* updating a negative key instantiates it */			write_lock(&key->lock);			key->flags &= ~KEY_FLAG_NEGATIVE;			write_unlock(&key->lock);		}		up_write(&key->sem);	} error:	return ret;} /* end key_update() */
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/76d8aeabfeb1c42641a81c44280177b9a08670d8/key.c/clean/security/keys/key.c