From patchwork Mon Jun 16 17:08:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gustavo Luiz Duarte X-Patchwork-Id: 897140 Received: from mail-qk1-f178.google.com (mail-qk1-f178.google.com [209.85.222.178]) (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 677D1288CA8; Mon, 16 Jun 2025 17:10:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750093806; cv=none; b=aLVZNnI+bzSOMBrI9qpVQWb5PdloU/xWw4CmCT0X8z/VY4zHXk55vkBw7vdHKNxjL9BqB8W1NrZxWRhISqhGZBHUzKwhm81StH7j6+J2BHlLIBbQJOn2COeYZkYg+YOYhIMXqUd+oZ0NP2qVD4JANR04lo/8PLoKDTa8VT1rYu4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750093806; c=relaxed/simple; bh=mfkoUBQgABU7lMjOTs7x+P4cuvWas3SbIkz2Wq0vfk0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=A+/31IXwPg+okc2R2QGMc0/lotWODTpUPe5sKs2eYkMba/EhDiupE7lxivZdfTV+TsnaQjDBpBklTpQQv/5G8ZeLh01NT0cwnSn4rVqzAujMK5SuAhWGVy5kpbvlPc1tTFnlLWTsPc33DKoI98yc3g1hN3BfZgE8yBB3aKN1VT8= 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=S7/QiXmS; arc=none smtp.client-ip=209.85.222.178 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="S7/QiXmS" Received: by mail-qk1-f178.google.com with SMTP id af79cd13be357-7d09b0a504fso41166385a.0; Mon, 16 Jun 2025 10:10:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750093803; x=1750698603; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+YfkFvrTGiA83jTYNLbHNHZ9OUEi+RY62zinuEM1ItI=; b=S7/QiXmSuwDLmgT8oSoQPveuWqnbCZcgHiOtFGBDlWLttgrKDp3IDMdsx9bKvaqVL+ dIUt5WBTLk5sM0dRpIOKgvQksyqoblj/rRNgNEVgX5VEScbBMzXosEu6ocN5HXGdrR3B 91e59bRce0lKHeODaqSPhkf2soZQurlRRofVgJfPtbCegxQGGp5vcxiE3CEs/BiRKR+P 8KodQHOIhvctPHsglrP038qB3ogGnwyozz9jQXLxfL5oBpvsPoKTlfpxcXTW07cvRvlI NcgGThW+YbG7vJfmwpMB9594mKz3rh66YvailSmc3p7NkRrdps6FrwgdkMMuB6/SZ6r5 ZKyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750093803; x=1750698603; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+YfkFvrTGiA83jTYNLbHNHZ9OUEi+RY62zinuEM1ItI=; b=QgTcEhlngpftAEfRKiED8NrMYVrJ5ro372bOcjnZ4hAjOAIhhlHcPUSM73OPTi3QVh GhOyHmZcfodaVs5+5YKoowp40q0SfoHAXT37klzYgnwuN4Bo6MfH49Jsjr0+L6GNvqi+ gpVQaAkLxPa577DTSNIiM0smQIL6Or4/Iu3pPAqo8dU0xo7X3qcCrEoME1jJnCYoUT6j X+ehnoaNppvgZ+m+HyZzvHCM8/iUch1LrG3PPNHlKYICYKDI8rcir2fnP2unIMtZ49fJ KG8u219mw5XIqxo+7M/nMoU0InycknbPzE39nbhpI+wAd+fNeDtbbanP+7Kwi1UaDJ6E D6zw== X-Forwarded-Encrypted: i=1; AJvYcCU2PXPvBfRbi08M66Nydbk2gPEyrRWBctTcUdBL2Kk0Zg+DyP5Bt1QEl7AWRsX/9OTwwmTprgOkd9WZSi2DlEG1@vger.kernel.org, AJvYcCUbqzwnCoV3Eg5YB3NJZ1LGV46nVNhJtWQEwiTSZD66DmP4+4+KlDiHIHWqq8BzRcFdXbiLTENpcUM=@vger.kernel.org, AJvYcCUtFwFPv5kGF7cc1TOu3XzT6TeEiVT8gA78U776AeS3GKqHzGMO1R1/7uZfGpvPPnZO+ocQtxaXhUHeBeFM@vger.kernel.org X-Gm-Message-State: AOJu0Yyjoe9WsBGN2HkfPgUF8z0BqD/CpQUXDTdtv3cXS3I+wxmuw5uv NH0J61t3qNpgaIpixYf30I5wGy0Am4n+KMw4z2fREaWqj1oioCWIsCLq X-Gm-Gg: ASbGncshMbAVmYAj2/eE6exE/NSN01q9igOamAiw1r0+RYZKC4OUMKJRyJVy5GWH3oB ykiGvcGSajBZAmBgNXvgyTRDrE/S+qrlsJSzpavepoZgKyBOyUTri2OCj9imJDMDOBbjwDE+uwi +LZhX1bcUYysOzAy9mA521+ZdzDKQo81C65xuVrtWEo8mKeE6bw7Wk1dnb4Xp5I8xVaS+izeBvy R0kmqqhHdvKxokU/uElzCqv+DkEYh2sFkwPcohi/9orfaEgmWx6/swrwdkDMehvb0zcuPkU18uu 9UPUvCrn6Y9fFpTop6GKXWP/IUqc4EQ+sJ5CoRHERtpwjYjd0/4h4q4= X-Google-Smtp-Source: AGHT+IFZLM2dpQfzIgUi24yS3+pKRzXJUGlugx2yV1qrq+GQVz0YIguUKZubmvsiXXvPUSa3RXb0ZQ== X-Received: by 2002:a05:620a:191a:b0:7d3:c688:a587 with SMTP id af79cd13be357-7d3c6c19342mr525863185a.4.1750093803376; Mon, 16 Jun 2025 10:10:03 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:5::]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7d3b8dfebf8sm552238385a.29.2025.06.16.10.10.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jun 2025 10:10:02 -0700 (PDT) From: Gustavo Luiz Duarte Date: Mon, 16 Jun 2025 10:08:36 -0700 Subject: [PATCH net-next v3 2/5] netconsole: implement configfs for msgid_enabled Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250616-netconsole-msgid-v3-2-4d2610577571@gmail.com> References: <20250616-netconsole-msgid-v3-0-4d2610577571@gmail.com> In-Reply-To: <20250616-netconsole-msgid-v3-0-4d2610577571@gmail.com> To: Breno Leitao , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Shuah Khan , Simon Horman , Jonathan Corbet Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-doc@vger.kernel.org, Gustavo Luiz Duarte X-Mailer: b4 0.13.0 Implement the _show and _store functions for the msgid_enabled configfs attribute under userdata. Set the sysdata_fields bit accordingly. Reviewed-by: Breno Leitao Signed-off-by: Gustavo Luiz Duarte --- drivers/net/netconsole.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index 5f8c8c6c5393..3bf8777fcd01 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -489,6 +489,19 @@ static void unregister_netcons_consoles(void) unregister_console(&netconsole); } +static ssize_t sysdata_msgid_enabled_show(struct config_item *item, + char *buf) +{ + struct netconsole_target *nt = to_target(item->ci_parent); + bool msgid_enabled; + + mutex_lock(&dynamic_netconsole_mutex); + msgid_enabled = !!(nt->sysdata_fields & SYSDATA_MSGID); + mutex_unlock(&dynamic_netconsole_mutex); + + return sysfs_emit(buf, "%d\n", msgid_enabled); +} + /* * This one is special -- targets created through the configfs interface * are not enabled (and the corresponding netpoll activated) by default. @@ -922,6 +935,40 @@ static void disable_sysdata_feature(struct netconsole_target *nt, nt->extradata_complete[nt->userdata_length] = 0; } +static ssize_t sysdata_msgid_enabled_store(struct config_item *item, + const char *buf, size_t count) +{ + struct netconsole_target *nt = to_target(item->ci_parent); + bool msgid_enabled, curr; + ssize_t ret; + + ret = kstrtobool(buf, &msgid_enabled); + if (ret) + return ret; + + mutex_lock(&dynamic_netconsole_mutex); + curr = !!(nt->sysdata_fields & SYSDATA_MSGID); + if (msgid_enabled == curr) + goto unlock_ok; + + if (msgid_enabled && + count_extradata_entries(nt) >= MAX_EXTRADATA_ITEMS) { + ret = -ENOSPC; + goto unlock; + } + + if (msgid_enabled) + nt->sysdata_fields |= SYSDATA_MSGID; + else + disable_sysdata_feature(nt, SYSDATA_MSGID); + +unlock_ok: + ret = strnlen(buf, count); +unlock: + mutex_unlock(&dynamic_netconsole_mutex); + return ret; +} + static ssize_t sysdata_release_enabled_store(struct config_item *item, const char *buf, size_t count) { @@ -1037,6 +1084,7 @@ CONFIGFS_ATTR(userdatum_, value); CONFIGFS_ATTR(sysdata_, cpu_nr_enabled); CONFIGFS_ATTR(sysdata_, taskname_enabled); CONFIGFS_ATTR(sysdata_, release_enabled); +CONFIGFS_ATTR(sysdata_, msgid_enabled); static struct configfs_attribute *userdatum_attrs[] = { &userdatum_attr_value, @@ -1099,6 +1147,7 @@ static struct configfs_attribute *userdata_attrs[] = { &sysdata_attr_cpu_nr_enabled, &sysdata_attr_taskname_enabled, &sysdata_attr_release_enabled, + &sysdata_attr_msgid_enabled, NULL, }; From patchwork Mon Jun 16 17:08:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gustavo Luiz Duarte X-Patchwork-Id: 897139 Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com [209.85.222.182]) (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 4FB392BF016; Mon, 16 Jun 2025 17:10:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750093813; cv=none; b=uwLmomWGSA8g5Ts7+JBkWt9UMjdChWP346qpMoQzKqSpK8jdhSN7ITjWoODxPfinhard2VmdHCCt5Jzf5Z+MiGbMyT1OOG+TdVuK1Oqcc6Ihq6iT3E0k+n5X31DiAggCifF3VBV9l0R1zYFt00H0/4lqXTBUVzP2xL2/olxZOQ0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750093813; c=relaxed/simple; bh=6QEznI5dDLWlKvkkHo/QuzqxbGMfjbjAro9UR7sEabw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AGr2JNHrsVTcCrk7FosWyPskt92E0iGbxKpBkQC4RzU/9pdxLlYQQr1AbKIPWp7dpeYtRm1cn8PHaQB5iHp0xDBCtLpWB/awyJAtp0j/ubk7EitpIyBMe6FXwEimuk8BdMEkmP27KlfYUm0eG1889nfIvLBhP56xWiL6a5BvSxs= 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=TE+u/5Az; arc=none smtp.client-ip=209.85.222.182 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="TE+u/5Az" Received: by mail-qk1-f182.google.com with SMTP id af79cd13be357-7d094f67777so98050285a.1; Mon, 16 Jun 2025 10:10:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750093811; x=1750698611; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=mWTHHniH+bU9oQ9NHxDCHqm92WzrmLWSDAFi+6Fga6c=; b=TE+u/5AzufUMSs6DQF/zIe7q9U/Gr/9qwZYO5iM5lPwDJR/N98AwL/ScD/q55lyac+ 9IG5QHwuLh79Mg3NFiUibTyAYgFR5mqcaVo1xWKGaDpx7VBax20bI/E3FUNOuMgp/Abo 8VSyqVsPBOlefT3lB8TqTRqpChoOOYnRph6s5d/7KGMsj/VYfvlHdPT6Z+iH5bRIHQh2 G1cFediAdUiBJqWvHFKjTXJg2z+8A+vqEM2mKlomtMGLWXerHAltFygRZdmNVMchwGFx iq1qQ1tdlHiNKayt1JkuSm8FjdpitM35bFrRGHgBbRCn1U9/QcSZhkhhRMFD2HVWeXar VFWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750093811; x=1750698611; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mWTHHniH+bU9oQ9NHxDCHqm92WzrmLWSDAFi+6Fga6c=; b=vR/ryuODuZh1JU2KFoLyC0SWSJl5HHgDZqtjBN8fs1DpNHqDitPPRSR0E/i05Kldmc gVIJzR+Tz9eQ455yJTeUYKZxoaxDwGqHqSjOFswlfbsU4AaH3tZqVdd6tJ0PZJJ10xv4 yzUlKiKsOYgwfmBTjxsVGjJ303UX2pifnkacNwvrXraVrHyknLHB/2VMykdGp4T83hyN sgss0fpz7rVO3jB6UaxmkYJtcc52fvWgLURKzcSOfGXLLDwp+fguscPOckDKCNBQTbCK dPe9GAhgLdo6ope+yn1OJWYObtW0su+eOE/J/HLF6J/lw7inE58QiaO8jtk7PDh9djNH GZJQ== X-Forwarded-Encrypted: i=1; AJvYcCV6/nlfoQ0IjTyjKnMt8ArK8Pp7CXbdA4IY6SCc0gNZId78XyiX5EV5+GqmN9EPTgW/Cv+2jTO7Yr6TzrxK@vger.kernel.org, AJvYcCWWanTQltftHuivdMS4OPKyJ7rEVN91AI68q1LjiuePupYhpOxrxaXFeWkbGgpqfqryI6FViQnPNi7/5LfUt7ey@vger.kernel.org, AJvYcCX51Ic7w+NniMbxWMgFc6x/7qwFMo+PMPbkj8sRLyg5eBOZEdUER9yg1Io0n4Hevi403eAcmjU3FF0=@vger.kernel.org X-Gm-Message-State: AOJu0Yy5YYUZqqwDknIYhbFTU/LP+zyHOwlv63cNR3bIF9y3RDPnqE0N GK3jkEm/xoV0gg6MNhMLOzh/J/XVjBF9Rw6njICNGeaUcFwl0Z66+28VYtGs4wXRz20= X-Gm-Gg: ASbGncsh8nZlLZd6wkLHsVaStFpcb1LFpI7pdYTZvHV2crHVv4ntMDXcrPBm20bM74D s2H4s9KuB2QANZjPBUcKGBTT7N6M6TDLYzPtb8o7zaDKiKaRMwcJ+Pd7EPlXp33gCem0FJ1pInh rpjOhhH3nZFKUkyz3pXxA5DlDOZ9SMMfm5J/GcFjYuLkGLPGAq3JW1C3uRrj/nmboFp4zHtfrT4 V/HKIG9JX19W3ZxkWGi44sg9+1WD6ikyKcVU4VrkRn9kHwxKfQKj9xMn8Niz83oQSgHd8nOMqu0 Po7D7H+nZCGFHW2oV56VnQc/HeNL0GqnSHLv607NklWXKbVxBicxHr8py9crwaow/g== X-Google-Smtp-Source: AGHT+IHlQ8QZJbkF5GAqftCl6EGNscf+S4SIKCVSErUg5r/DpUZTbk82Tml3X7EBCIGWkskgG3nSOw== X-Received: by 2002:a05:6214:3211:b0:6fa:ed8e:372c with SMTP id 6a1803df08f44-6fb5b1ac9eemr3164046d6.1.1750093811069; Mon, 16 Jun 2025 10:10:11 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:4::]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6fb35b20f35sm53562036d6.8.2025.06.16.10.10.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jun 2025 10:10:10 -0700 (PDT) From: Gustavo Luiz Duarte Date: Mon, 16 Jun 2025 10:08:38 -0700 Subject: [PATCH net-next v3 4/5] selftests: netconsole: Add tests for 'msgid' feature in sysdata Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250616-netconsole-msgid-v3-4-4d2610577571@gmail.com> References: <20250616-netconsole-msgid-v3-0-4d2610577571@gmail.com> In-Reply-To: <20250616-netconsole-msgid-v3-0-4d2610577571@gmail.com> To: Breno Leitao , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Shuah Khan , Simon Horman , Jonathan Corbet Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-doc@vger.kernel.org, Gustavo Luiz Duarte X-Mailer: b4 0.13.0 Extend the self-tests to cover the 'msgid' feature in sysdata. Verify that msgid is appended to the message when the feature is enabled and that it is not appended when the feature is disabled. Signed-off-by: Gustavo Luiz Duarte --- .../selftests/drivers/net/netcons_sysdata.sh | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tools/testing/selftests/drivers/net/netcons_sysdata.sh b/tools/testing/selftests/drivers/net/netcons_sysdata.sh index a737e377bf08..baf69031089e 100755 --- a/tools/testing/selftests/drivers/net/netcons_sysdata.sh +++ b/tools/testing/selftests/drivers/net/netcons_sysdata.sh @@ -53,6 +53,17 @@ function set_release() { echo 1 > "${NETCONS_PATH}/userdata/release_enabled" } +# Enable the msgid to be appended to sysdata +function set_msgid() { + if [[ ! -f "${NETCONS_PATH}/userdata/msgid_enabled" ]] + then + echo "Not able to enable msgid sysdata append. Configfs not available in ${NETCONS_PATH}/userdata/msgid_enabled" >&2 + exit "${ksft_skip}" + fi + + echo 1 > "${NETCONS_PATH}/userdata/msgid_enabled" +} + # Disable the sysdata cpu_nr feature function unset_cpu_nr() { echo 0 > "${NETCONS_PATH}/userdata/cpu_nr_enabled" @@ -67,6 +78,10 @@ function unset_release() { echo 0 > "${NETCONS_PATH}/userdata/release_enabled" } +function unset_msgid() { + echo 0 > "${NETCONS_PATH}/userdata/msgid_enabled" +} + # Test if MSG contains sysdata function validate_sysdata() { # OUTPUT_FILE will contain something like: @@ -74,6 +89,7 @@ function validate_sysdata() { # userdatakey=userdatavalue # cpu=X # taskname= + # msgid= # Echo is what this test uses to create the message. See runtest() # function @@ -104,6 +120,12 @@ function validate_sysdata() { exit "${ksft_fail}" fi + if ! grep -q "msgid=[0-9]\+$" "${OUTPUT_FILE}"; then + echo "FAIL: 'msgid=' not found in ${OUTPUT_FILE}" >&2 + cat "${OUTPUT_FILE}" >&2 + exit "${ksft_fail}" + fi + rm "${OUTPUT_FILE}" pkill_socat } @@ -155,6 +177,12 @@ function validate_no_sysdata() { exit "${ksft_fail}" fi + if grep -q "msgid=" "${OUTPUT_FILE}"; then + echo "FAIL: 'msgid= found in ${OUTPUT_FILE}" >&2 + cat "${OUTPUT_FILE}" >&2 + exit "${ksft_fail}" + fi + rm "${OUTPUT_FILE}" } @@ -206,6 +234,7 @@ set_cpu_nr # Enable taskname to be appended to sysdata set_taskname set_release +set_msgid runtest # Make sure the message was received in the dst part # and exit @@ -235,6 +264,7 @@ MSG="Test #3 from CPU${CPU}" unset_cpu_nr unset_taskname unset_release +unset_msgid runtest # At this time, cpu= shouldn't be present in the msg validate_no_sysdata