From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: drm/amdkfd: Implement interval tree for userptr ranges Date: Wed, 11 Feb 2026 17:15:48 +1000 Message-ID: In-Reply-To: <20260209061047.3881808-4-honglei1.huang@amd.com> References: <20260209061047.3881808-1-honglei1.huang@amd.com> <20260209061047.3881808-4-honglei1.huang@amd.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Mailer: Claude Code Patch Reviewer Patch Review **Overview:** Adds interval tree for efficient range lookup. **Issues:** 1. **Locking Missing - Critical:** ```c +static bool discard_invalid_ranges(struct kgd_mem *mem, + unsigned long inv_start, unsigned long inv_end) +{ + for (node = interval_tree_iter_first(&mem->user_ranges_itree, inv_start, inv_end - 1); ``` No lock assertion or documentation. The interval tree is being iterated without documented protection. If ranges can be added/removed concurrently, this could crash. 2. **Integer Underflow:** ```c + for (node = interval_tree_iter_first(&mem->user_ranges_itree, inv_start, inv_end - 1); ``` If `inv_end == 0`, this underflows to `ULONG_MAX`. Should validate `inv_end > inv_start`. 3. **Debug Logging in Hot Path:** ```c + pr_debug("Range [0x%llx-0x%llx) marked invalid\n", ``` Called from MMU notifier callback which is performance-critical. Debug logging here could impact performance. --- Generated by Claude Code Patch Reviewer