Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2488927imm; Mon, 28 May 2018 09:03:06 -0700 (PDT) X-Google-Smtp-Source: AB8JxZozMLmYD/0s064G1yu+uC8kVGqe8fIdl1r1g3ZBG8LvCqPu44wsqXuSwBMJFev3AR6tptP9 X-Received: by 2002:a17:902:42a3:: with SMTP id h32-v6mr14350928pld.72.1527523386746; Mon, 28 May 2018 09:03:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527523386; cv=none; d=google.com; s=arc-20160816; b=veIR8G0E6GXw6uG0Io7P43pVO92Y3cltCig8NFXwn7eygmrzQCmbKP8olVXraKFI+W foiTOfn6Lk1oj774GgRx1lh2lD7S/3RtN+WBaY/UiuqkID/YzkcNvjsZwSbYstwvrF/7 B9j4Y/anmUfv+mDN9eCv7Fd7S0lYYIFOhJDLMWLvXdYq5dvDG0ksB/x6VE50oT03IHgw ZWLN5JxBJ+Vvn5DhhW8xikVqUerrlmN0KCMihDkItAW5xo5usjUOUU0ws7bM5YF0WLFp SON+cG4qeo1LNeF1FnVbpSiUhWD4hrlMXkvs9WCbGxWS6rSluFG7PIHy6+J9h86cv3ft Rakg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=lWBHuUHtdgErNYkKkMQG37xprukTkRN+S1UaJAuqsvA=; b=KCtkyR+zJNNgFDbkfBW9GK/Ch+hq99riZxttcCV5MRH1N7wqWBuqMcrswvMhnmEJ2j a3WxsZe07dY8PPo+xC/27Pr+OOU1LhwvKBAVdz2feEcgcuPaoMaJQDALKQIROQr63NTM iWit45f4jYRTn7sltMqUM5ZpdDf/Vqwjqcd6METeV7Emsqz9oirKvC9act4MvNW2BF3T 8mf5IL2qpuTMPVS4heA5J3QfuxdXXRoUMZhUGUC/29VcXUH5RFSqFNH2/zSb207owUzh FyqmX5rwqQWVswPs0DgEUhJJQelQ1g6l+439Zdie2NtZbOO9OYEVIPYNsPBdwekgtdBu lqcA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=2unnFEOP; 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 e63-v6si30481583pfd.261.2018.05.28.09.02.51; Mon, 28 May 2018 09:03:06 -0700 (PDT) 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=2unnFEOP; 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 S933024AbeE1QCR (ORCPT + 99 others); Mon, 28 May 2018 12:02:17 -0400 Received: from mail.kernel.org ([198.145.29.99]:35570 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966398AbeE1KPY (ORCPT ); Mon, 28 May 2018 06:15:24 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (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 DB06A206B7; Mon, 28 May 2018 10:15:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527502524; bh=cq0C+gfwuqLNPZX6DQMSTKHnlGZkPNSp/5gN+3VOKm4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2unnFEOP8BfxLCYItcSDw8Ol/miM+wTOcB4LbjZrivj8UHMud9duNstov6Sl9iCG+ YwXRZNGEQMeTUZF9GgaicVaeigEnzQFWAi9m/CYWgVAM0yuAAz4uX4R+sUQd8ztJTa +tSWKPcaKBBfoiNmu564/PT+nNZ5+utSFOgQDg0w= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ulf Magnusson , Masahiro Yamada , Sasha Levin Subject: [PATCH 4.4 032/268] kconfig: Fix automatic menu creation mem leak Date: Mon, 28 May 2018 12:00:06 +0200 Message-Id: <20180528100205.725278433@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100202.045206534@linuxfoundation.org> References: <20180528100202.045206534@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Ulf Magnusson [ Upstream commit ae7440ef0c8013d68c00dad6900e7cce5311bb1c ] expr_trans_compare() always allocates and returns a new expression, giving the following leak outline: ... *Allocate* basedep = expr_trans_compare(basedep, E_UNEQUAL, &symbol_no); ... for (menu = parent->next; menu; menu = menu->next) { ... *Copy* dep2 = expr_copy(basedep); ... *Free copy* expr_free(dep2); } *basedep lost!* Fix by freeing 'basedep' after the loop. Summary from Valgrind on 'menuconfig' (ARCH=x86) before the fix: LEAK SUMMARY: definitely lost: 344,376 bytes in 14,349 blocks ... Summary after the fix: LEAK SUMMARY: definitely lost: 44,448 bytes in 1,852 blocks ... Signed-off-by: Ulf Magnusson Signed-off-by: Masahiro Yamada Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- scripts/kconfig/menu.c | 1 + 1 file changed, 1 insertion(+) --- a/scripts/kconfig/menu.c +++ b/scripts/kconfig/menu.c @@ -364,6 +364,7 @@ void menu_finalize(struct menu *parent) menu->parent = parent; last_menu = menu; } + expr_free(basedep); if (last_menu) { parent->list = parent->next; parent->next = last_menu->next;