]> git.karo-electronics.de Git - karo-tx-linux.git/commit
gpu: host1x: fix an integer overflow check
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 23 Aug 2013 10:18:25 +0000 (13:18 +0300)
committerThierry Reding <treding@nvidia.com>
Tue, 27 Aug 2013 08:20:11 +0000 (10:20 +0200)
commitf5fda676e9a3991aab159418f870351bc7d45d96
treee2cd6626f446753b24f6c4d4f454ebe195a729c1
parentccaddfe1a2e10f50aa6f553f9791c2724b6d3c4a
gpu: host1x: fix an integer overflow check

Tegra is a 32 bit arch.  On 32 bit systems then size_t is 32 bits so
"total" will never be higher than UINT_MAX because of integer overflows.
We need cast to u64 first before doing the math.

Also the addition earlier:

        unsigned int num_unpins = num_cmdbufs + num_relocs;

That can overflow as well, but I think it's still safe because we check
both "num_cmdbufs" and "num_relocs" again in this test.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/gpu/host1x/job.c