if (sbsec->behavior == SECURITY_FS_USE_MNTPOINT) return -EOPNOTSUPP;  
static int selinux_inode_init_security(struct inode *inode, struct inode *dir,				       char **name, void **value,				       size_t *len){	struct task_security_struct *tsec;	struct inode_security_struct *dsec;	struct superblock_security_struct *sbsec;	struct inode_security_struct *isec;	u32 newsid, clen;	int rc;	char *namep = NULL, *context;	tsec = current->security;	dsec = dir->i_security;	sbsec = dir->i_sb->s_security;	isec = inode->i_security;	if (tsec->create_sid && sbsec->behavior != SECURITY_FS_USE_MNTPOINT) {		newsid = tsec->create_sid;	} else {		rc = security_transition_sid(tsec->sid, dsec->sid,					     inode_mode_to_security_class(inode->i_mode),					     &newsid);		if (rc) {			printk(KERN_WARNING "%s:  "			       "security_transition_sid failed, rc=%d (dev=%s "			       "ino=%ld)\n",			       __FUNCTION__,			       -rc, inode->i_sb->s_id, inode->i_ino);			return rc;		}	}	inode_security_set_sid(inode, newsid);	if (name) {		namep = kstrdup(XATTR_SELINUX_SUFFIX, GFP_KERNEL);		if (!namep)			return -ENOMEM;		*name = namep;	}	if (value && len) {		rc = security_sid_to_context(newsid, &context, &clen);		if (rc) {			kfree(namep);			return rc;		}		*value = context;		*len = clen;	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/25a74f3ba8efb394e9a30d6de37566bf03fd3de8/hooks.c/buggy/security/selinux/hooks.c