From: Andi Shyti <andi.shyti@linux.intel.com>
To: intel-gfx <intel-gfx@lists.freedesktop.org>,
dri-devel <dri-devel@lists.freedesktop.org>
Cc: Andi Shyti <andi.shyti@linux.intel.com>,
Jonathan Cavitt <jonathan.cavitt@intel.com>
Subject: [PATCH 1/2] drm/i915/gem: Return -EINVAL instead of '0'
Date: Sun, 16 Jun 2024 09:03:48 +0200 [thread overview]
Message-ID: <20240616070349.250899-2-andi.shyti@linux.intel.com> (raw)
In-Reply-To: <20240616070349.250899-1-andi.shyti@linux.intel.com>
Commit 05da7d9f717b ("drm/i915/gem: Downgrade stolen lmem setup
warning") returns '0' from i915_gem_stolen_lmem_setup(), but it's
supposed to return a pointer to the intel_memory_region
structure.
Sparse complains with the following message:
>> drivers/gpu/drm/i915/gem/i915_gem_stolen.c:943:32: sparse: sparse:
Using plain integer as NULL pointer
The caller checks for errors, and if no error is returned, it
stores the address of the stolen memory. Therefore, we can't
return NULL. Since we are handling a case of out-of-bounds, it's
appropriate to treat the "lmem_size < dsm_base" case as an error.
Return -EINVAL embedded in a pointer instead of '0' (or NULL).
This way, we avoid a potential NULL pointer dereference.
Since we are returning an error, it makes sense to print an error
message with drm_err() instead of a debug message using
drm_dbg().
Fixes: 05da7d9f717b ("drm/i915/gem: Downgrade stolen lmem setup warning")
Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
Cc: Jonathan Cavitt <jonathan.cavitt@intel.com>
---
drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
index 004471f60117..bd774ce713cf 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
@@ -937,10 +937,10 @@ i915_gem_stolen_lmem_setup(struct drm_i915_private *i915, u16 type,
/* Use DSM base address instead for stolen memory */
dsm_base = intel_uncore_read64(uncore, GEN6_DSMBASE) & GEN11_BDSM_MASK;
if (lmem_size < dsm_base) {
- drm_dbg(&i915->drm,
+ drm_err(&i915->drm,
"Disabling stolen memory support due to OOB placement: lmem_size = %lli vs dsm_base = %lli\n",
lmem_size, dsm_base);
- return 0;
+ return ERR_PTR(-EINVAL);
}
dsm_size = ALIGN_DOWN(lmem_size - dsm_base, SZ_1M);
}
--
2.45.1
next prev parent reply other threads:[~2024-06-16 7:04 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-16 7:03 [PATCH 0/2] Sparse errors on the i915_gem_stolen Andi Shyti
2024-06-16 7:03 ` Andi Shyti [this message]
2024-06-17 12:55 ` [PATCH 1/2] drm/i915/gem: Return -EINVAL instead of '0' Lucas De Marchi
2024-06-17 14:22 ` Andi Shyti
2024-06-17 15:46 ` Lucas De Marchi
2024-06-17 18:38 ` Andi Shyti
2024-06-17 22:29 ` Lucas De Marchi
2024-06-18 7:26 ` Andi Shyti
2024-06-16 7:03 ` [PATCH 2/2] drm/i915/gem: Use the correct format specifier for resource_size_t Andi Shyti
2024-06-16 7:40 ` ✓ Fi.CI.BAT: success for Sparse errors on the i915_gem_stolen Patchwork
2024-06-17 10:54 ` ✗ Fi.CI.IGT: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240616070349.250899-2-andi.shyti@linux.intel.com \
--to=andi.shyti@linux.intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jonathan.cavitt@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox