Options of lib/nilfs is stored in n_opts member of nilfs object.  This
variable is not initialized in the current implementation of
nilfs_open API.  Thus, it can cause indeterminate behavior.

This issue is originally pointed out by Andreas Rohner in his rfc
patch titled "nilfs-utils: add support for tracking live blocks".

This fixes it separately.

Signed-off-by: Andreas Rohner <andreas.roh...@gmx.net>
Signed-off-by: Ryusuke Konishi <konishi.ryus...@lab.ntt.co.jp>
---
 lib/nilfs.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/nilfs.c b/lib/nilfs.c
index 30db654..1d18ffc 100644
--- a/lib/nilfs.c
+++ b/lib/nilfs.c
@@ -381,6 +381,7 @@ struct nilfs *nilfs_open(const char *dev, const char *dir, 
int flags)
        nilfs->n_iocfd = -1;
        nilfs->n_dev = NULL;
        nilfs->n_ioc = NULL;
+       nilfs->n_opts = 0;
        nilfs->n_mincno = NILFS_CNO_MIN;
        memset(nilfs->n_sems, 0, sizeof(nilfs->n_sems));
 
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to