On 02/08/2018 03:49 AM, Rafael J. Wysocki wrote:
On Wednesday, February 7, 2018 12:36:17 AM CET Gustavo A. R. Silva wrote:
Add suffix ULL to constant 500 in order to give the compiler complete
information about the proper arithmetic to use. Notice that this
constant is used in a context that expects an expression of type
u64 (64 bits, unsigned).

The expression NUM_RETRIES * cppc_ss->latency at line 578, which at
preprocessing time translates to 500 * cppc_ss->latency is currently
being evaluated using 32-bit arithmetic.

Addresses-Coverity-ID: 1382602
Signed-off-by: Gustavo A. R. Silva <gust...@embeddedor.com>
Notice that another option is to cast NUM_RETRIES to u64 at line 578,
but as there is only one instace in which this macro is being used I
think adding the ULL is just enough.

  drivers/acpi/cppc_acpi.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
index 06ea474..0afbb26 100644
--- a/drivers/acpi/cppc_acpi.c
+++ b/drivers/acpi/cppc_acpi.c
@@ -119,7 +119,7 @@ static DEFINE_PER_CPU(struct cpc_desc *, cpc_desc_ptr);
   * to PCC commands. Keeping it high enough to cover emulators where
   * the processors run painfully slow.
-#define NUM_RETRIES 500
+#define NUM_RETRIES 500ULL
struct cppc_attr {
        struct attribute attr;

Applied, thanks!

Thank you, Rafael.


Reply via email to