list_del(&keyring->type_data.link); 
 if (keyring->type_data.link.next != NULL && !list_empty(&keyring->type_data.link)) list_del(&keyring->type_data.link);  
static void keyring_destroy(struct key *keyring){	struct keyring_list *klist;	int loop;	if (keyring->description) {		write_lock(&keyring_name_lock);		list_del(&keyring->type_data.link);		write_unlock(&keyring_name_lock);	}	klist = rcu_dereference(keyring->payload.subscriptions);	if (klist) {		for (loop = klist->nkeys - 1; loop >= 0; loop--)			key_put(klist->keys[loop]);		kfree(klist);	}} /* end keyring_destroy() */
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/94efe72f762e2c147d8146d637d5ece5614c8d94/keyring.c/clean/security/keys/keyring.c