From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4245431E84B; Sat, 12 Sep 2026 01:24:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.97.179.56 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789176281; cv=none; b=MVMPZ9m6fvAjWBDBD13A1Z+MAQrS8hZ5WkSqKlEDGz9/z1/FGy5eGN5vdvylurBXfGf+cziM9TwtvinZL+K7Mf2+p1rNb6hMLbiLGyxItbKhEGw7HTtBhkzrnR0fQE3TyorMQzr98CTA/n0vWJRQZFqeakSd+lPNk7DfkOW3rt0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789176281; c=relaxed/simple; bh=uho5UQ0Az37K2IRerC1Luwb5Pg6lv4RnKyjZ+YPmkrE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eXwYET9OE3rV+vecLzwu6WNi/dUoo4/Ry08qdlO5SFmGBrlQrkAG/pA9OP0pCdZUIKU1+exdhGbxdHjDCl8eC15HzGGlW5wSTtPrjF/5UyDGNzZv+P9eP/6+jPo2akU56H/WVcgG7b3OXoPISzwAcoM7bc5VNVK/wh3KPMSluHw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=igalia.com; spf=pass smtp.mailfrom=igalia.com; dkim=pass (2048-bit key) header.d=igalia.com header.i=@igalia.com header.b=rQG6WHZ6; arc=none smtp.client-ip=213.97.179.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=igalia.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=igalia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=igalia.com header.i=@igalia.com header.b="rQG6WHZ6" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Cc:To:Message-Id:Content-Transfer-Encoding:Content-Type: MIME-Version:Subject:Date:From:From:Reply-To; bh=eoYcCAglewCWVwj2AVy806Wq+FVmxIJYd36pevZhoXY=; b=rQG6WHZ6qXo9Zdjq0lEQY+CbDm 2pi5Cq0EtuoSFy2tX4TyMR1TeBotdcHd0C8aQWfTeJ64suhLM7iMq5gUo0XF0Ubfrk9/DU6og7VHU 3Q1fmmuIGuyiPpYaPK8nujMDfphVZwrV5Fu5kQvfV/SOBw9O+J9FL+/Qzr6tQKaPn1LdLKg49qWOF +zGFiAzW6/QBS4/3JHEeBhRBKsdDC2g8toXeCE68TApriQozzb3helJCQUUDdlNCMm90k6cyUXqsb bDbWk9tcqaDSfWhw79XM22KaCv9pkycm9SzuhSoTO7o6iSWytTkW74jIr8346AI0yggV42hRwXuZR fczEEM+A==; Received: from [177.172.123.122] (helo=[192.168.15.100]) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1x5CTp-000xjI-5O; Sat, 12 Sep 2026 03:24:33 +0200 From: =?utf-8?q?Andr=C3=A9_Almeida?= Date: Fri, 11 Sep 2026 22:24:00 -0300 Subject: [PATCH v7 3/6] lib/string_kunit: Add test for copy_task_comm() Precedence: bulk X-Mailing-List: linux-trace-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20260911-tonyk-long_name-v7-3-34e1ee1564ae@igalia.com> References: <20260911-tonyk-long_name-v7-0-34e1ee1564ae@igalia.com> In-Reply-To: <20260911-tonyk-long_name-v7-0-34e1ee1564ae@igalia.com> To: Peter Zijlstra , Juri Lelli , Vincent Guittot , Steven Rostedt , Christian Brauner , Kees Cook , Shuah Khan , willy@infradead.org, mathieu.desnoyers@efficios.com, David Laight , Linus Torvalds , akpm@linux-foundation.org, Yafang Shao , andrii.nakryiko@gmail.com, arnaldo.melo@gmail.com, Petr Mladek Cc: linux-kernel@vger.kernel.org, kernel-dev@igalia.com, linux-mm@kvack.org, linux-api@vger.kernel.org, linux-trace-kernel@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Almeida?= X-Mailer: b4 0.15.2 Add a new test for copy_task_comm(). Check if a copy from a task_struct works, and special cases when the size of source and destination buffer mismatches. Signed-off-by: André Almeida --- lib/tests/string_kunit.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/lib/tests/string_kunit.c b/lib/tests/string_kunit.c index 0819ace5b027..66c3398f2317 100644 --- a/lib/tests/string_kunit.c +++ b/lib/tests/string_kunit.c @@ -881,6 +881,43 @@ static void string_bench_strrchr(struct kunit *test) STRING_BENCH_BUF(test, buf, len, strrchr, buf, '\0'); } +#define TASK_NAME "task_name" +#define TASK_NAME_LEN 9 +#define TASK_MAX_LEN TASK_COMM_LEN +#define SMALLER_LEN (TASK_NAME_LEN - 3) +#define BIGGER_LEN (TASK_MAX_LEN + 3) + +static void string_copy_task_comm(struct kunit *test) +{ + char str[TASK_MAX_LEN] = TASK_NAME, copy[TASK_MAX_LEN], + smaller_buf[SMALLER_LEN], bigger_buf[BIGGER_LEN]; + static struct task_struct task, *tsk = &task; + int len1, len2, i; + + /* set and get task name */ + strscpy_pad(tsk->comm, str); + copy_task_comm(copy, tsk, TASK_COMM_LEN); + + len1 = strlen(str); + len2 = strlen(copy); + + KUNIT_ASSERT_EQ(test, len1, len2); + KUNIT_ASSERT_EQ(test, len2, TASK_NAME_LEN); + KUNIT_ASSERT_EQ(test, copy[len2], '\0'); + KUNIT_ASSERT_TRUE(test, !strcmp(str, copy)); + + /* copy to a smaller dst buffer */ + copy_task_comm(smaller_buf, tsk, sizeof(smaller_buf)); + KUNIT_ASSERT_TRUE(test, !strncmp(str, smaller_buf, SMALLER_LEN - 1)); + KUNIT_ASSERT_EQ(test, smaller_buf[SMALLER_LEN - 1], '\0'); + + /* copy to a bigger dst buffer */ + copy_task_comm(bigger_buf, tsk, sizeof(bigger_buf)); + KUNIT_ASSERT_TRUE(test, !strncmp(str, bigger_buf, TASK_NAME_LEN)); + for (i = TASK_NAME_LEN; i < BIGGER_LEN; i++) + KUNIT_ASSERT_EQ(test, bigger_buf[i], '\0'); +} + static struct kunit_case string_test_cases[] = { KUNIT_CASE(string_test_memset16), KUNIT_CASE(string_test_memset32), @@ -910,6 +947,7 @@ static struct kunit_case string_test_cases[] = { KUNIT_CASE(string_bench_strnlen), KUNIT_CASE(string_bench_strchr), KUNIT_CASE(string_bench_strrchr), + KUNIT_CASE(string_copy_task_comm), {} }; -- 2.55.0