From nobody Mon Sep 28 18:34:06 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 71F9F47887F for ; Tue, 18 Aug 2026 13:34:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787060054; cv=none; b=kJ73qj4G/Vbx5iGtVdGTvBLdrxcrredvbUWPPG6eoKFzyvsab0j8c7DzyuVa2AY8I7fVQdupeqw0sgWn1a1DS8lPO8255GkGCwM1EhJrJmhKTMWTlueNrRP0tzpu9REPxaRzFOeMUt8PRYFNNl8ylewOsx5Onkvt3rfODCocgr4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787060054; c=relaxed/simple; bh=PBF5Vlom3W1lzqKYtWUG2ur46AFkvgsc/Pbo23p7+1E=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=n0+OLmdrcDNsF/6FtXiBLonag031wFFiNfXGaDgEWdc6ZuOfSU9MetdydqYP3CWpuNFzWJrC2TeZDco1B6VEqHy/92rxiCgzfSpkkNl6kohiIH5sPwKj9/qTCLn6fncugFLUXqfszX6lgTqJi9WdRe+KKAcHDVaH8ZsYi5PxzBg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bsAdOPBm; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bsAdOPBm" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2ceab75934dso55673095ad.2 for ; Tue, 18 Aug 2026 06:34:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787060053; x=1787664853; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=uDJI06X+swFMyKE3VwabpX0LpGG6OnS2z+jrHL8keO0=; b=bsAdOPBmnUAwn9hRc+f4YDV0UiuGm2pbpmR0VTvZ4qWSHfAINlLTjqdfg2YSOLegaP oc2MYgACR5dfc8Z8Jktyt48fw73o97nzekUKfGpNuFl9iSBIrtHVOuYdj8Vbv/T5rQIW Xe9X5t6w2HxG38WTAz6eMfnqQJiQECptdRAdycLJg1cawzUX3/hBGllidWKPwCHfoHg4 GJu51yQmQXX9SUt5lCEVKlt0oxqi0IkGzrWnEFeG1+e6zWIMOww8qphG1WlxwbKiw6fF 1GHticOQbVgscaKDkiLE1bu7+IrlhPlCpJVDHePzjzZ8IC6pYJFaGJYfXHJBzstEpSR3 WSIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787060053; x=1787664853; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=uDJI06X+swFMyKE3VwabpX0LpGG6OnS2z+jrHL8keO0=; b=UFTOyEyVPs2O5AB4wwFUKWiDrD94FNiLP+T4vgb4jyXL9sSJL+utkO7kl/n9jq60Ff DeMrwa6YQD2nCnx8OJOdX+lNJQnYssw3HN5RLqStuMaVnQHXz0Hf/5kK/e6KvYCLsDI4 KqeBxCgIOyGY9QZeRzDTxw2NYc0P4z5BnKITFoMBMy54x9IcHnWZGtanFFohzq+ctbTw lkLGJ48feaq94WUJccTbtldsxGt1nhy+giM9/kRHWXh/YqNFGc/fqN43D7CnJPxNBn7g GYmbx6zPCIn5rtQE3gGkFZGrIC6wPHVqlbj5ffIwG0eB4WkYSzKC+HDJEU1saWvX/hB3 onRA== X-Forwarded-Encrypted: i=1; AHgh+RoqA8fMghm3oNwryCzkWH7LmeBQZbbADz+E1dpok+gPVc+iDneL6ZxY8y7Yib4K+JKj3xcAEDVLqc/Q848=@vger.kernel.org X-Gm-Message-State: AOJu0YwV5jSbiDJB32IqpZm67/rsgOvkpNUa1nZN4pk8bi4nzaBNakaK +Vuw5W6WyZr625zqI4bDZD1M2L7lKUpK2hek5pOe/XQLFXPJWPP79c6r X-Gm-Gg: AR+sD11jlH7AEfgiyaJyh4RVuuEuLIavnHfXgGlTl+atQGPr5LX3KYGrKg7zNfcooK2 YuAPIiuCRGrtMaxKLIs3Y0JaZDidx/xlixKUX3vJAeHr9oFQYaJwdJkpHYONT5NbEOYJRKHV9lr bEb1hqxLwv12+maoyQ/1392c6iLf7kgF2ms4wHovAK8D9K+985Y6Wka1jdj3WNoNkP0eBhSahdo SYKnlxdY/q9m7yfmNnjs3YahMu8Z088vT6RWI12/oMOwFhymkjfzGAkbRK+BagiiiEFHLbUysHE jqceAxySLnyJEMOvYbpQxkvYX+HJyE3UE4CAb0gn+wlYu6MudJGWN1czTRo8ue6GvVVkDbUrAzh VoqE49Jo9BaLV3odhFUQblZuXtscxkRCfjXpWFVXcAYl2eXycCpWgH7hIFk0ZXDwvnnCCpR3na+ Ejc/bVdzTLNZl2/CoxCbokykU1Ssjzlef3b63PG0u7oyr/oQu3RxVTFqdKDCq6goBZSw== X-Received: by 2002:a17:903:984:b0:2cf:47c4:3d1a with SMTP id d9443c01a7336-2d3b0cdb21amr413664155ad.3.1787060052742; Tue, 18 Aug 2026 06:34:12 -0700 (PDT) Received: from Anshuman ([123.63.59.156]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-326793ca665sm19202557eec.8.2026.08.18.06.34.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 06:34:12 -0700 (PDT) From: Anshuman To: Andrew Morton , David Hildenbrand Cc: Shuah Khan , linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Anshuman Subject: [PATCH] selftests/mm: fix unchecked ftruncate return value in soft-dirty test Date: Tue, 18 Aug 2026 19:02:06 +0530 Message-ID: <20260818133206.39503-1-anshumantewari123@gmail.com> X-Mailer: git-send-email 2.55.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" test_mprotect() calls ftruncate() to resize the backing file before mmap()'ing it, but never checks the return value. If ftruncate() fails, the file may remain shorter than the requested mapping size. The subsequent mmap() with MAP_SHARED can still succeed in this case, but the very next line writes directly into the mapped memory (*map =3D 1), which can trigger SIGBUS if the mapping extends beyond the actual file size. Check the return value and fail cleanly with ksft_exit_fail_msg() if ftruncate() fails, matching the error-handling style already used for the mmap() call immediately below it. Signed-off-by: Anshuman Reviewed-by: Sarthak Sharma --- tools/testing/selftests/mm/soft-dirty.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/mm/soft-dirty.c b/tools/testing/selfte= sts/mm/soft-dirty.c index fb1864a68..a52ef79dd 100644 --- a/tools/testing/selftests/mm/soft-dirty.c +++ b/tools/testing/selftests/mm/soft-dirty.c @@ -152,7 +152,8 @@ static void test_mprotect(int pagemap_fd, int pagesize,= bool anon) return; } unlink(fname); - ftruncate(test_fd, pagesize); + if (ftruncate(test_fd, pagesize) !=3D 0) + ksft_exit_fail_msg("ftruncate failed\n"); map =3D mmap(NULL, pagesize, PROT_READ|PROT_WRITE, MAP_SHARED, test_fd, 0); if (map =3D=3D MAP_FAILED) --=20 2.55.0