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

Commit 3f822c62 authored by Miklos Szeredi's avatar Miklos Szeredi Committed by Al Viro
Browse files

ovl: don't poison cursor



ovl_cache_put() can be called from ovl_dir_reset() if the cache needs to be
rebuilt.  We did list_del() on the cursor, which results in an Oops on the
poisoned pointer in ovl_seek_cursor().

Reported-by: default avatarJordi Pujol Palomer <jordipujolp@gmail.com>
Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
Tested-by: default avatarJordi Pujol Palomer <jordipujolp@gmail.com>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent a1cff6e2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -168,7 +168,7 @@ static void ovl_cache_put(struct ovl_dir_file *od, struct dentry *dentry)
{
	struct ovl_dir_cache *cache = od->cache;

	list_del(&od->cursor.l_node);
	list_del_init(&od->cursor.l_node);
	WARN_ON(cache->refcount <= 0);
	cache->refcount--;
	if (!cache->refcount) {