Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp4966988imu; Mon, 12 Nov 2018 21:58:01 -0800 (PST) X-Google-Smtp-Source: AJdET5d+sCf9SodlnxeDtopJN1CcftMvwdKxU1RSELTwG3FcIvber0SB1RtRc2gXaqxhE3w5WsiD X-Received: by 2002:a63:d40a:: with SMTP id a10mr3482471pgh.394.1542088681159; Mon, 12 Nov 2018 21:58:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542088681; cv=none; d=google.com; s=arc-20160816; b=pkcgx3GpHA01bfF4a6S3S87V/5bLq6IVtlx3nTC+PiJDKBcGjOktdWqZfRqJDHv9IH A7Q+5FpTo62ULXM/jXyGwdnfkDVbKgDbaDD2e+k3dSJnmHnFSaR0iA9w/5uWl20s4+Ju JWiCP4aGWUzxCrw2cszNB/QyyPazVjSnADGEBTSwPm9KGoWYn7/WyuE2OdflQ3prZT4g rzWhMMOCxfB0S3r/zwq85h/TDu4BtmcGdDCoDEaPx9tYHxehsJuwBWhRI3WS2UT1KMXZ k1c57hMspCeZoKCqQ9lELd1lYEDpiByJQM3UpHv5qHbGK6bQaxgk38+zsXDNlHjP/cyR MQ3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=vZq30e1LOijaMNPhGlnpC/eCRQSRqcqqOwPUJ6QzthE=; b=b3vRTxg8m4GHBGEngLeMH3bEJa4DuJ1u8Ve3KLpMZiGLI9YLTN74jG6JA0NLaXcOrL pb99eSE1mdUKkw4c9qPaFOyKGOsrafvt8sKd/ghVH366MyiUgnah94uWNxqOZHAxv4Dc U5FfGWjPsPjYTYI/XBHRXbsANsVzFugaeObBZC4Cg1KLMGiVmNWGRe0IAc+jmDfvwO7X caf7LS+ID2dq8dqAcDlerlFhXjM/o4cdpyV0xzZy71oIZDFvF3c1V6qtEn44Zr8XJnWS S+E53BvdKWJm/8B92w+JOTM00sxcYjNsSpcbI7jgl7ZN5IMcukT59hseeXVLOHMHK5SB I2MA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Puls3i+Q; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e67-v6si20871366plb.401.2018.11.12.21.57.46; Mon, 12 Nov 2018 21:58:01 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Puls3i+Q; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732846AbeKMPv6 (ORCPT + 99 others); Tue, 13 Nov 2018 10:51:58 -0500 Received: from mail.kernel.org ([198.145.29.99]:36002 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731966AbeKMPtE (ORCPT ); Tue, 13 Nov 2018 10:49:04 -0500 Received: from sasha-vm.mshome.net (unknown [64.114.255.114]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 0FEC422521; Tue, 13 Nov 2018 05:52:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1542088357; bh=9+uoiLhG5oe/jX4oSYQeZJd4c8O0vh9zX6/zVnoCNj4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Puls3i+QaYJhgw5CQJpvIg4FWE8zaO23cAD1UdTROyxa/W+0l/9qrgsy2VEKUYmoC oJTtrQn0Emic0fwcU9VILXF5PXC/yHa6pUN/cttw4bdf6ehnGuo70fHk+/ajhKxnkj TAdWBCceIQTg3mOcrB1Z3ewYNlu2eHxarcKLF8sE= From: Sasha Levin To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Chengguang Xu , Al Viro , Sasha Levin Subject: [PATCH AUTOSEL 4.9 11/17] fs/exofs: fix potential memory leak in mount option parsing Date: Tue, 13 Nov 2018 00:52:17 -0500 Message-Id: <20181113055223.79060-11-sashal@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181113055223.79060-1-sashal@kernel.org> References: <20181113055223.79060-1-sashal@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Chengguang Xu [ Upstream commit 515f1867addaba49c1c6ac73abfaffbc192c1db4 ] There are some cases can cause memory leak when parsing option 'osdname'. Signed-off-by: Chengguang Xu Signed-off-by: Al Viro Signed-off-by: Sasha Levin --- fs/exofs/super.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fs/exofs/super.c b/fs/exofs/super.c index 1076a4233b39..0c48138486dc 100644 --- a/fs/exofs/super.c +++ b/fs/exofs/super.c @@ -100,6 +100,7 @@ static int parse_options(char *options, struct exofs_mountopt *opts) token = match_token(p, tokens, args); switch (token) { case Opt_name: + kfree(opts->dev_name); opts->dev_name = match_strdup(&args[0]); if (unlikely(!opts->dev_name)) { EXOFS_ERR("Error allocating dev_name"); @@ -868,8 +869,10 @@ static struct dentry *exofs_mount(struct file_system_type *type, int ret; ret = parse_options(data, &opts); - if (ret) + if (ret) { + kfree(opts.dev_name); return ERR_PTR(ret); + } if (!opts.dev_name) opts.dev_name = dev_name; -- 2.17.1