Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp4969501imu; Mon, 12 Nov 2018 22:01:06 -0800 (PST) X-Google-Smtp-Source: AJdET5cQwQCRN6zgrfjGh97ovkIvCwW/IZZgriumvuOukV2ePrNbmAvrkw1wXy0I0wNWZujfKVYP X-Received: by 2002:a62:9642:: with SMTP id c63-v6mr3983855pfe.100.1542088866885; Mon, 12 Nov 2018 22:01:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542088866; cv=none; d=google.com; s=arc-20160816; b=gHhKjryeGhDLJkg9geaevYhxZJs9tHVm+Xz3DqqOdCVyq8CaXn4mqhYC0/8B/ArIb1 757MezxCGTS2HrZa810zdpSvGLJM42g3hNK3mZNJn6U0ezclxGyX/ARkgYq/8O7UOJiU nPx2TwZZSjAU5CKA8YPpTrDZCJnIwB0/JT3fz9W3Zg2iRGl91jxyWSPqRfpfr0AWMZc8 OwLN+QdV7Cjn2CFEz/jRx6vw/8A3KFfIXkaY7bSpUrO/evyRK2CYR6JaIWQdcypAxK3E aifpsZR/qn4hFSamU45HiVBZ7MrRlkxIv0h82mMbI5sGqYYA6s1odnJNT7UGpaTerCPn 0JiA== 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=y7WqM/20GhJsE0rOK5x/EBTa0Sqx8qQ2D7bWp11iEUk=; b=IhMFQaAmTJdcUAq7ElHpq/WL5wQ4fSYYKhvNOkOO3LMLRvJsO7ZGnB11UF7rk0+9Jf pFLXHmt9vg8/l6Jq1yJXjNgFkPOHhpa4uw8CAM1Yajiv94El2MJyb2R8MjzPclvneB40 LN/rk65WtIfa9UFuPAXWsROZ0KhCZzEGwfvex2/W+bODxSMaiGXfgTifFb6+66zIIFzk e6bxBLqsYYhLhJ70AmVpD/78pmmsOS9UE6czYHNZ4weo5WMrxo0KoPhRkCMi0/EjTpIr rOofSnQ+SZsPI3NyyXDy9Cn/jJttV/i6Ld7JFI0Ke80oFt8pj256C/z1TWo5xQL5kzOr bnMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=UxmdCXCk; 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 t4-v6si21040463plb.237.2018.11.12.22.00.50; Mon, 12 Nov 2018 22:01:06 -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=UxmdCXCk; 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 S1732307AbeKMPr6 (ORCPT + 99 others); Tue, 13 Nov 2018 10:47:58 -0500 Received: from mail.kernel.org ([198.145.29.99]:33958 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732276AbeKMPr4 (ORCPT ); Tue, 13 Nov 2018 10:47:56 -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 4672D22520; Tue, 13 Nov 2018 05:51:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1542088289; bh=9iEchTNuhSxvpVncNOE/sMFjLJGH8MFYTgN2hKbZW34=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UxmdCXCkmOkNMId3L4GToZbnviagaSp1ZeFDCZnVC9jJnzBjT/t759TzxBLuiBw2K UIyt5rXxbkD/xJnfCTSU6uIEABmzy+t2TsQrqV/YrP5CU0n/iBUXgkbljlHejotDok PJx2T+nODkXeRIEM371Tv74OOBEN5+oOrFirfKJU= From: Sasha Levin To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Chengguang Xu , Al Viro , Sasha Levin Subject: [PATCH AUTOSEL 4.18 24/39] fs/exofs: fix potential memory leak in mount option parsing Date: Tue, 13 Nov 2018 00:50:38 -0500 Message-Id: <20181113055053.78352-24-sashal@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181113055053.78352-1-sashal@kernel.org> References: <20181113055053.78352-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 41cf2fbee50d..7d61e3fa378c 100644 --- a/fs/exofs/super.c +++ b/fs/exofs/super.c @@ -101,6 +101,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"); @@ -866,8 +867,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