From: Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: "Terje Bergström" <tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Erik Faye-Lund
<kusmabite-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org"
<dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH v2 08/27] drm/tegra: gr2d: Miscellaneous cleanups
Date: Mon, 7 Oct 2013 15:13:39 +0200 [thread overview]
Message-ID: <20131007131332.GA3795@ulmo.nvidia.com> (raw)
In-Reply-To: <5252AE8C.9090609-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 2614 bytes --]
On Mon, Oct 07, 2013 at 03:52:28PM +0300, Terje Bergström wrote:
> On 07.10.2013 15:14, Thierry Reding wrote:
> > * PGP Signed by an unknown key
> >
> > On Mon, Oct 07, 2013 at 01:34:44PM +0200, Erik Faye-Lund wrote:
> >> On Mon, Oct 7, 2013 at 10:34 AM, Thierry Reding
> >> <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> >>> Rework the address table code for the host1x firewall. The previous
> >>> implementation allocated a bitfield but didn't check for a valid pointer
> >>> so it could potentially crash.
> >>
> >> I don't think it could crash. The bitmaps was allocated as a 256-bit
> >> field, and the register offset gets AND'ed with 0xFF before being
> >> looked up. What am I missing?
> >
> > The pointer returned from the allocation is never checked, so it could
> > theoretically be NULL and be used regardless.
> >
> > Also I'm not sure that AND'ing with 0xff is the right thing to do here.
>
> Oops, there's a check for NULL missing. If that allocation fails, probe
> should fail, so we just need to propagate the error condition. Otherwise
> we might just leave the firewall off, and let everything go in unchecked.
Yes, definitely.
> AND 0xff is necessary, because the same registers are mirrored in
> multiple contexts. AND removes the offset coming from context, and
> leaves just the plain register offset.
That looks like something which should go into a comment.
> > I'm not so sure. Caching should alleviate the issue with the increased
> > amount of data. Then there's the fact that previously we needed to
> > divide and compute the remainder of the division for the BIT_MASK and
> > BIT_WORD operations.
>
> Don't these get compiled into shifts and bitwise ands?
Yes, they are.
> > One other added benefit of this approach is that the address registers
> > are stored in a const array and therefore could reside in a read-only
> > memory region. With the previous approach, once somebody had access to
> > the bitmap, it could easily be overwritten with zeros and effectively
> > make the firewall useless. I'm not sure how likely that would be, but it
> > could be done.
>
> If somebody gets access to the bitmap, he has access to kernel data
> structures. GR2D firewall is the least of our worries in this case.
I see the point. Oh well, all my arguments are torn down. I'll drop this
patch. Or at least the part that rewrites the gr2d_is_addr() and make it
check for failed allocations properly.
For what it's worth, I still think the plain table lookup is much easier
to understand.
Thierry
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2013-10-07 13:13 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-07 8:34 [PATCH v2 00/27] drm/tegra: Repatriation and DSI support Thierry Reding
[not found] ` <1381134884-5816-1-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-07 8:34 ` [PATCH v2 01/27] drm/tegra: Remove unused fields Thierry Reding
2013-10-07 8:34 ` [PATCH v2 02/27] drm/tegra: Cleanup tegra_dc structure Thierry Reding
2013-10-07 8:34 ` [PATCH v2 03/27] drm/tegra: Rename host1x_drm structure to tegra_drm Thierry Reding
2013-10-07 8:34 ` [PATCH v2 04/27] drm/tegra: Rename host1x_drm_file to tegra_drm_file Thierry Reding
2013-10-07 8:34 ` [PATCH v2 05/27] drm/tegra: Rename host1x_drm_context to tegra_drm_context Thierry Reding
2013-10-07 8:34 ` [PATCH v2 06/27] gpu: host1x: Cleanup includes Thierry Reding
[not found] ` <1381134884-5816-7-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-08 5:59 ` Terje Bergström
[not found] ` <52539F5E.1060005-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-08 9:45 ` Thierry Reding
2013-10-07 8:34 ` [PATCH v2 07/27] gpu: host1x: Do not discard .remove() Thierry Reding
2013-10-07 8:34 ` [PATCH v2 08/27] drm/tegra: gr2d: Miscellaneous cleanups Thierry Reding
[not found] ` <1381134884-5816-9-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-07 11:34 ` Erik Faye-Lund
[not found] ` <CABPQNSbkS40_jyGz14s08+x3e+-pxnfy90V7pzAOfiqUF2ma2g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-07 12:14 ` Thierry Reding
[not found] ` <20131007121452.GA8324-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-07 12:52 ` Terje Bergström
[not found] ` <5252AE8C.9090609-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-07 13:05 ` Erik Faye-Lund
[not found] ` <CABPQNSa59hBU__yjQMZsdEghpSwH1ayJYiD6HrBrhABicgzxuA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-08 5:36 ` Terje Bergström
2013-10-07 13:13 ` Thierry Reding [this message]
2013-10-07 12:53 ` Erik Faye-Lund
[not found] ` <CABPQNSb52HmS-2T=MUXteMFc1tndHdvtUnZqsVsPKjP1Dy6Esw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-07 13:02 ` Erik Faye-Lund
[not found] ` <CABPQNSZGyuS3wAvJ8fFj=LMXxFJz9x_sKqEWW7QbiqC1gneLKw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-08 5:48 ` Terje Bergström
[not found] ` <52539CC0.3020901-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-08 11:11 ` Erik Faye-Lund
2013-10-07 8:34 ` [PATCH v2 09/27] drm/tegra: gem: " Thierry Reding
2013-10-07 8:34 ` [PATCH v2 10/27] gpu: host1x: Make host1x header file public Thierry Reding
2013-10-07 8:34 ` [PATCH v2 11/27] drm/tegra: Introduce tegra_drm_client structure Thierry Reding
2013-10-07 8:34 ` [PATCH v2 12/27] gpu: host1x: Expose syncpt and channel functionality Thierry Reding
2013-10-07 8:34 ` [PATCH v2 13/27] drm/tegra: Move subdevice infrastructure to host1x Thierry Reding
[not found] ` <1381134884-5816-14-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-08 6:25 ` Terje Bergström
[not found] ` <5253A563.1060409-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-08 9:52 ` Thierry Reding
2013-11-04 10:20 ` Daniel Vetter
[not found] ` <20131104102054.GD4167-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2013-11-04 11:06 ` Thierry Reding
[not found] ` <20131104110655.GN27445-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-11-04 16:08 ` Daniel Vetter
2013-10-07 8:34 ` [PATCH v2 14/27] drm/tegra: Move driver to DRM tree Thierry Reding
[not found] ` <1381134884-5816-15-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:11 ` Stephen Warren
[not found] ` <52587797.7000402-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-12 11:16 ` Thierry Reding
2013-10-07 8:34 ` [PATCH v2 15/27] gpu: host1x: Add support for Tegra114 Thierry Reding
[not found] ` <1381134884-5816-16-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:13 ` Stephen Warren
[not found] ` <525877F3.9070004-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-12 11:24 ` Thierry Reding
2013-10-14 5:30 ` Terje Bergström
[not found] ` <525B8174.4000907-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-15 8:05 ` Thierry Reding
2013-10-14 18:07 ` Stephen Warren
[not found] ` <525C32E5.2020406-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-15 8:03 ` Thierry Reding
2013-10-07 8:34 ` [PATCH v2 16/27] drm/tegra: Add Tegra114 display controller support Thierry Reding
[not found] ` <1381134884-5816-17-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:14 ` Stephen Warren
[not found] ` <52587843.9070806-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-12 11:32 ` Thierry Reding
2013-10-14 18:05 ` Stephen Warren
[not found] ` <525C325E.2090700-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-15 8:06 ` Thierry Reding
2013-10-07 8:34 ` [PATCH v2 17/27] drm/tegra: Add Tegra114 HDMI support Thierry Reding
[not found] ` <1381134884-5816-18-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:19 ` Stephen Warren
[not found] ` <52587967.6050806-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-11 22:22 ` Stephen Warren
[not found] ` <52587A16.7050200-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-12 11:35 ` Thierry Reding
2013-10-12 11:41 ` Thierry Reding
2013-10-14 18:10 ` Stephen Warren
[not found] ` <525C338D.50801-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-15 8:13 ` Thierry Reding
[not found] ` <20131015081318.GG7856-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-15 15:17 ` Stephen Warren
2013-10-07 8:34 ` [PATCH v2 18/27] drm/tegra: hdmi: Detect DVI-only displays Thierry Reding
2013-10-07 8:34 ` [PATCH v2 19/27] host1x: hdmi: Enable VDD earlier for hotplug/DDC Thierry Reding
2013-10-07 8:34 ` [PATCH v2 20/27] drm/tegra: hdmi: Rename tegra{2,3} to tegra{20,30} Thierry Reding
2013-10-07 8:34 ` [PATCH v2 21/27] drm: Add panel support Thierry Reding
2013-10-07 8:34 ` [PATCH v2 22/27] drm/panel: Add simple " Thierry Reding
[not found] ` <1381134884-5816-23-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:33 ` Stephen Warren
[not found] ` <52587CBD.8010304-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-14 14:10 ` Thierry Reding
2013-10-07 8:34 ` [PATCH v2 23/27] drm/tegra: Implement " Thierry Reding
2013-10-07 8:34 ` [PATCH v2 24/27] drm/tegra: Start connectors with correct DPMS mode Thierry Reding
2013-10-07 8:34 ` [PATCH v2 25/27] gpu: host1x: Add MIPI pad calibration support Thierry Reding
[not found] ` <1381134884-5816-26-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:37 ` Stephen Warren
[not found] ` <52587DAF.9080003-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-14 13:44 ` Thierry Reding
2013-10-07 8:34 ` [PATCH v2 26/27] drm/tegra: Add DSI support Thierry Reding
[not found] ` <1381134884-5816-27-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:43 ` Stephen Warren
[not found] ` <52587F17.7060104-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-14 13:55 ` Thierry Reding
[not found] ` <20131014135548.GB16302-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-14 18:16 ` Stephen Warren
[not found] ` <525C3510.60802-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-15 8:33 ` Thierry Reding
[not found] ` <20131015083342.GH7856-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-15 17:21 ` Stephen Warren
[not found] ` <525D7983.6010001-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-16 8:40 ` Thierry Reding
[not found] ` <20131016084031.GB21963-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-16 16:58 ` Stephen Warren
2013-10-07 8:34 ` [PATCH v2 27/27] drm/tegra: Add Tegra114 gr2d support Thierry Reding
[not found] ` <1381134884-5816-28-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:43 ` Stephen Warren
[not found] ` <52587F2D.9070007-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-14 5:58 ` Terje Bergström
[not found] ` <525B880A.7090802-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-14 14:00 ` Thierry Reding
[not found] ` <20131014140010.GC16302-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-14 18:14 ` Stephen Warren
[not found] ` <525C3497.6010700-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-15 5:51 ` Terje Bergström
[not found] ` <525CD7F3.10907-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-15 15:12 ` Stephen Warren
2013-10-15 8:37 ` Thierry Reding
[not found] ` <20131015083731.GI7856-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-15 15:19 ` Stephen Warren
[not found] ` <525D5CF6.3020600-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-16 8:48 ` Thierry Reding
[not found] ` <20131016084804.GC21963-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-16 12:05 ` Terje Bergström
2013-10-16 17:00 ` Stephen Warren
2013-10-14 18:13 ` Stephen Warren
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=20131007131332.GA3795@ulmo.nvidia.com \
--to=thierry.reding-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=kusmabite-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.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 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).