On 2/24/18 4:33 AM, Chengguang Xu wrote: > When specifying string type mount option (e.g., logdev) > several times in a mount, current option parsing may > cause memory leak. Hence, call kfree for previous one > in this case. > > Signed-off-by: Chengguang Xu <cgxu519@xxxxxxxxxx> It might be worth investigating whether option respecification should be allowed, but does fix the immediate problem cleanly, so: Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> > --- > fs/xfs/xfs_super.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > index 7aba628..93588ea 100644 > --- a/fs/xfs/xfs_super.c > +++ b/fs/xfs/xfs_super.c > @@ -250,6 +250,7 @@ enum { > return -EINVAL; > break; > case Opt_logdev: > + kfree(mp->m_logname); > mp->m_logname = match_strdup(args); > if (!mp->m_logname) > return -ENOMEM; > @@ -258,6 +259,7 @@ enum { > xfs_warn(mp, "%s option not allowed on this system", p); > return -EINVAL; > case Opt_rtdev: > + kfree(mp->m_rtname); > mp->m_rtname = match_strdup(args); > if (!mp->m_rtname) > return -ENOMEM; > -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html