Commit 5b032cac authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'ubifs-for-linus-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs

Pull JFFS2 and UBIFS fixes from Richard Weinberger:
 "JFFS2:
   - Correctly check return code of jffs2_prealloc_raw_node_refs()

  UBIFS:
   - Spelling fixes"

* tag 'ubifs-for-linus-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
  jffs2: check jffs2_prealloc_raw_node_refs() result in few other places
  jffs2: check that raw node were preallocated before writing summary
  ubifs: Fix grammar in error message
parents bdc7f8c5 2b6d9650
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -425,7 +425,9 @@ static void jffs2_mark_erased_block(struct jffs2_sb_info *c, struct jffs2_eraseb
			.totlen =	cpu_to_je32(c->cleanmarker_size)
		};

		jffs2_prealloc_raw_node_refs(c, jeb, 1);
		ret = jffs2_prealloc_raw_node_refs(c, jeb, 1);
		if (ret)
			goto filebad;

		marker.hdr_crc = cpu_to_je32(crc32(0, &marker, sizeof(struct jffs2_unknown_node)-4));

+3 −1
Original line number Diff line number Diff line
@@ -256,7 +256,9 @@ int jffs2_scan_medium(struct jffs2_sb_info *c)

		jffs2_dbg(1, "%s(): Skipping %d bytes in nextblock to ensure page alignment\n",
			  __func__, skip);
		jffs2_prealloc_raw_node_refs(c, c->nextblock, 1);
		ret = jffs2_prealloc_raw_node_refs(c, c->nextblock, 1);
		if (ret)
			goto out;
		jffs2_scan_dirty_space(c, c->nextblock, skip);
	}
#endif
+6 −1
Original line number Diff line number Diff line
@@ -858,7 +858,10 @@ int jffs2_sum_write_sumnode(struct jffs2_sb_info *c)
	spin_unlock(&c->erase_completion_lock);

	jeb = c->nextblock;
	jffs2_prealloc_raw_node_refs(c, jeb, 1);
	ret = jffs2_prealloc_raw_node_refs(c, jeb, 1);

	if (ret)
		goto out;

	if (!c->summary->sum_num || !c->summary->sum_list_head) {
		JFFS2_WARNING("Empty summary info!!!\n");
@@ -872,6 +875,8 @@ int jffs2_sum_write_sumnode(struct jffs2_sb_info *c)
	datasize += padsize;

	ret = jffs2_sum_write_data(c, jeb, infosize, datasize, padsize);

out:
	spin_lock(&c->erase_completion_lock);
	return ret;
}
+1 −1
Original line number Diff line number Diff line
@@ -985,7 +985,7 @@ int ubifs_jnl_write_inode(struct ubifs_info *c, const struct inode *inode)
	dbg_jnl("ino %lu, nlink %u", inode->i_ino, inode->i_nlink);

	if (kill_xattrs && ui->xattr_cnt > ubifs_xattr_max_cnt(c)) {
		ubifs_err(c, "Cannot delete inode, it has too much xattrs!");
		ubifs_err(c, "Cannot delete inode, it has too many xattrs!");
		err = -EPERM;
		ubifs_ro_mode(c, err);
		return err;