kfree (seg); 
kfree(seg); 
segment_modify_shared (char *name, int do_nonshared){	struct dcss_segment *seg;	unsigned long dummy;	int dcss_command, rc, diag_cc;	spin_lock (&dcss_lock);	seg = segment_by_name (name);	if (seg == NULL) {		rc = -EINVAL;		goto out_unlock;	}	if (do_nonshared == seg->do_nonshared) {		PRINT_INFO ("segment_modify_shared: not reloading segment %s"				" - already in requested mode\n",name);		rc = 0;		goto out_unlock;	}	if (atomic_read (&seg->ref_count) != 1) {		PRINT_WARN ("segment_modify_shared: not reloading segment %s - "				"segment is in use by other driver(s)\n",name);		rc = -EAGAIN;		goto out_unlock;	}	dcss_diag(DCSS_PURGESEG, seg->dcss_name,		  &dummy, &dummy);	if (do_nonshared)		dcss_command = DCSS_LOADNSR;	else	dcss_command = DCSS_LOADNOLY;	diag_cc = dcss_diag(dcss_command, seg->dcss_name,			&seg->start_addr, &seg->end);	if (diag_cc > 1) {		PRINT_WARN ("segment_modify_shared: could not reload segment %s"				" - diag returned error (%ld)\n",name,seg->end);		rc = dcss_diag_translate_rc (seg->end);		goto out_del;	}	seg->do_nonshared = do_nonshared;	rc = 0;	goto out_unlock; out_del:	list_del(&seg->list);	dcss_diag(DCSS_PURGESEG, seg->dcss_name,		  &dummy, &dummy);	kfree (seg); out_unlock:	spin_unlock(&dcss_lock);	return rc;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b2325fe1b7e5654fac9e9419423aa2c58a3dbd83/extmem.c/clean/arch/s390/mm/extmem.c