ntb_hw_switchtec: potential shift wrapping bug in switchtec_ntb_init_sndev()
This code triggers a Smatch warning: drivers/ntb/hw/mscc/ntb_hw_switchtec.c:884 switchtec_ntb_init_sndev() warn: should '(1 << sndev->peer_partition)' be a 64 bit type? The "part_map" and "tpart_vec" variables are u64 type so this seems like a valid warning. Fixes: 3df54c870f52 ("ntb_hw_switchtec: Allow using Switchtec NTB in multi-partition setups") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Logan Gunthorpe <logang@deltatee.com> Signed-off-by: Jon Mason <jdmason@kudzu.us>
This commit is contained in:
@ -881,7 +881,7 @@ static int switchtec_ntb_init_sndev(struct switchtec_ntb *sndev)
|
||||
}
|
||||
|
||||
sndev->peer_partition = ffs(tpart_vec) - 1;
|
||||
if (!(part_map & (1 << sndev->peer_partition))) {
|
||||
if (!(part_map & (1ULL << sndev->peer_partition))) {
|
||||
dev_err(&sndev->stdev->dev,
|
||||
"ntb target partition is not NT partition\n");
|
||||
return -ENODEV;
|
||||
|
Reference in New Issue
Block a user