All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrzej Turko <andrzej.turko@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [PATCH i-g-t 1/3] lib/intel_allocator: Check validity of the file descriptor
Date: Wed, 16 Jun 2021 16:01:56 +0200	[thread overview]
Message-ID: <20210616140158.7441-2-andrzej.turko@linux.intel.com> (raw)
In-Reply-To: <20210616140158.7441-1-andrzej.turko@linux.intel.com>

All procedures for opening particular types of allocators
query the gtt size. Even if the user has provided the
boundaries of the address space managed by the allocator,
the query is performed for the sake of validation.

gem_aperture_size() called with an invalid id returns a
default value instead of failing. Thus, we need to
additionally check whether the file descriptor is valid.

Signed-off-by: Andrzej Turko <andrzej.turko@linux.intel.com>
Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
---
 lib/intel_allocator.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/lib/intel_allocator.c b/lib/intel_allocator.c
index 96f839d4b..c060e10c3 100644
--- a/lib/intel_allocator.c
+++ b/lib/intel_allocator.c
@@ -166,6 +166,15 @@ static inline void map_entry_free_func(struct igt_map_entry *entry)
 	free(entry->data);
 }
 
+static bool can_report_gtt_size(int fd)
+{
+	struct drm_i915_gem_context_param p = {
+		.param = I915_CONTEXT_PARAM_GTT_SIZE
+	};
+
+	return (__gem_context_get_param(fd, &p) == 0);
+}
+
 static uint64_t __handle_create(struct allocator *al)
 {
 	struct handle_entry *h = malloc(sizeof(*h));
@@ -271,6 +280,8 @@ static struct intel_allocator *intel_allocator_create(int fd,
 {
 	struct intel_allocator *ial = NULL;
 
+	igt_assert(can_report_gtt_size(fd));
+
 	switch (allocator_type) {
 	/*
 	 * Few words of explanation is required here.
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2021-06-16 14:03 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-16 14:01 [igt-dev] [PATCH v5 i-g-t 0/3] Fix the multiprocess mode of intel allocator Andrzej Turko
2021-06-16 14:01 ` Andrzej Turko [this message]
2021-06-16 14:01 ` [igt-dev] [PATCH i-g-t 2/3] tests/i915/api_intel_allocator: Exercise allocator in multiprocess mode Andrzej Turko
2021-06-16 14:01 ` [igt-dev] [PATCH i-g-t 3/3] lib/intel_allocator: Move ioctl calls to client processes Andrzej Turko
2021-06-16 18:09 ` [igt-dev] ✓ Fi.CI.BAT: success for Fix the multiprocess mode of intel allocator Patchwork
2021-06-16 21:09 ` [igt-dev] ✓ Fi.CI.IGT: " 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=20210616140158.7441-2-andrzej.turko@linux.intel.com \
    --to=andrzej.turko@linux.intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.