svn commit: r341568 - head/sys/dev/mlx5/mlx5_ib
Slava Shwartsman
slavash at FreeBSD.org
Wed Dec 5 13:47:42 UTC 2018
Author: slavash
Date: Wed Dec 5 13:47:41 2018
New Revision: 341568
URL: https://svnweb.freebsd.org/changeset/base/341568
Log:
mlx5ib: Fix sign extension in mlx5_ib_query_device
"fw_rev_min(dev->mdev)" with type "unsigned short" (16 bits, unsigned) is
promoted in "fw_rev_min(dev->mdev) << 16" to type "int" (32 bits, signed), then
sign-extended to type "unsigned long" (64 bits, unsigned). If
"fw_rev_min(dev->mdev) << 16" is greater than 0x7FFFFFFF, the upper bits of the
result will all be 1.
Approved by: hselasky (mentor)
MFC after: 1 week
Sponsored by: Mellanox Technologies
Modified:
head/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c
Modified: head/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c
==============================================================================
--- head/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c Wed Dec 5 13:47:10 2018 (r341567)
+++ head/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c Wed Dec 5 13:47:41 2018 (r341568)
@@ -605,7 +605,7 @@ static int mlx5_ib_query_device(struct ib_device *ibde
return err;
props->fw_ver = ((u64)fw_rev_maj(dev->mdev) << 32) |
- (fw_rev_min(dev->mdev) << 16) |
+ ((u32)fw_rev_min(dev->mdev) << 16) |
fw_rev_sub(dev->mdev);
props->device_cap_flags = IB_DEVICE_CHANGE_PHY_PORT |
IB_DEVICE_PORT_ACTIVE_EVENT |
More information about the svn-src-head
mailing list