From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4DC0BC77B61 for ; Sat, 29 Apr 2023 01:59:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347396AbjD2B7c (ORCPT ); Fri, 28 Apr 2023 21:59:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51464 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347343AbjD2B7V (ORCPT ); Fri, 28 Apr 2023 21:59:21 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8D49149DA; Fri, 28 Apr 2023 18:59:11 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 8883B64630; Sat, 29 Apr 2023 01:59:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6812AC43321; Sat, 29 Apr 2023 01:59:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1682733549; bh=qbSmFjkxX3HUcFYifbkogWWlpPQjlc1XuGkAs7z+xus=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pyjLfX5LU5Ra+/SHIgAtTuJodvrFxA99Phw/909EJxlxDm4ZsCcLjN5AC/tjxXGxK 42Nt81awIlq3B7nVDbWc0lFV8Kq4JVleAF8LebdtVzoI9JjukPd9w50whpqk/WeMcK 5C9F7MUPuT+TIErq0IJAvBg4tFSI3iQngL1FGKbNEGd2HgDg6OA/fkAsY4iZWHFvNF 9M1qBP/m6zqxPZTWBSjoBzPYoalTQ4Jy1s0jAarAOCzv1ZbSRbrUFr+zGdmlV8Ytbk 8r4FFHpV/3sOkfcG2V15kvNe/1OBQ7UDcjME8xO1cfLEf8bk6+EvJzYKNjfUNHAXnx 1yx/+ThfKVTbQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ivan Orlov , Muchun Song , Shakeel Butt , Roman Gushchin , Shuah Khan , Sasha Levin , hannes@cmpxchg.org, mhocko@kernel.org, tj@kernel.org, lizefan.x@bytedance.com, shuah@kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org Subject: [PATCH AUTOSEL 6.1 2/3] selftests: cgroup: Add 'malloc' failures checks in test_memcontrol Date: Fri, 28 Apr 2023 21:59:03 -0400 Message-Id: <20230429015904.3027337-2-sashal@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230429015904.3027337-1-sashal@kernel.org> References: <20230429015904.3027337-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ivan Orlov [ Upstream commit c83f320e55a49abd90629f42a72897afd579e0de ] There are several 'malloc' calls in test_memcontrol, which can be unsuccessful. This patch will add 'malloc' failures checking to give more details about test's fail reasons and avoid possible undefined behavior during the future null dereference (like the one in alloc_anon_50M_check_swap function). Signed-off-by: Ivan Orlov Reviewed-by: Muchun Song Acked-by: Shakeel Butt Acked-by: Roman Gushchin Signed-off-by: Shuah Khan Signed-off-by: Sasha Levin --- tools/testing/selftests/cgroup/test_memcontrol.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tools/testing/selftests/cgroup/test_memcontrol.c b/tools/testing/selftests/cgroup/test_memcontrol.c index 8833359556f38..fe4f9f4302822 100644 --- a/tools/testing/selftests/cgroup/test_memcontrol.c +++ b/tools/testing/selftests/cgroup/test_memcontrol.c @@ -98,6 +98,11 @@ static int alloc_anon_50M_check(const char *cgroup, void *arg) int ret = -1; buf = malloc(size); + if (buf == NULL) { + fprintf(stderr, "malloc() failed\n"); + return -1; + } + for (ptr = buf; ptr < buf + size; ptr += PAGE_SIZE) *ptr = 0; @@ -211,6 +216,11 @@ static int alloc_anon_noexit(const char *cgroup, void *arg) char *buf, *ptr; buf = malloc(size); + if (buf == NULL) { + fprintf(stderr, "malloc() failed\n"); + return -1; + } + for (ptr = buf; ptr < buf + size; ptr += PAGE_SIZE) *ptr = 0; @@ -759,6 +769,11 @@ static int alloc_anon_50M_check_swap(const char *cgroup, void *arg) int ret = -1; buf = malloc(size); + if (buf == NULL) { + fprintf(stderr, "malloc() failed\n"); + return -1; + } + for (ptr = buf; ptr < buf + size; ptr += PAGE_SIZE) *ptr = 0; -- 2.39.2