[ldv-project] [PATCH] drivers: isdn: capi: Fix data-race bug

Madhuparna Bhowmik madhuparnabhowmik10 at gmail.com
Fri Jul 24 17:58:35 MSK 2020


On Fri, Jul 24, 2020 at 08:57:47AM +0200, Greg KH wrote:
> On Fri, Jul 24, 2020 at 10:18:07AM +0530, Madhuparna Bhowmik wrote:
> > On Thu, Jul 23, 2020 at 03:11:58PM -0700, David Miller wrote:
> > > From: madhuparnabhowmik10 at gmail.com
> > > Date: Wed, 22 Jul 2020 22:53:29 +0530
> > > 
> > > > From: Madhuparna Bhowmik <madhuparnabhowmik10 at gmail.com>
> > > > 
> > > > In capi_init(), after register_chrdev() the file operation callbacks
> > > > can be called. However capinc_tty_init() is called later.
> > > > Since capiminors and capinc_tty_driver are initialized in
> > > > capinc_tty_init(), their initialization can race with their usage
> > > > in various callbacks like in capi_release().
> > > > 
> > > > Therefore, call capinc_tty_init() before register_chrdev to avoid
> > > > such race conditions.
> > > > 
> > > > Found by Linux Driver Verification project (linuxtesting.org).
> > > > 
> > > > Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10 at gmail.com>
> > > 
> > > I agree with Arnd that this just exchanges one set of problems for
> > > another.
> > 
> > Thanks Arnd and David, for reviewing the patch.
> > Do you have any suggestions on how to fix this correctly?
> 
> Based on the installed base of ISDN systems, and the fact that no one
> has ever actually hit this race and reported it ever, I wouldn't worry
> about it :)
>
Fair enough! Thanks for having a look.

Regards,
Madhuparna

> thanks,
> 
> greg k-h



More information about the ldv-project mailing list