Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0eac940b authored by David Woodhouse's avatar David Woodhouse
Browse files

[JFFS2] Add some preemptive BUG checks for XATTR code



In a couple of places, we assume that what's at the end of the
->next_in_ino list is a struct jffs2_inode_cache. Let's check
for that, since we expect it to change soon.

Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
parent fcb75787
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -230,6 +230,7 @@ static inline void jffs2_remove_node_refs_from_ino_list(struct jffs2_sb_info *c,
			   at the end of the linked list. Stash it and continue
			   from the beginning of the list */
			ic = (struct jffs2_inode_cache *)(*prev);
			BUG_ON(ic->class != RAWNODE_CLASS_INODE_CACHE);
			prev = &ic->nodes;
			continue;
		}
+4 −0
Original line number Diff line number Diff line
@@ -661,6 +661,10 @@ void jffs2_mark_node_obsolete(struct jffs2_sb_info *c, struct jffs2_raw_node_ref
		spin_lock(&c->erase_completion_lock);

		ic = jffs2_raw_ref_to_ic(ref);
		/* It seems we should never call jffs2_mark_node_obsolete() for
		   XATTR nodes.... yet. Make sure we notice if/when we change
		   that :) */
		BUG_ON(ic->class != RAWNODE_CLASS_INODE_CACHE);
		for (p = &ic->nodes; (*p) != ref; p = &((*p)->next_in_ino))
			;