All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Seiderer <ps.report@gmx.net>
To: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
	"David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Simon Horman <horms@kernel.org>, Shuah Khan <shuah@kernel.org>,
	Peter Seiderer <ps.report@gmx.net>,
	Fedor Pchelkin <pchelkin@ispras.ru>,
	Arnd Bergmann <arnd@arndb.de>, Nam Cao <namcao@linutronix.de>
Subject: [PATCH net-next v8 1/8] net: pktgen: fix mix of int/long
Date: Thu, 27 Feb 2025 14:55:57 +0100	[thread overview]
Message-ID: <20250227135604.40024-2-ps.report@gmx.net> (raw)
In-Reply-To: <20250227135604.40024-1-ps.report@gmx.net>

Fix mix of int/long (and multiple conversion from/to) by using consequently
size_t for i and max and ssize_t for len and adjust function signatures
of hex32_arg(), count_trail_chars(), num_arg() and strn_len() accordingly.

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Reviewed-by: Simon Horman <horms@kernel.org>
---
Changes v7 -> v8
  - rebased on actual net-next/main
  - add rev-by Simon Horman (this time for real)

Changes v6 -> v7
  - rebased on actual net-next/main
  - no changes

Changes v5 -> v6
  - adjust to dropped patch 'net: pktgen: use defines for the various
    dec/hex number parsing digits lengths'
  - add rev-by Simon Horman
  - fix line break (suggested by Simon Horman)

Changes v4 -> v5
  - split up patchset into part i/ii (suggested by Simon Horman)
  - instead of align to most common pattern (int) adjust all usages to
    size_t for i and max and ssize_t for len and adjust function signatures
    of hex32_arg(), count_trail_chars(), num_arg() and strn_len() accordingly
  - respect reverse xmas tree order for local variable declarations (where
    possible without too much code churn)
  - update subject line and patch description
  - fix checkpatch warning '"foo * bar" should be "foo *bar"' for
    count_trail_chars() and strn_len()

Changes v3 -> v4
  - new patch (factored out of patch 'net: pktgen: fix access outside of user
    given buffer in pktgen_if_write()')
---
 net/core/pktgen.c | 38 ++++++++++++++++++++------------------
 1 file changed, 20 insertions(+), 18 deletions(-)

diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index 402e01a2ce19..4775cdd2ae1c 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -744,10 +744,11 @@ static int pktgen_if_show(struct seq_file *seq, void *v)
 }
 
 
-static int hex32_arg(const char __user *user_buffer, unsigned long maxlen,
-		     __u32 *num)
+static ssize_t hex32_arg(const char __user *user_buffer, size_t maxlen,
+			 __u32 *num)
 {
-	int i = 0;
+	size_t i = 0;
+
 	*num = 0;
 
 	for (; i < maxlen; i++) {
@@ -766,10 +767,9 @@ static int hex32_arg(const char __user *user_buffer, unsigned long maxlen,
 	return i;
 }
 
-static int count_trail_chars(const char __user * user_buffer,
-			     unsigned int maxlen)
+static ssize_t count_trail_chars(const char __user *user_buffer, size_t maxlen)
 {
-	int i;
+	size_t i;
 
 	for (i = 0; i < maxlen; i++) {
 		char c;
@@ -791,10 +791,10 @@ static int count_trail_chars(const char __user * user_buffer,
 	return i;
 }
 
-static long num_arg(const char __user *user_buffer, unsigned long maxlen,
-				unsigned long *num)
+static ssize_t num_arg(const char __user *user_buffer, size_t maxlen,
+		       unsigned long *num)
 {
-	int i;
+	size_t i;
 	*num = 0;
 
 	for (i = 0; i < maxlen; i++) {
@@ -810,9 +810,9 @@ static long num_arg(const char __user *user_buffer, unsigned long maxlen,
 	return i;
 }
 
-static int strn_len(const char __user * user_buffer, unsigned int maxlen)
+static ssize_t strn_len(const char __user *user_buffer, size_t maxlen)
 {
-	int i;
+	size_t i;
 
 	for (i = 0; i < maxlen; i++) {
 		char c;
@@ -842,9 +842,9 @@ static int strn_len(const char __user * user_buffer, unsigned int maxlen)
 static ssize_t get_imix_entries(const char __user *buffer,
 				struct pktgen_dev *pkt_dev)
 {
-	const int max_digits = 10;
-	int i = 0;
-	long len;
+	const size_t max_digits = 10;
+	size_t i = 0;
+	ssize_t len;
 	char c;
 
 	pkt_dev->n_imix_entries = 0;
@@ -893,9 +893,9 @@ static ssize_t get_imix_entries(const char __user *buffer,
 static ssize_t get_labels(const char __user *buffer, struct pktgen_dev *pkt_dev)
 {
 	unsigned int n = 0;
+	size_t i = 0;
+	ssize_t len;
 	char c;
-	ssize_t i = 0;
-	int len;
 
 	pkt_dev->nr_labels = 0;
 	do {
@@ -954,7 +954,8 @@ static ssize_t pktgen_if_write(struct file *file,
 {
 	struct seq_file *seq = file->private_data;
 	struct pktgen_dev *pkt_dev = seq->private;
-	int i, max, len;
+	size_t i, max;
+	ssize_t len;
 	char name[16], valstr[32];
 	unsigned long value = 0;
 	char *pg_result = NULL;
@@ -1881,7 +1882,8 @@ static ssize_t pktgen_thread_write(struct file *file,
 {
 	struct seq_file *seq = file->private_data;
 	struct pktgen_thread *t = seq->private;
-	int i, max, len, ret;
+	size_t i, max;
+	ssize_t len, ret;
 	char name[40];
 	char *pg_result;
 
-- 
2.48.1


  reply	other threads:[~2025-02-27 13:56 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-27 13:55 [PATCH net-next v8 0/8] Some pktgen fixes/improvments (part II) Peter Seiderer
2025-02-27 13:55 ` Peter Seiderer [this message]
2025-02-27 13:55 ` [PATCH net-next v8 2/8] net: pktgen: remove extra tmp variable (re-use len instead) Peter Seiderer
2025-02-27 13:55 ` [PATCH net-next v8 3/8] net: pktgen: remove some superfluous variable initializing Peter Seiderer
2025-02-27 13:56 ` [PATCH net-next v8 4/8] net: pktgen: fix mpls maximum labels list parsing Peter Seiderer
2025-02-27 13:56 ` [PATCH net-next v8 5/8] net: pktgen: fix access outside of user given buffer in pktgen_if_write() Peter Seiderer
2025-02-27 13:56 ` [PATCH net-next v8 6/8] net: pktgen: fix mpls reset parsing Peter Seiderer
2025-02-27 13:56 ` [PATCH net-next v8 7/8] net: pktgen: remove all superfluous index assignements Peter Seiderer
2025-02-27 13:56 ` [PATCH net-next v8 8/8] selftest: net: add proc_net_pktgen Peter Seiderer
2025-03-04 10:20 ` [PATCH net-next v8 0/8] Some pktgen fixes/improvments (part II) patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250227135604.40024-2-ps.report@gmx.net \
    --to=ps.report@gmx.net \
    --cc=arnd@arndb.de \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=namcao@linutronix.de \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=pchelkin@ispras.ru \
    --cc=shuah@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.