forked from Minki/linux
drm/amdgpu: Off by one sanity checks
This is just future proofing code, not something that can be triggered in real life. We're testing to make sure we don't shift wrap when we do "1ull << i" so "i" has to be in the 0-63 range. If it's 64 then we have gone too far. Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
6d949d2473
commit
1d11ee8986
@ -4564,7 +4564,7 @@ static int gfx_v8_0_kiq_kcq_enable(struct amdgpu_device *adev)
|
|||||||
/* This situation may be hit in the future if a new HW
|
/* This situation may be hit in the future if a new HW
|
||||||
* generation exposes more than 64 queues. If so, the
|
* generation exposes more than 64 queues. If so, the
|
||||||
* definition of queue_mask needs updating */
|
* definition of queue_mask needs updating */
|
||||||
if (WARN_ON(i > (sizeof(queue_mask)*8))) {
|
if (WARN_ON(i >= (sizeof(queue_mask)*8))) {
|
||||||
DRM_ERROR("Invalid KCQ enabled: %d\n", i);
|
DRM_ERROR("Invalid KCQ enabled: %d\n", i);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -2425,7 +2425,7 @@ static int gfx_v9_0_kiq_kcq_enable(struct amdgpu_device *adev)
|
|||||||
/* This situation may be hit in the future if a new HW
|
/* This situation may be hit in the future if a new HW
|
||||||
* generation exposes more than 64 queues. If so, the
|
* generation exposes more than 64 queues. If so, the
|
||||||
* definition of queue_mask needs updating */
|
* definition of queue_mask needs updating */
|
||||||
if (WARN_ON(i > (sizeof(queue_mask)*8))) {
|
if (WARN_ON(i >= (sizeof(queue_mask)*8))) {
|
||||||
DRM_ERROR("Invalid KCQ enabled: %d\n", i);
|
DRM_ERROR("Invalid KCQ enabled: %d\n", i);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -671,7 +671,7 @@ static int set_sched_resources(struct device_queue_manager *dqm)
|
|||||||
/* This situation may be hit in the future if a new HW
|
/* This situation may be hit in the future if a new HW
|
||||||
* generation exposes more than 64 queues. If so, the
|
* generation exposes more than 64 queues. If so, the
|
||||||
* definition of res.queue_mask needs updating */
|
* definition of res.queue_mask needs updating */
|
||||||
if (WARN_ON(i > (sizeof(res.queue_mask)*8))) {
|
if (WARN_ON(i >= (sizeof(res.queue_mask)*8))) {
|
||||||
pr_err("Invalid queue enabled by amdgpu: %d\n", i);
|
pr_err("Invalid queue enabled by amdgpu: %d\n", i);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user