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 _______________________________________________ Speakup mailing list Speakup@xxxxxxxxxxxxxxxxx http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup