[PATCH net-next v2 3/4] rds: Fix endianness annotation for RDS_MPATH_HASH

Ujwal Kundur posted 4 patches 1 month, 2 weeks ago
[PATCH net-next v2 3/4] rds: Fix endianness annotation for RDS_MPATH_HASH
Posted by Ujwal Kundur 1 month, 2 weeks ago
jhash_1word accepts host endian inputs while rs_bound_port is a be16
value (sockaddr_in6.sin6_port). Use ntohs() for consistency.

Flagged by Sparse.

Signed-off-by: Ujwal Kundur <ujwal.kundur@gmail.com>
---
 net/rds/rds.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/rds/rds.h b/net/rds/rds.h
index dc360252c515..5b1c072e2e7f 100644
--- a/net/rds/rds.h
+++ b/net/rds/rds.h
@@ -93,7 +93,7 @@ enum {
 
 /* Max number of multipaths per RDS connection. Must be a power of 2 */
 #define	RDS_MPATH_WORKERS	8
-#define	RDS_MPATH_HASH(rs, n) (jhash_1word((rs)->rs_bound_port, \
+#define	RDS_MPATH_HASH(rs, n) (jhash_1word(ntohs((rs)->rs_bound_port), \
 			       (rs)->rs_hash_initval) & ((n) - 1))
 
 #define IS_CANONICAL(laddr, faddr) (htonl(laddr) < htonl(faddr))
-- 
2.30.2
Re: [PATCH net-next v2 3/4] rds: Fix endianness annotation for RDS_MPATH_HASH
Posted by Allison Henderson 1 month, 1 week ago
On Wed, 2025-08-20 at 23:25 +0530, Ujwal Kundur wrote:
> jhash_1word accepts host endian inputs while rs_bound_port is a be16
> value (sockaddr_in6.sin6_port). Use ntohs() for consistency.
> 
> Flagged by Sparse.
> 
> Signed-off-by: Ujwal Kundur <ujwal.kundur@gmail.com>
This looks fine.  Thank you!
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>

> ---
>  net/rds/rds.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/rds/rds.h b/net/rds/rds.h
> index dc360252c515..5b1c072e2e7f 100644
> --- a/net/rds/rds.h
> +++ b/net/rds/rds.h
> @@ -93,7 +93,7 @@ enum {
>  
>  /* Max number of multipaths per RDS connection. Must be a power of 2 */
>  #define	RDS_MPATH_WORKERS	8
> -#define	RDS_MPATH_HASH(rs, n) (jhash_1word((rs)->rs_bound_port, \
> +#define	RDS_MPATH_HASH(rs, n) (jhash_1word(ntohs((rs)->rs_bound_port), \
>  			       (rs)->rs_hash_initval) & ((n) - 1))
>  
>  #define IS_CANONICAL(laddr, faddr) (htonl(laddr) < htonl(faddr))