Coverity: tc358746_g_register(): Integer handling issues
Subsystems (2)
Hello!
This is an experimental semi-automated report about issues detected by Coverity from a scan of next-20221110 as part of the linux-next scan project:
https://scan.coverity.com/projects/linux-next-weekly-scan
You're getting this email because you were associated with the identified lines of code (noted below) that were touched by commits:
Thu Oct 27 14:48:40 2022 +0300
80a21da36051 ("media: tc358746: add Toshiba TC358746 Parallel to CSI-2 bridge driver")Coverity reported the following:
*** CID 1527256: Integer handling issues (INCOMPATIBLE_CAST) drivers/media/i2c/tc358746.c:998 in tc358746_g_register()
992 /* 32-bit registers starting from CLW_DPHYCONTTX */
993 reg->size = reg->reg < CLW_DPHYCONTTX_REG ? 2 : 4;
994
995 if (!pm_runtime_get_if_in_use(sd->dev))
996 return 0;
997
vvv CID 1527256: Integer handling issues (INCOMPATIBLE_CAST) vvv Pointer "®->val" points to an object whose effective type is "unsigned long long" (64 bits, unsigned) but is dereferenced as a narrower "unsigned int" (32 bits, unsigned). This may lead to unexpected results depending on machine endianness. 998 tc358746_read(tc358746, reg->reg, (u32 *)®->val);
999
1000 pm_runtime_mark_last_busy(sd->dev);
1001 pm_runtime_put_sync_autosuspend(sd->dev);
1002
1003 return 0;
If this is a false positive, please let us know so we can mark it as such, or teach the Coverity rules to be smarter. If not, please make sure fixes get into linux-next. :) For patches fixing this, please include these lines (but double-check the "Fixes" first):
Addresses-Coverity-ID: 1527256 ("Integer handling issues")
Thanks for your attention!
Signature · 1 line
Coverity-bot