[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160905095638.GL15376@var.bordeaux.inria.fr>
Date: Mon, 5 Sep 2016 11:56:38 +0200
From: Samuel Thibault <samuel.thibault@...-lyon.org>
To: Pavel Andrianov <andrianov@...ras.ru>
Cc: William Hubbs <w.d.hubbs@...il.com>,
Chris Brannon <chris@...-brannons.com>,
Kirk Reiser <kirk@...sers.ca>, speakup@...ux-speakup.org,
devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org,
Vaishali Thakkar <vaishali.thakkar@...cle.com>,
ldv-project@...uxtesting.org
Subject: Re: A potential race in drivers/staging/speakup/speakup.ko
Pavel Andrianov, on Mon 05 Sep 2016 12:54:10 +0300, wrote:
> 05.09.2016 12:43, Samuel Thibault пишет:
> >Pavel Andrianov, on Mon 05 Sep 2016 11:51:50 +0300, wrote:
> >>There is a potential race in drivers/staging/speakup/speakup.ko.
> >>All operations with global pointers buff_in and buff_out are performed
> >>without any locks. Thus, a simultaneous write (via synth_buffer_clear or
> >>synth_buffer_add) to the pointers may lead to inconsistent data.
> >>
> >>Should a local lock be used here?
> >
> >AIUI, all callers of these functions have speakup_info.spinlock held.
>
> Regard a call stack
>
> -> synth_direct_store
> -> synth_printf
> -> synth_buffer_add
>
> The functions have not held speakup_info.spinlock.
Apparently there is currently no caller of synth_direct_store and
synth_store. But taking the lock here would be needed indeed.
Samuel
Powered by blists - more mailing lists