Module Name: src Committed By: riastradh Date: Wed Mar 1 08:14:13 UTC 2023
Modified Files: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu: amdgpu_gart.c Log Message: amdgpu: Fix bogus loop invariant assertions in amdgpu_gart_map. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 \ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gart.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gart.c diff -u src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gart.c:1.10 src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gart.c:1.11 --- src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gart.c:1.10 Sat Jul 30 17:12:39 2022 +++ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gart.c Wed Mar 1 08:14:13 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: amdgpu_gart.c,v 1.10 2022/07/30 17:12:39 riastradh Exp $ */ +/* $NetBSD: amdgpu_gart.c,v 1.11 2023/03/01 08:14:13 riastradh Exp $ */ /* * Copyright 2008 Advanced Micro Devices, Inc. @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: amdgpu_gart.c,v 1.10 2022/07/30 17:12:39 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: amdgpu_gart.c,v 1.11 2023/03/01 08:14:13 riastradh Exp $"); #include <linux/pci.h> #include <linux/vmalloc.h> @@ -440,8 +440,9 @@ int amdgpu_gart_map(struct amdgpu_device t = gpu_start / AMDGPU_GPU_PAGE_SIZE; for (i = 0; npages --> 0;) { - KASSERT(i < dmamap->dm_nsegs); for (j = 0; j < AMDGPU_GPU_PAGES_IN_CPU_PAGE; j++) { + KASSERT(i < dmamap->dm_nsegs); + KASSERT(seg_off < dmamap->dm_segs[i].ds_len); amdgpu_gmc_set_pte_pde(adev, dst, t, dmamap->dm_segs[i].ds_addr + seg_off, flags); seg_off += AMDGPU_GPU_PAGE_SIZE; @@ -449,7 +450,6 @@ int amdgpu_gart_map(struct amdgpu_device i++; seg_off = 0; } - KASSERT(seg_off < dmamap->dm_segs[i].ds_len); } }