Subject: Re: [PATCH net-next] net: smc: fix different types in min()

From: "dust.li" <[email-masked]>
Date: Wed, 2 Mar 2022 09:44:01 +0800

On Tue, Mar 01, 2022 at 02:24:46PM -0800, Jakub Kicinski wrote:
>Fix build:
>
> include/linux/minmax.h:45:25: note: in expansion of macro ‘__careful_cmp’
>   45 | #define min(x, y)       __careful_cmp(x, y, <)
>      |                         ^~~~~~~~~~~~~
> net/smc/smc_tx.c:150:24: note: in expansion of macro ‘min’
>  150 |         corking_size = min(sock_net(&smc->sk)->smc.sysctl_autocorking_size,
>      |                        ^~~

Really sorry for the break and thanks for the fix !
I found my compiler didn't complain about this, I will try to fix my
development environment.

>
>Fixes: 12bbb0d163a9 ("net/smc: add sysctl for autocorking")
>Signed-off-by: Jakub Kicinski <[email-masked]>
>---
> net/smc/smc_tx.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/net/smc/smc_tx.c b/net/smc/smc_tx.c
>index 257dc0d0aeb1..98ca9229fe87 100644
>--- a/net/smc/smc_tx.c
>+++ b/net/smc/smc_tx.c
>@@ -147,8 +147,8 @@ static bool smc_should_autocork(struct smc_sock *smc)
> 	struct smc_connection *conn = &smc->conn;
> 	int corking_size;
> 
>-	corking_size = min(sock_net(&smc->sk)->smc.sysctl_autocorking_size,
>-			   conn->sndbuf_desc->len >> 1);
>+	corking_size = min_t(unsigned int, conn->sndbuf_desc->len >> 1,
>+			     sock_net(&smc->sk)->smc.sysctl_autocorking_size);
> 
> 	if (atomic_read(&conn->cdc_pend_tx_wr) == 0 ||
> 	    smc_tx_prepared_sends(conn) > corking_size)
>-- 
>2.34.1