2020-05-05 02:43:01

by Xie XiuQi

[permalink] [raw]
Subject: [PATCH net-next] ixgbe: fix signed-integer-overflow warning

ubsan report this warning, fix it by adding a unsigned suffix.

UBSAN: signed-integer-overflow in
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c:2246:26
65535 * 65537 cannot be represented in type 'int'
CPU: 21 PID: 7 Comm: kworker/u256:0 Not tainted 5.7.0-rc3-debug+ #39
Hardware name: Huawei TaiShan 2280 V2/BC82AMDC, BIOS 2280-V2 03/27/2020
Workqueue: ixgbe ixgbe_service_task [ixgbe]
Call trace:
dump_backtrace+0x0/0x3f0
show_stack+0x28/0x38
dump_stack+0x154/0x1e4
ubsan_epilogue+0x18/0x60
handle_overflow+0xf8/0x148
__ubsan_handle_mul_overflow+0x34/0x48
ixgbe_fc_enable_generic+0x4d0/0x590 [ixgbe]
ixgbe_service_task+0xc20/0x1f78 [ixgbe]
process_one_work+0x8f0/0xf18
worker_thread+0x430/0x6d0
kthread+0x218/0x238
ret_from_fork+0x10/0x18

Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Xie XiuQi <[email protected]>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
index 0bd1294ba517..39c5e6fdb72c 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
@@ -2243,7 +2243,7 @@ s32 ixgbe_fc_enable_generic(struct ixgbe_hw *hw)
}

/* Configure pause time (2 TCs per register) */
- reg = hw->fc.pause_time * 0x00010001;
+ reg = hw->fc.pause_time * 0x00010001U;
for (i = 0; i < (MAX_TRAFFIC_CLASS / 2); i++)
IXGBE_WRITE_REG(hw, IXGBE_FCTTV(i), reg);

--
2.20.1


2020-05-05 02:46:36

by Jeff Kirsher

[permalink] [raw]
Subject: RE: [PATCH net-next] ixgbe: fix signed-integer-overflow warning

> -----Original Message-----
> From: Xie XiuQi <[email protected]>
> Sent: Monday, May 4, 2020 19:45
> To: Kirsher, Jeffrey T <[email protected]>; [email protected]
> Cc: [email protected]; [email protected]; linux-
> [email protected]
> Subject: [PATCH net-next] ixgbe: fix signed-integer-overflow warning
>
> ubsan report this warning, fix it by adding a unsigned suffix.
>
> UBSAN: signed-integer-overflow in
> drivers/net/ethernet/intel/ixgbe/ixgbe_common.c:2246:26
> 65535 * 65537 cannot be represented in type 'int'
> CPU: 21 PID: 7 Comm: kworker/u256:0 Not tainted 5.7.0-rc3-debug+ #39
> Hardware name: Huawei TaiShan 2280 V2/BC82AMDC, BIOS 2280-V2
> 03/27/2020
> Workqueue: ixgbe ixgbe_service_task [ixgbe] Call trace:
> dump_backtrace+0x0/0x3f0
> show_stack+0x28/0x38
> dump_stack+0x154/0x1e4
> ubsan_epilogue+0x18/0x60
> handle_overflow+0xf8/0x148
> __ubsan_handle_mul_overflow+0x34/0x48
> ixgbe_fc_enable_generic+0x4d0/0x590 [ixgbe]
> ixgbe_service_task+0xc20/0x1f78 [ixgbe]
> process_one_work+0x8f0/0xf18
> worker_thread+0x430/0x6d0
> kthread+0x218/0x238
> ret_from_fork+0x10/0x18
>
> Reported-by: Hulk Robot <[email protected]>
> Signed-off-by: Xie XiuQi <[email protected]>
> ---
> drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Dave, I am picking this up.

2020-05-07 20:38:56

by Bowers, AndrewX

[permalink] [raw]
Subject: RE: [Intel-wired-lan] [PATCH net-next] ixgbe: fix signed-integer-overflow warning

-----Original Message-----
From: Intel-wired-lan <[email protected]> On Behalf Of Xie XiuQi
Sent: Monday, May 4, 2020 7:45 PM
To: Kirsher, Jeffrey T <[email protected]>; [email protected]
Cc: [email protected]; [email protected]; [email protected]
Subject: [Intel-wired-lan] [PATCH net-next] ixgbe: fix signed-integer-overflow warning

ubsan report this warning, fix it by adding a unsigned suffix.

UBSAN: signed-integer-overflow in
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c:2246:26
65535 * 65537 cannot be represented in type 'int'
CPU: 21 PID: 7 Comm: kworker/u256:0 Not tainted 5.7.0-rc3-debug+ #39 Hardware name: Huawei TaiShan 2280 V2/BC82AMDC, BIOS 2280-V2 03/27/2020
Workqueue: ixgbe ixgbe_service_task [ixgbe] Call trace:
dump_backtrace+0x0/0x3f0
show_stack+0x28/0x38
dump_stack+0x154/0x1e4
ubsan_epilogue+0x18/0x60
handle_overflow+0xf8/0x148
__ubsan_handle_mul_overflow+0x34/0x48
ixgbe_fc_enable_generic+0x4d0/0x590 [ixgbe]
ixgbe_service_task+0xc20/0x1f78 [ixgbe]
process_one_work+0x8f0/0xf18
worker_thread+0x430/0x6d0
kthread+0x218/0x238
ret_from_fork+0x10/0x18

Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Xie XiuQi <[email protected]>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)


Tested-by: Andrew Bowers <[email protected]>