From: Boris Brezillon <boris.brezillon@collabora.com>
To: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: Rob Herring <robh+dt@kernel.org>,
Tomeu Vizoso <tomeu.vizoso@collabora.com>,
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>,
Steven Price <steven.price@arm.com>,
Robin Murphy <robin.murphy@arm.com>,
dri-devel@lists.freedesktop.org
Subject: Re: [PATCH] drm/panfrost: Add PANFROST_BO_NO{READ,WRITE} flags
Date: Fri, 1 Oct 2021 08:47:40 +0200 [thread overview]
Message-ID: <20211001084740.051e9d80@collabora.com> (raw)
In-Reply-To: <YVY2O48ckub2fc5W@maud>
On Thu, 30 Sep 2021 18:12:11 -0400
Alyssa Rosenzweig <alyssa@collabora.com> wrote:
> > > > + /* Executable implies readable */
> > > > + if ((args->flags & PANFROST_BO_NOREAD) &&
> > > > + !(args->flags & PANFROST_BO_NOEXEC))
> > > > + return -EINVAL;
> > >
> > > Generally, executable also implies not-writeable. Should we check that?
> >
> > We were allowing it until now, so doing that would break the backward
> > compat, unfortunately.
>
> Not a problem if you only enforce this starting with the appropriate
> UABI version, but...
I still don't see how that solves the <old-userspace,new-kernel>
situation, since old-userspace doesn't know about the new UABI, and
there's no version field on the CREATE_BO ioctl() to let the kernel
know about the UABI used by this userspace program. I mean, we could
add one, or add a new PANFROST_BO_EXTENDED_FLAGS flag to enforce this
'noexec implies nowrite' behavior, but is it really simpler than
explicitly passing the NOWRITE flag when NOEXEC is passed?
>
> > Steve also mentioned that the DDK might use shaders modifying other
> > shaders here [1]
>
> What? I believe it, but what?
>
> For the case of pilot shaders, that shouldn't require self-modifying
> code. As I understand, the DDK binds the push uniform (FAU / RMU) buffer
> as global shader memory (SSBO) and uses regular STORE instructions on
> it. That requires writability on that BO but that should be fine.
Okay.
next prev parent reply other threads:[~2021-10-01 6:47 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-30 18:47 [PATCH] drm/panfrost: Add PANFROST_BO_NO{READ,WRITE} flags Boris Brezillon
2021-09-30 19:13 ` Alyssa Rosenzweig
2021-09-30 19:40 ` Boris Brezillon
2021-09-30 22:12 ` Alyssa Rosenzweig
2021-10-01 6:47 ` Boris Brezillon [this message]
2021-10-01 11:48 ` Alyssa Rosenzweig
2021-10-01 12:09 ` Steven Price
2021-09-30 19:44 ` Boris Brezillon
2021-10-01 7:06 ` Boris Brezillon
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=20211001084740.051e9d80@collabora.com \
--to=boris.brezillon@collabora.com \
--cc=alyssa.rosenzweig@collabora.com \
--cc=alyssa@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=robh+dt@kernel.org \
--cc=robin.murphy@arm.com \
--cc=steven.price@arm.com \
--cc=tomeu.vizoso@collabora.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 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.