Re: [Openipmi-developer] [PATCH 0/1] Fix race in ipmi timer cleanup

2019-09-16 Thread Jes Sorensen
On 9/14/19 9:08 PM, Corey Minyard wrote: >> >>> >>> {disable,enable}_si_irq() themselves are racy: >>> >>> static inline bool disable_si_irq(struct smi_info *smi_info) >>> { >>> if ((smi_info->io.irq) && (!smi_info->interrupt_disabled)) { >>> smi_info->interrupt_disabled = t

Re: [Openipmi-developer] [PATCH 0/1] Fix race in ipmi timer cleanup

2019-09-14 Thread Corey Minyard
> > > > > {disable,enable}_si_irq() themselves are racy: > > > > static inline bool disable_si_irq(struct smi_info *smi_info) > > { > > if ((smi_info->io.irq) && (!smi_info->interrupt_disabled)) { > > smi_info->interrupt_disabled = true; > > > > Basically interrupt_disab

Re: [PATCH 0/1] Fix race in ipmi timer cleanup

2019-08-29 Thread Corey Minyard
On Wed, Aug 28, 2019 at 08:53:47PM -0400, Jes Sorensen wrote: > On 8/28/19 6:32 PM, Corey Minyard wrote: > > On Wed, Aug 28, 2019 at 04:36:24PM -0400, Jes Sorensen wrote: > >> From: Jes Sorensen > >> > >> I came across this in 4.16, but I believe the bug is still present > >> in current 5.x, even

Re: [PATCH 0/1] Fix race in ipmi timer cleanup

2019-08-28 Thread Jes Sorensen
On 8/28/19 6:32 PM, Corey Minyard wrote: > On Wed, Aug 28, 2019 at 04:36:24PM -0400, Jes Sorensen wrote: >> From: Jes Sorensen >> >> I came across this in 4.16, but I believe the bug is still present >> in current 5.x, even if it is less likely to trigger. >> >> Basially stop_timer_and_thread() on

Re: [PATCH 0/1] Fix race in ipmi timer cleanup

2019-08-28 Thread Corey Minyard
On Wed, Aug 28, 2019 at 04:36:24PM -0400, Jes Sorensen wrote: > From: Jes Sorensen > > I came across this in 4.16, but I believe the bug is still present > in current 5.x, even if it is less likely to trigger. > > Basially stop_timer_and_thread() only calls del_timer_sync() if > timer_running ==

[PATCH 0/1] Fix race in ipmi timer cleanup

2019-08-28 Thread Jes Sorensen
From: Jes Sorensen I came across this in 4.16, but I believe the bug is still present in current 5.x, even if it is less likely to trigger. Basially stop_timer_and_thread() only calls del_timer_sync() if timer_running == true. However smi_mod_timer enables the timer before setting timer_running