From: Qasim Ijaz qasdev00@gmail.com
[ Upstream commit 878516a9e62cd220379e511d43dcf58df3a6ca9f ]
In the ttm_bo_unreserve_bulk() test function, resv is allocated using kunit_kzalloc(), but the subsequent assertion mistakenly verifies the ttm_dev pointer instead of the resv pointer.
Fix the assertion to properly verify the resv pointer.
Signed-off-by: Qasim Ijaz qasdev00@gmail.com Link: https://patchwork.freedesktop.org/patch/msgid/20250313161424.10688-1-qasdev0... Reviewed-by: Christian König christian.koenig@amd.com Signed-off-by: Christian König christian.koenig@amd.com Signed-off-by: Sasha Levin sashal@kernel.org ---
Let me check the commit message in the analysis: Based on my thorough analysis, I can now provide a comprehensive assessment. **YES** This commit should be backported to stable kernel trees. ## Detailed Analysis: ### Nature of the Bug: The commit fixes a simple but significant bug in the TTM (Translation Table Maps) test code. In the `ttm_bo_unreserve_bulk()` test function, there's a copy-paste error where: ```c resv = kunit_kzalloc(test, sizeof(*resv), GFP_KERNEL); KUNIT_ASSERT_NOT_NULL(test, ttm_dev); // BUG: should be 'resv', not 'ttm_dev' ``` The assertion is checking the wrong pointer. It should be: ```c KUNIT_ASSERT_NOT_NULL(test, resv); ``` ### Why This Should Be Backported: 1. **Important Test Infrastructure Bug**: This bug affects TTM test validation, which is crucial for GPU driver stability. While it's "only" test code, broken tests can mask real bugs or give false confidence. 2. **Small, Contained Fix**: The change is minimal and isolated - it only affects a single line in a test file with zero risk of breaking production code. This matches the stable tree criteria of minimal, low-risk fixes. 3. **Clear Bug Pattern**: This is an obvious copy-paste error that was introduced in commit 588c4c8d58c4 when the `resv` variable was added but the assertion wasn't updated accordingly. 4. **Follows Stable Tree Rules**: - Fixes an important bug (broken test validation) - Extremely low regression risk (one-line change in test code) - No architectural changes - Confined to a single subsystem 5. **Historical Precedent**: Looking at similar commit #1 in the examples, which was marked "Backport Status: YES", it also fixed TTM test code with similar characteristics - a small, contained fix to test infrastructure that ensures proper validation. 6. **Test Code Importance**: Properly functioning tests are essential for kernel stability. Broken tests in TTM could lead to GPU driver regressions going undetected. ### Comparison with Similar Commits: - Similar to the "YES" example which fixed TTM test warnings and was deemed suitable for backporting - Unlike the "NO" examples which involved more complex logic changes or reverts The commit message is clear, the change is minimal, and it fixes a genuine bug in important test infrastructure without any risk to production code.
drivers/gpu/drm/ttm/tests/ttm_bo_test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/ttm/tests/ttm_bo_test.c b/drivers/gpu/drm/ttm/tests/ttm_bo_test.c index f8f20d2f61740..e08e5a138420e 100644 --- a/drivers/gpu/drm/ttm/tests/ttm_bo_test.c +++ b/drivers/gpu/drm/ttm/tests/ttm_bo_test.c @@ -340,7 +340,7 @@ static void ttm_bo_unreserve_bulk(struct kunit *test) KUNIT_ASSERT_NOT_NULL(test, ttm_dev);
resv = kunit_kzalloc(test, sizeof(*resv), GFP_KERNEL); - KUNIT_ASSERT_NOT_NULL(test, ttm_dev); + KUNIT_ASSERT_NOT_NULL(test, resv);
err = ttm_device_kunit_init(priv, ttm_dev, false, false); KUNIT_ASSERT_EQ(test, err, 0);