Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2984746imu; Sun, 9 Dec 2018 14:18:14 -0800 (PST) X-Google-Smtp-Source: AFSGD/W1F18SJrbyCBg0yrIsTiODmbjMzptAezpYk3kQZeFiN3nw0d8M/xPonVqchXaoamRpiR+2 X-Received: by 2002:a62:5486:: with SMTP id i128mr9847261pfb.215.1544393894487; Sun, 09 Dec 2018 14:18:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544393894; cv=none; d=google.com; s=arc-20160816; b=PZeMGCT0lH/7aBxrsATLiLw89RZGOYWc3JqNU0A7E/Z6VIUQYjrwGjNDcXV3NtZ/Mu ZLAKbAZvzr9jyzmcDkzrrcM+KVzHEvpr7A754cq2ctoIK4DVH2np+aq16EBhAzgw99h1 FF08vAFjvAvjBYzrUfK1c75DqDzVW4lhtDca9A0QBYPBhQMQ3Hs9iSGlroXJ1wTkrzap L4rUXLINCHUkAVpGBkHlOI5+QIL+zfh1CGc/C9P/Yz79/fqvf93pPov1LC980uHYPqIJ dVpYwAvBXabV79HJgK7R2j0W9xrW2YIQCXd4M4W+ybTR438DwSdiBiRKUw2t0l9ThFae UJ8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:subject:message-id:date:cc:to :from:mime-version:content-transfer-encoding:content-disposition; bh=to7dc9reodiUyKTpYe4Hnb3mLbdIUqll7DqOnErOBOo=; b=Vn8uoUkEt1xCI7xY5SiOr6vSpMupeEHfTNDRGEGhMJLCSUMsMap5Z7EovZlxJ810MN w7WiEkIoqv3YXrvlC+hby1YF01W2FyJEUyj/HDTzISZkeEX6R4W8fugvEyLoHlLuLPXy TqCXM9yCVMkSSbyHN2h1hLkE9n3GdMaQuAtKQJVfPRLsv1RsLT2YbDNuzLnNUnf9xnIm UxJCt7450EE1/iB3p5tto2iHAXt78tjv3YjHGxA92yA4ycRSxacn+eHKY7taJEKAQgqM ST7pEiyccAJA2TAK4ibUY5kfjSJ+i0T7/5Um2mf0NzONKqaj/sSvKYst6pnzqzY7uasH E2Rw== ARC-Authentication-Results: i=1; mx.google.com; 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 z143si9470306pfc.97.2018.12.09.14.17.59; Sun, 09 Dec 2018 14:18:14 -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; 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 S1728424AbeLIWNm (ORCPT + 99 others); Sun, 9 Dec 2018 17:13:42 -0500 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:37938 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728004AbeLIWNj (ORCPT ); Sun, 9 Dec 2018 17:13:39 -0500 Received: from pub.yeoldevic.com ([81.174.156.145] helo=deadeye) by shadbolt.decadent.org.uk with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gW73C-0002im-7g; Sun, 09 Dec 2018 21:55:46 +0000 Received: from ben by deadeye with local (Exim 4.91) (envelope-from ) id 1gW72d-0003OR-I2; Sun, 09 Dec 2018 21:55:11 +0000 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 From: Ben Hutchings To: linux-kernel@vger.kernel.org, stable@vger.kernel.org CC: akpm@linux-foundation.org, "Richard Weinberger" Date: Sun, 09 Dec 2018 21:50:33 +0000 Message-ID: X-Mailer: LinuxStableQueue (scripts by bwh) X-Patchwork-Hint: ignore Subject: [PATCH 3.16 139/328] ubifs: Fix memory leak in lprobs self-check In-Reply-To: X-SA-Exim-Connect-IP: 81.174.156.145 X-SA-Exim-Mail-From: ben@decadent.org.uk X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.16.62-rc1 review patch. If anyone has any objections, please let me know. ------------------ From: Richard Weinberger commit eef19816ada3abd56d9f20c88794cc2fea83ebb2 upstream. Allocate the buffer after we return early. Otherwise memory is being leaked. Fixes: 1e51764a3c2a ("UBIFS: add new flash file system") Signed-off-by: Richard Weinberger Signed-off-by: Ben Hutchings --- fs/ubifs/lprops.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --- a/fs/ubifs/lprops.c +++ b/fs/ubifs/lprops.c @@ -1091,10 +1091,6 @@ static int scan_check_cb(struct ubifs_in } } - buf = __vmalloc(c->leb_size, GFP_NOFS, PAGE_KERNEL); - if (!buf) - return -ENOMEM; - /* * After an unclean unmount, empty and freeable LEBs * may contain garbage - do not scan them. @@ -1113,6 +1109,10 @@ static int scan_check_cb(struct ubifs_in return LPT_SCAN_CONTINUE; } + buf = __vmalloc(c->leb_size, GFP_NOFS, PAGE_KERNEL); + if (!buf) + return -ENOMEM; + sleb = ubifs_scan(c, lnum, 0, buf, 0); if (IS_ERR(sleb)) { ret = PTR_ERR(sleb);