[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20140515101734.GA14737@localhost>
Date: Thu, 15 May 2014 11:17:34 +0100
From: Catalin Marinas <catalin.marinas@....com>
To: Richard Lee <superlibj8301@...il.com>
Cc: Arnd Bergmann <arnd@...db.de>,
linux-arm-kernel@...ts.infradead.org, linux@....linux.org.uk,
linux-mm@...ck.org, linux-kernel@...r.kernel.org,
Richard Lee <superlibj@...il.com>
Subject: Re: [RFC][PATCH 2/2] ARM: ioremap: Add IO mapping space reused
support.
On Tue, May 13, 2014 at 09:45:08AM +0800, Richard Lee wrote:
> > On Mon, May 12, 2014 at 3:51 PM, Arnd Bergmann <arnd@...db.de> wrote:
> > On Monday 12 May 2014 10:19:55 Richard Lee wrote:
> >> For the IO mapping, for the same physical address space maybe
> >> mapped more than one time, for example, in some SoCs:
> >> 0x20000000 ~ 0x20001000: are global control IO physical map,
> >> and this range space will be used by many drivers.
> >> And then if each driver will do the same ioremap operation, we
> >> will waste to much malloc virtual spaces.
> >>
> >> This patch add IO mapping space reused support.
> >>
> >> Signed-off-by: Richard Lee <superlibj@...il.com>
> >
> > What happens if the first driver then unmaps the area?
>
> If the first driver will unmap the area, it shouldn't do any thing
> except decreasing the 'used' counter.
It's still racy. What if the first driver manage to decrement the used
counter, unmaps the regions but doesn't yet free the vm_struct while
another driver finds the vm_struct, increments the used count and
assumes it can use it?
BTW, vm_area_is_aready_to_free() name implies a query but it has
side-effects like decrementing the counter.
--
Catalin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists