rust-for-linux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] drm: nova: Align GEM memory allocation to system page size
@ 2025-11-21  4:04 bshephar
  2025-11-25  7:41 ` bshephar
                   ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: bshephar @ 2025-11-21  4:04 UTC (permalink / raw)
  To: dakr, acourbot, joelagnelf, jhubbard, airlied
  Cc: rust-for-linux, nouveau, brendan.shephard

Use page::page_align for GEM object memory allocation to ensure the
allocation is page aligned. This ensures that the allocation is page
aligned with the system in cases where 4096 is not the default.
For example on 16k or 64k aarch64 systems this allocation should be
aligned accordingly.

Signed-off-by: Brendan Shephard <bshephar@bne-home.net>
---
 drivers/gpu/drm/nova/gem.rs | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/nova/gem.rs b/drivers/gpu/drm/nova/gem.rs
index 2760ba4f3450..a07e922e25ef 100644
--- a/drivers/gpu/drm/nova/gem.rs
+++ b/drivers/gpu/drm/nova/gem.rs
@@ -3,6 +3,10 @@
 use kernel::{
     drm,
     drm::{gem, gem::BaseObject},
+    page::{
+        page_align,
+        PAGE_SIZE, //
+    },
     prelude::*,
     sync::aref::ARef,
 };
@@ -27,12 +31,13 @@ fn new(_dev: &NovaDevice, _size: usize) -> impl PinInit<Self, Error> {
 impl NovaObject {
     /// Create a new DRM GEM object.
     pub(crate) fn new(dev: &NovaDevice, size: usize) -> Result<ARef<gem::Object<Self>>> {
-        let aligned_size = size.next_multiple_of(1 << 12);
-
-        if size == 0 || size > aligned_size {
+        // Check for 0 size or potential usize overflow before calling page_align
+        if size == 0 || size > usize::MAX - PAGE_SIZE + 1 {
             return Err(EINVAL);
         }

+        let aligned_size = page_align(size);
+
         gem::Object::new(dev, aligned_size)
     }

--

^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2025-11-26 21:14 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-21  4:04 [PATCH 1/1] drm: nova: Align GEM memory allocation to system page size bshephar
2025-11-25  7:41 ` bshephar
2025-11-25  9:23 ` Alice Ryhl
2025-11-26  5:49   ` Brendan Shephard
2025-11-26  9:53     ` Alice Ryhl
2025-11-25 14:28 ` Alexandre Courbot
2025-11-25 14:41   ` Alice Ryhl
2025-11-25 14:55     ` Alexandre Courbot
2025-11-25 14:59       ` Alice Ryhl
2025-11-26  0:31         ` Alexandre Courbot
2025-11-26  9:54           ` Alice Ryhl
2025-11-26 13:22             ` Alexandre Courbot
2025-11-26 13:36               ` Alice Ryhl
2025-11-26 14:00                 ` Alexandre Courbot
2025-11-26 16:24                   ` Alice Ryhl
2025-11-26 21:14                   ` Brendan Shephard
2025-11-26  6:05       ` Brendan Shephard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).