From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933545AbcKVO3k (ORCPT ); Tue, 22 Nov 2016 09:29:40 -0500 Received: from mout.kundenserver.de ([212.227.126.134]:63695 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933360AbcKVO3i (ORCPT ); Tue, 22 Nov 2016 09:29:38 -0500 From: Arnd Bergmann To: Miklos Szeredi Cc: Arnd Bergmann , Vivek Goyal , Andreas Gruenbacher , Al Viro , Konstantin Khlebnikov , Antonio Murdaca , Maxim Patlasov , linux-unionfs@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] overlayfs: fix ovl_get_redirect() error handling Date: Tue, 22 Nov 2016 15:29:13 +0100 Message-Id: <20161122142921.1801734-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:Lr6cug8uFz4CX1w7V9gdAR7tOIuHFG+t+k38faWQPlo2WQpd/ja akbLlPjP5xk1l8FC9AV6TQnnT+98fr9IfgPhHBPFfbT5XxQtW5LuKXBiDufBbPby0Vc78YS myqunLfsLDDZ0NUk6/dBCekeF4m4eyiag3uFTV0W7lZeK1P1pxzoB0uy5LaUU3vUbHzJDCb zih3qA1BAhH3Fn/7eJcHw== X-UI-Out-Filterresults: notjunk:1;V01:K0:lNKEB6ckpgw=:J9TNlrAShrBAMSkPlze7fg IDJIUly3mWKbNr4QytVJ9R4KTElw0Up3supW8BQtNP6UH3c4VO3j6WbrH2E5veeGOEFvChjg7 jAOs3ablTOLgFkUjxSlYBUsdgprvMutKGZSgmEdyS3GRD36zSwD44TLTrFQV+vWpLXEn+vuGl TA5xeaOdB+t1FPChprmUD07sJFnl5jU/Zd8K4a6ELvRS7pSHnBj54+ICYh4cGLsu56rsnMD6c Kvi7xGPfn6oMm+bvL88sRAPSDcEi8C0aifA10WqAI0gNs/gDhJhw3+G0nmjh1ddBxHfa47hdW NJHvwaXnltDCB2GDN7ADo6VXXNwdrI+OenhETsVvPOMv3oZ3g0b/aGlM5n2ZS+l6f/MsGBTCG BMbOZbgWwF228A91/tmPvbxQ0cf7bAK4i6gwtJpv06vs8N7zecwpI/OnnR7vF0iXBwhKLjYS9 rUu3DSUj8Cu0Lv7UmUueUk1o/iJv0VF/Nglnbv6rgUtWojX9sgzKu4l1HvFqz9D1GGRx5EyJ/ XbOf7x7Qc/Qy7M37Tu6OI3dYDyac5dM01vn3CQmQDY8CLP9e0tlEnv++5t8HJvhql8X2vWSaT y9n1kQ/1lE21aVBG3x7tXO5rExdlg48pBtv0dVi2NWPuWBEqTDcNgnocl//xocASvOQyt27Pw txF2oxY8R6+/+3MnzHAXCYpILMefzi98ZHtt75BAFVZltpjG6mFEIw1StYaIsJr7zGS+yOzrB aPR0iC3zVDwa0HKZ Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The newly introduced ovl_get_redirect() function returns an unintialized variable when kmalloc() fails: fs/overlayfs/dir.c: In function ‘ovl_set_redirect’: fs/overlayfs/overlayfs.h:92:6: error: ‘ret’ may be used uninitialized in this function [-Werror=maybe-uninitialized] This makes it return -ENOMEM instead. Fixes: 496654b0792e ("ovl: redirect on rename-dir") Signed-off-by: Arnd Bergmann --- fs/overlayfs/dir.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/overlayfs/dir.c b/fs/overlayfs/dir.c index bc7c62c7a72f..fb9fce0112f0 100644 --- a/fs/overlayfs/dir.c +++ b/fs/overlayfs/dir.c @@ -798,8 +798,10 @@ static char *ovl_get_redirect(struct dentry *dentry, bool samedir) } buf = kmalloc(buflen, GFP_TEMPORARY); - if (!buf) + if (!buf) { + ret = ERR_PTR(-ENOMEM); goto out; + } buflen--; buf[buflen] = '\0'; -- 2.9.0