Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756125AbdLOMxD (ORCPT ); Fri, 15 Dec 2017 07:53:03 -0500 Received: from mout.kundenserver.de ([212.227.126.131]:53650 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755555AbdLOMw4 (ORCPT ); Fri, 15 Dec 2017 07:52:56 -0500 From: Arnd Bergmann To: Andrew Morton , Michal Hocko , "Kirill A. Shutemov" Cc: Arnd Bergmann , Stephen Rothwell , Vlastimil Babka , David Rientjes , Ingo Molnar , Yang Shi , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH] mm: thp: avoid uninitialized variable use Date: Fri, 15 Dec 2017 13:51:04 +0100 Message-Id: <20171215125129.2948634-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:ACzB41OgFqKSdOlY1BiTB6dnWkDvRLIqDAo2jiKgMtuV0X1ofYe eX5AqKXixKygbiGbJ9gDra0WLfPwtMS6Myda3/qZGmVSJmGELExssucFqUEzpG6irBM2/LB 1FF+/x+8CMOhivfbpyO4B3aDFy/oEx5L7B0j9u+GokqT787nPgY9H5edaZTJn++ia+MIQjW EjTpRAaBr0b2qM6CFDoUQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:NJxVWK1J5nw=:ulb+1WlhpYMHCmPhUH3CAg oJ4dmHuVLGs5rAZCntaFn79ZBQc4QnQoD5qWTkE1meRVyhoN24J3rxK/Fg0ly4LbwnfDjoCGy /gU/FLF4yQUyQ4ga4V5hOrCCv8EzCa9YaCaqlXC3dfbUT4UJDWWRIUKxWIe5BURdZ63bI19Bv VGg2XUQ/6eaUBBX9kBmLFrdpn8lVVlXgoEwdjz54ijOHXCN4H6pIhXfOonF+bDyPQKjtP9b7s hjRUlXBP7R/Zv7f/L1XhnrqRHrn8QisUD5iSTmMtrY0bmhCpLUiNQcZpL3K0mHD3MCAmYeXQ6 Hf2deLj+9CeWkqu9+lGwePDUcx3wv8XRiJmtWbdHodOkZoQfi7BSz9pRxGPlbYa0KA50DntgT PtI3sM5pykdua/qmZ8C6bxxF9xYVnhHB2keNHN1IUXzs5uDaSyEk1xaDjZTygES/EYw1+ZEn/ 9kjnwCBfHwehzOI3ar9BnMSRN+Rbjf04ieXA5aJ3opDsfgzLfL4XJ0zGO67Hc/Cwvfm23MKNz Jh2icrVjTeggUho93ipWizXOprODenzVyP8Bbfg3kQLOunbWTIv3Y0MEez+UifwIDlQr/MbJZ jRCW2cBXzW7ow0YCvYLXvXMQMVNLW6FFL7CjdCDuxnry5CmDaFwfUO67ASQnt8uKnmsQWmRTO X2ZoED2q2RbF6/zlU8xTIb8W2elTqIw/RgBsRIoFOABebM92cU0HbTHhCYxdc9qlDrzojmND1 5QjEywMOUt8m8Q0f56eDCmhO+8IOHSRKJgqrXA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1423 Lines: 40 When the down_read_trylock() fails, 'vma' has not been initialized yet, which gcc now warns about: mm/khugepaged.c: In function 'khugepaged': mm/khugepaged.c:1659:25: error: 'vma' may be used uninitialized in this function [-Werror=maybe-uninitialized] Presumable we are not supposed to call find_vma() without the mmap_sem either, so setting it to NULL for this case seems appropriate. Fixes: 0951b59acf3a ("mm: thp: use down_read_trylock() in khugepaged to avoid long block") Signed-off-by: Arnd Bergmann --- I'm not completely sure this patch is sufficient, it gets rid of the warning, but it would be good to have the code reviewed better to see if other problems remain that result from down_read_trylock() patch. --- mm/khugepaged.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mm/khugepaged.c b/mm/khugepaged.c index 521b908f9600..b7e2268dfc9a 100644 --- a/mm/khugepaged.c +++ b/mm/khugepaged.c @@ -1677,11 +1677,10 @@ static unsigned int khugepaged_scan_mm_slot(unsigned int pages, * Don't wait for semaphore (to avoid long wait times). Just move to * the next mm on the list. */ + vma = NULL; if (unlikely(!down_read_trylock(&mm->mmap_sem))) goto breakouterloop_mmap_sem; - if (unlikely(khugepaged_test_exit(mm))) - vma = NULL; - else + if (likely(!khugepaged_test_exit(mm))) vma = find_vma(mm, khugepaged_scan.address); progress++; -- 2.9.0