From: Takashi Iwai <tiwai-l3A5Bk7waGM@public.gmane.org>
To: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Lars-Peter Clausen <lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>,
Dylan Reid <dgreid-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org,
swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org,
linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org
Subject: Re: [PATCH v2 1/2] remgap: Fix possible sleep-in-atomic in regmap_bulk_write()
Date: Tue, 18 Mar 2014 14:36:53 +0100 [thread overview]
Message-ID: <s5hob13r5l6.wl%tiwai@suse.de> (raw)
In-Reply-To: <20140318130426.GA11706-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
At Tue, 18 Mar 2014 13:04:26 +0000,
Mark Brown wrote:
>
> On Tue, Mar 18, 2014 at 01:57:22PM +0100, Takashi Iwai wrote:
> > Mark Brown wrote:
> > > On Tue, Mar 18, 2014 at 12:58:33PM +0100, Takashi Iwai wrote:
>
> > > > + map->lock(map->lock_arg);
> > > > for (i = 0; i < val_count * val_bytes; i += val_bytes)
> > > > map->format.parse_inplace(wval + i);
> > > >
> > > > ret = _regmap_raw_write(map, reg, wval, val_bytes * val_count);
> > > > + map->unlock(map->lock_arg);
>
> > > If we're reducing the locking region here then we should take the lock
> > > after doing the parse_inplace() to reduce the locked region. Nothing
> > > else can be referring to the data since we only just allocated it. I'll
> > > fix that by hand and apply.
>
> > I thought of that, too, but didn't take it because covering the lock
> > there doesn't change the fact that it's still fundamentally racy.
>
> I'm not sure what you mean here - what do you mean yb "covering the
> lock"?
I meant covering memcpy() and parse_inplace() & co in the lock.
Takashi
next prev parent reply other threads:[~2014-03-18 13:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-18 11:58 [PATCH v2 1/2] remgap: Fix possible sleep-in-atomic in regmap_bulk_write() Takashi Iwai
[not found] ` <1395143914-26929-1-git-send-email-tiwai-l3A5Bk7waGM@public.gmane.org>
2014-03-18 11:58 ` [PATCH v2 2/2] remgap: Fix possible sleep-in-atomic in regmap_register_patch() Takashi Iwai
[not found] ` <1395143914-26929-2-git-send-email-tiwai-l3A5Bk7waGM@public.gmane.org>
2014-03-18 12:03 ` Mark Brown
2014-03-18 12:22 ` [PATCH v2 1/2] remgap: Fix possible sleep-in-atomic in regmap_bulk_write() Mark Brown
[not found] ` <20140318122218.GQ11706-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2014-03-18 12:57 ` Takashi Iwai
[not found] ` <s5hr45zr7f1.wl%tiwai-l3A5Bk7waGM@public.gmane.org>
2014-03-18 13:04 ` Mark Brown
[not found] ` <20140318130426.GA11706-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2014-03-18 13:36 ` Takashi Iwai [this message]
[not found] ` <s5hob13r5l6.wl%tiwai-l3A5Bk7waGM@public.gmane.org>
2014-03-18 20:21 ` Mark Brown
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=s5hob13r5l6.wl%tiwai@suse.de \
--to=tiwai-l3a5bk7wagm@public.gmane.org \
--cc=abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
--cc=alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org \
--cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=dgreid-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
--cc=lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@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