]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mptcp: Change some dubious min_t(int, ...) to min()
authorDavid Laight <david.laight.linux@gmail.com>
Tue, 3 Feb 2026 18:41:22 +0000 (19:41 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 5 Feb 2026 02:45:09 +0000 (18:45 -0800)
There are two:

min_t(int, xxx, mptcp_wnd_end(msk) - msk->snd_nxt);

Both mptcp_wnd_end(msk) and msk->snd_nxt are u64, their difference
(aka the window size) might be limited to 32 bits - but that isn't
knowable from this code.
So checks being added to min_t() detect the potential discard of
significant bits.

Provided the 'avail_size' and return of mptcp_check_allowed_size()
are changed to an unsigned type (size_t matches the type the caller
uses) both min_t() can be changed to min().

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
[ wrapped too long lines when declaring mptcp_check_allowed_size() ]
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20260203-net-next-mptcp-misc-feat-6-20-v1-6-31ec8bfc56d1@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/protocol.c

index 197ee169c0bcdf02e571aa24499a514e9acd43e2..e0b4745bbaa9a3cd02d35a6052ec14fe79979891 100644 (file)
@@ -1160,8 +1160,9 @@ struct mptcp_sendmsg_info {
        bool data_lock_held;
 };
 
-static int mptcp_check_allowed_size(const struct mptcp_sock *msk, struct sock *ssk,
-                                   u64 data_seq, int avail_size)
+static size_t mptcp_check_allowed_size(const struct mptcp_sock *msk,
+                                      struct sock *ssk, u64 data_seq,
+                                      size_t avail_size)
 {
        u64 window_end = mptcp_wnd_end(msk);
        u64 mptcp_snd_wnd;
@@ -1170,7 +1171,7 @@ static int mptcp_check_allowed_size(const struct mptcp_sock *msk, struct sock *s
                return avail_size;
 
        mptcp_snd_wnd = window_end - data_seq;
-       avail_size = min_t(unsigned int, mptcp_snd_wnd, avail_size);
+       avail_size = min(mptcp_snd_wnd, avail_size);
 
        if (unlikely(tcp_sk(ssk)->snd_wnd < mptcp_snd_wnd)) {
                tcp_sk(ssk)->snd_wnd = min_t(u64, U32_MAX, mptcp_snd_wnd);
@@ -1514,7 +1515,7 @@ struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk)
        if (!ssk || !sk_stream_memory_free(ssk))
                return NULL;
 
-       burst = min_t(int, MPTCP_SEND_BURST_SIZE, mptcp_wnd_end(msk) - msk->snd_nxt);
+       burst = min(MPTCP_SEND_BURST_SIZE, mptcp_wnd_end(msk) - msk->snd_nxt);
        wmem = READ_ONCE(ssk->sk_wmem_queued);
        if (!burst)
                return ssk;