diff --git a/[refs] b/[refs] index 3d5cb003fa28..4d824ca27edb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8bf11938459ff8ceb8643258d0a35e0f2bc9be17 +refs/heads/master: 93518dd2ebafcc761a8637b2877008cfd748c202 diff --git a/trunk/fs/sysfs/inode.c b/trunk/fs/sysfs/inode.c index 4291fd1617ab..cc7ea5de2fdd 100644 --- a/trunk/fs/sysfs/inode.c +++ b/trunk/fs/sysfs/inode.c @@ -136,12 +136,13 @@ static int sysfs_sd_setsecdata(struct sysfs_dirent *sd, void **secdata, u32 *sec void *old_secdata; size_t old_secdata_len; - iattrs = sd->s_iattr; - if (!iattrs) - iattrs = sysfs_init_inode_attrs(sd); - if (!iattrs) - return -ENOMEM; + if (!sd->s_iattr) { + sd->s_iattr = sysfs_init_inode_attrs(sd); + if (!sd->s_iattr) + return -ENOMEM; + } + iattrs = sd->s_iattr; old_secdata = iattrs->ia_secdata; old_secdata_len = iattrs->ia_secdata_len;