Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp8502667ybl; Thu, 16 Jan 2020 18:14:45 -0800 (PST) X-Google-Smtp-Source: APXvYqx7Lz6v2ANE7HqPZP2z7mvn6QacMsC+EQZqI9zubxhZs/ZqphhD2vnWZviLWY1v7p03wfiP X-Received: by 2002:a05:6830:184:: with SMTP id q4mr4581799ota.232.1579227285273; Thu, 16 Jan 2020 18:14:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579227285; cv=none; d=google.com; s=arc-20160816; b=q7sQ/0aQN6WArPL3HOOBSQH8DIyBfqrtOyNm38AcxtdExqtTTHn6MxCagkRQtLcd96 NfppaFEFd7+r3wpn32fqlorxPktFGTaFH2u5OMsV9EzDf/RRn5rKWpVzHNuyH6qtFY0P rUlo02su2QWO0DuCn9u8tVAPMAUimZrrD5QEbdtHO2TreKkv/aiHCLUXMdVNUCwNEO/d aKYvfm8q2IrXIGDtsHJ4NbPCaaAwCbUzl8SUuo7RrfBljW8nQ2WlAl8M16pigA/Azkdu uIcdB+ZeBGlzQ4zmqgaYAytuBOqFMHSCzG3S7bzX8951/y9bpG3R6auKCjHEo0Ta37jQ 5clA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=hFI8ddKHgi1n/AzdbMiBSMRI/T+McYQxuXxSOJ24xu8=; b=XCbeutocKW+MCYOS+0jJdmAfPVJZn3gLltOBStLx7NgaEaBoeHNlJC9ity38ZwwNB+ 5zWfKNOCy9ZeKv3XMLv4J9FkMQ6RZA3azQmapWc5JYNCCVDmzDjsN4BT5QPhIy7xtPIf QzBwOFIV0kfh4ZFAY6NlBV72kv3aWwstFPwIDIo4bGf86F/NWXQRkrd0HCjzj0zYgjnX Hl2uzuBr9U9TTVishD2Edi3kfrEdRC4EZnlUidKhmxAXaq8Ch2dYg4ObWfho+M4eZ4Li 3ulZEbEZWDXGvNWB6PlvfpnhGIX9PiY0Of4yLEYzk6qlC50ADpQ+QnUJCoWuEosmbHeN NoRA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=N57H+kKT; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j9si12892582oii.195.2020.01.16.18.14.33; Thu, 16 Jan 2020 18:14:45 -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=N57H+kKT; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730354AbgAPXXx (ORCPT + 99 others); Thu, 16 Jan 2020 18:23:53 -0500 Received: from mail.kernel.org ([198.145.29.99]:52468 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729770AbgAPXXs (ORCPT ); Thu, 16 Jan 2020 18:23:48 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 836B020684; Thu, 16 Jan 2020 23:23:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579217028; bh=jQT+WNioAeZDY5GTweyyOO5vpR1C6KAoTQe7/C5EF3E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=N57H+kKTsOxkI70j9SJG/G/eal5VNOKN8WyzXljQVUBMjumSSgB4pjE1mhcBzyeZS abIeMCtI3rIcXxXjZ82nzjh2zdEH4u+DaCtWTOjGGzxYsOEC3nWv7+ZtZgQebCOsis 9gVZ2DNSrSs4KM2rn9poDQO+wWhiGKJzF4uT/UjQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Navid Emamdoost , David Sterba Subject: [PATCH 5.4 118/203] affs: fix a memory leak in affs_remount Date: Fri, 17 Jan 2020 00:17:15 +0100 Message-Id: <20200116231755.674843689@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200116231745.218684830@linuxfoundation.org> References: <20200116231745.218684830@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Navid Emamdoost commit 450c3d4166837c496ebce03650c08800991f2150 upstream. In affs_remount if data is provided it is duplicated into new_opts. The allocated memory for new_opts is only released if parse_options fails. There's a bit of history behind new_options, originally there was save/replace options on the VFS layer so the 'data' passed must not change (thus strdup), this got cleaned up in later patches. But not completely. There's no reason to do the strdup in cases where the filesystem does not need to reuse the 'data' again, because strsep would modify it directly. Fixes: c8f33d0bec99 ("affs: kstrdup() memory handling") Signed-off-by: Navid Emamdoost [ update changelog ] Signed-off-by: David Sterba Signed-off-by: Greg Kroah-Hartman --- fs/affs/super.c | 6 ------ 1 file changed, 6 deletions(-) --- a/fs/affs/super.c +++ b/fs/affs/super.c @@ -561,14 +561,9 @@ affs_remount(struct super_block *sb, int int root_block; unsigned long mount_flags; int res = 0; - char *new_opts; char volume[32]; char *prefix = NULL; - new_opts = kstrdup(data, GFP_KERNEL); - if (data && !new_opts) - return -ENOMEM; - pr_debug("%s(flags=0x%x,opts=\"%s\")\n", __func__, *flags, data); sync_filesystem(sb); @@ -579,7 +574,6 @@ affs_remount(struct super_block *sb, int &blocksize, &prefix, volume, &mount_flags)) { kfree(prefix); - kfree(new_opts); return -EINVAL; }