Merge tag 'upstream-4.3-rc4' of git://git.infradead.org/linux-ubifs
Pull UBI/UBIFS fixes from Richard Weinberger: "This contains three bug fixes for both UBI and UBIFS" * tag 'upstream-4.3-rc4' of git://git.infradead.org/linux-ubifs: UBI: return ENOSPC if no enough space available UBI: Validate data_size UBIFS: Kill unneeded locking in ubifs_init_security
This commit is contained in:
@@ -926,6 +926,11 @@ static int validate_vid_hdr(const struct ubi_device *ubi,
|
||||
goto bad;
|
||||
}
|
||||
|
||||
if (data_size > ubi->leb_size) {
|
||||
ubi_err(ubi, "bad data_size");
|
||||
goto bad;
|
||||
}
|
||||
|
||||
if (vol_type == UBI_VID_STATIC) {
|
||||
/*
|
||||
* Although from high-level point of view static volumes may
|
||||
|
@@ -649,6 +649,7 @@ static int init_volumes(struct ubi_device *ubi,
|
||||
if (ubi->corr_peb_count)
|
||||
ubi_err(ubi, "%d PEBs are corrupted and not used",
|
||||
ubi->corr_peb_count);
|
||||
return -ENOSPC;
|
||||
}
|
||||
ubi->rsvd_pebs += reserved_pebs;
|
||||
ubi->avail_pebs -= reserved_pebs;
|
||||
|
@@ -1601,6 +1601,7 @@ int ubi_wl_init(struct ubi_device *ubi, struct ubi_attach_info *ai)
|
||||
if (ubi->corr_peb_count)
|
||||
ubi_err(ubi, "%d PEBs are corrupted and not used",
|
||||
ubi->corr_peb_count);
|
||||
err = -ENOSPC;
|
||||
goto out_free;
|
||||
}
|
||||
ubi->avail_pebs -= reserved_pebs;
|
||||
|
@@ -652,11 +652,8 @@ int ubifs_init_security(struct inode *dentry, struct inode *inode,
|
||||
{
|
||||
int err;
|
||||
|
||||
mutex_lock(&inode->i_mutex);
|
||||
err = security_inode_init_security(inode, dentry, qstr,
|
||||
&init_xattrs, 0);
|
||||
mutex_unlock(&inode->i_mutex);
|
||||
|
||||
if (err) {
|
||||
struct ubifs_info *c = dentry->i_sb->s_fs_info;
|
||||
ubifs_err(c, "cannot initialize security for inode %lu, error %d",
|
||||
|
Reference in New Issue
Block a user