From nobody Tue Feb 10 01:19:54 2026 Received: from mail-ot1-f49.google.com (mail-ot1-f49.google.com [209.85.210.49]) (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 306C644A71A for ; Tue, 20 Jan 2026 16:24:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768926249; cv=none; b=rwWr4hRcv+EaAHa2JDSVZ29orVUlqVpfbgXUUz26ErD5CctUqRzgUm2DY8h98T974jTwHGFVhjqfIy4/mZIoGT0xTNR4NvXfdURxsXzTB8J1IhXSA2yJ4bJtEgeqFcUti1cH8wBIzPqbSydW56FPIUxh1arv4v5UtHzISCkOF+8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768926249; c=relaxed/simple; bh=Hz1gu3DrXXHFmq3h1ZTNOZftr7Xlzo3ths2B7ZsBtME=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XAywhPUPRsnaiVTblnYME/6XIvthywiaU9TTz1tGdShLUyYK6BU9MQY2zfBTPH9I6GYs4zZxgYTy4zD6H7/wF7Gp+m4U6j1fM8bDTBjRdDhdu5x6CeQ8NPoyVC9eP3K5Dx/Lzjhc1KfBZ/WSq3NfBPrhhVPYxs5xEFC/6iL2nko= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.210.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ot1-f49.google.com with SMTP id 46e09a7af769-7cfd2423793so3836502a34.2 for ; Tue, 20 Jan 2026 08:24:07 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768926247; x=1769531047; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=mHAlKWdigu/dpowmiGEPP+hWTchneUXrrcu0qUva3LI=; b=MgNC91yM1jNIRylR4t/i2HFdZLc7eQx/tXO2G35HU+1y0LhePAtpQ59YowJ3YEPmML gTbEQCHftpXt9/kz2q7PK1paPUz9+EtQBIojAX/zG9wXzUrC3pQoucidABYMtF1cs5bq UsEGJpV/FiMnyyLR1qhn6pA7nfMoPRz4OujtkeQgV7FFGsSi1Dpw9gmAyjS7DiDDaFhd Sx+cW+RbDmpwS03canXPY/na6gSAsbwMxNe4l0c53cpVVGLmElINVcRM2E2KHZgMzfEN HHN/JgRO4zmRn4/JZ5dG3bTQ6UsGh3bNTjf22VCA/HgjoRf0uaIx4rIroaiqS9yziuFX 2x5Q== X-Forwarded-Encrypted: i=1; AJvYcCWbLxVQBA2lk/zUIJuCxSyouAGRNjsHFtiNT+wimakIIH3/Yu7yRWs/lxxPznYatEl+QE9Xc04dH/8POEc=@vger.kernel.org X-Gm-Message-State: AOJu0YwF/6zWxU4vUpRWoaiXuM98aSvfbhM6NkNUSVs/oL2i2a/nvY3t QrhaKJBHqdiCIV3ThestP5OII+Mc6dabeXVnzJmINEOfa4/Rz4QsQWUn X-Gm-Gg: AY/fxX5cEJSKkj6bDRFqqGYn9ABH75fVJ7GBWsomn0NODPAjH60gM5LpeN0vsJSPg0q l2qfJHrirf3615GyAbuZK3jEi1NknEZ8RSiq+Ey47EgIFevBuPJ7fE8Ye3doepP/u43e2R+KhOX LTEhRv0OW1iJG+VAoABg5l1XYxPmkFbFUoxpIDA7e4tMoY31b00o92Ck6gu1smS1IPPmqgJN7Al H3cDRsncBCdqVPdYqJ4cippVFEOGtxyBiEGFswsgwdhC1QouDEIFnrctjZ09Fsb4+x9EZ7UG6i6 75CdNfdyJl+T3Db/d58G1NwF6VaWqLi5d6hCqvJWZviLsqumyOpuFyTQhcrMRjb2ElrPhoHsQtr UHHkwR+UhJAQ0md/314YYmEZ+DC4OqlEY05VW7ApwSXNUpeTC7gXzq62jCLuJPzUBsULPdR4qdV gIOQ== X-Received: by 2002:a05:6830:6d1b:b0:7c7:6043:dd93 with SMTP id 46e09a7af769-7d140a53feamr946309a34.13.1768926246958; Tue, 20 Jan 2026 08:24:06 -0800 (PST) Received: from localhost ([2a03:2880:10ff:5e::]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7cfdf2a696esm8726514a34.21.2026.01.20.08.24.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Jan 2026 08:24:06 -0800 (PST) From: Breno Leitao Date: Tue, 20 Jan 2026 08:23:48 -0800 Subject: [PATCH net-next v2 2/5] netconsole: extract message fragmentation into send_msg_udp() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260120-nbcon-v2-2-b61f960587a8@debian.org> References: <20260120-nbcon-v2-0-b61f960587a8@debian.org> In-Reply-To: <20260120-nbcon-v2-0-b61f960587a8@debian.org> To: Breno Leitao , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , pmladek@suse.com, john.ogness@linutronix.de Cc: Greg Kroah-Hartman , Steven Rostedt , Sergey Senozhatsky , Andrew Morton , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, asantostc@gmail.com, efault@gmx.de, gustavold@gmail.com, calvin@wbinvd.org, jv@jvosburgh.net, mpdesouza@suse.com, kernel-team@meta.com, Simon Horman X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=openpgp-sha256; l=2097; i=leitao@debian.org; h=from:subject:message-id; bh=Hz1gu3DrXXHFmq3h1ZTNOZftr7Xlzo3ths2B7ZsBtME=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBpb6wi3TDiQTF9DJsNQ9QEETZt6lE5D6Vdw7PNT gthtjl4HuOJAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaW+sIgAKCRA1o5Of/Hh3 bax6D/4tsqHXFVNND9tXUp/J/V26ws2Cbx4cKuDdSMTEXoz2sHCt1Sp3Cs0HTPr2+xuTKxsnZ7S 5GKKmW/XRRd8ac05Ip8u6XmRktacbAqISPyX/vDZBXqlmdgYarZ/5C7qrsm4RWIS74yG3wytKoB BMj48ACCD+7hISk6kvuEibEHKhFvMNOrHP/CWRZVU/8RdwjOH2k3ApqE6/WGoaIe8s3oV+CL8A4 GI42LqfsI4pa4OAX3hz5lVIRqP5ClExWc6NWbOrZU6J6QqryOe68CY8y+hAfw0BXaxvqM2GtZFh YcNyreegZG3OgamqKC8NpyoMm8mVGm3gnzmI/GWYXzCPvwL3s4JjD7xj9hF5U4nDkXNdkoY7JyC zv5ag/wP5gexMc7ukhVxIXf07HQcadyA2dCTOPu1YsVGzGDx1eA+xTOaa7fEfEWfYN9E/ZHfObs 4pt/50J8/5CBjfNeruZBMMfJ/7sEOJKauEqOVy+9KIco13r31HchkvSOs1cr3lNRDnl/U5K0+FQ eKVW5Dx5sxykORH9Xjeqfjp6uoTtPuNCtoUKbL4jGlYjRJS7b1XaKdvfjeCLHsNNZMYW7iQuPY7 pYoE8+VWKUA8hF8NvivNuoLZSTT4Uu4k60btYF12u/ACr39ilH6NTv+Mpux1LbD1mFNaJblG7Uc P74A+PTee6APNqA== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D Extract the message fragmentation logic from write_msg() into a dedicated send_msg_udp() function. This improves code readability and prepares for future enhancements. The new send_msg_udp() function handles splitting messages that exceed MAX_PRINT_CHUNK into smaller fragments and sending them sequentially. This function is placed before send_ext_msg_udp() to maintain a logical ordering of related functions. No functional changes - this is purely a refactoring commit. Reviewed-by: Petr Mladek Reviewed-by: Simon Horman Signed-off-by: Breno Leitao --- drivers/net/netconsole.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index 9cb4dfc242f5f..dc3bd7c9b0498 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -1725,12 +1725,24 @@ static void write_ext_msg(struct console *con, cons= t char *msg, spin_unlock_irqrestore(&target_list_lock, flags); } =20 +static void send_msg_udp(struct netconsole_target *nt, const char *msg, + unsigned int len) +{ + const char *tmp =3D msg; + int frag, left =3D len; + + while (left > 0) { + frag =3D min(left, MAX_PRINT_CHUNK); + send_udp(nt, tmp, frag); + tmp +=3D frag; + left -=3D frag; + } +} + static void write_msg(struct console *con, const char *msg, unsigned int l= en) { - int frag, left; unsigned long flags; struct netconsole_target *nt; - const char *tmp; =20 if (oops_only && !oops_in_progress) return; @@ -1747,13 +1759,7 @@ static void write_msg(struct console *con, const cha= r *msg, unsigned int len) * at least one target if we die inside here, instead * of unnecessarily keeping all targets in lock-step. */ - tmp =3D msg; - for (left =3D len; left;) { - frag =3D min(left, MAX_PRINT_CHUNK); - send_udp(nt, tmp, frag); - tmp +=3D frag; - left -=3D frag; - } + send_msg_udp(nt, msg, len); } } spin_unlock_irqrestore(&target_list_lock, flags); --=20 2.47.3