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/pagemap: Unlock cache->lock before freeing it Date: Tue, 24 Feb 2026 09:36:36 +1000 Message-ID: In-Reply-To: <20260223222937.2008492-1-matthew.brost@intel.com> References: <20260223222937.2008492-1-matthew.brost@intel.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Overall Series Review Subject: drm/pagemap: Unlock cache->lock before freeing it Author: Matthew Brost Patches: 1 Reviewed: 2026-02-24T09:36:36.206852 --- This is a single patch that adds a missing `spin_unlock(&cache->lock)` call in the `else` branch of `drm_pagemap_cache_fini()`. When `drm_pagemap_shrinker_cancel()` returns false (meaning the shrinker has already dequeued the pagemap), the code falls through to the `out:` label with the spinlock still held, and then proceeds to `kfree(cache)`, freeing the lock while still held. The fix is straightforward and correct for what it claims to do. The commit message describes this as satisfying static analyzers, though it's worth noting that `CONFIG_DEBUG_SPINLOCK` / lockdep builds will also warn about freeing a held spinlock, so this is arguably a real (debug) bug, not just a static analysis false positive. --- Generated by Claude Code Patch Reviewer