lkml.org 
[lkml]   [2017]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[BUG] drivers/scsi/dpt_i2o: a possible sleep-in-atomic bug in adpt_i2o_post_this
Date
According to drivers/scsi/dpt_i2o.c, the kernel module may sleep under a 
spinlock.
The function call paths are:
adpt_abort (acquire the spinlock)
adpt_i2o_post_wait
adpt_i2o_post_this
schedule_timeout_uninterruptible--> may sleep

adpt_device_reset (acquire the spinlock)
adpt_i2o_post_wait
adpt_i2o_post_this
schedule_timeout_uninterruptible--> may sleep

adpt_bus_reset (acquire the spinlock)
adpt_i2o_post_wait
adpt_i2o_post_this
schedule_timeout_uninterruptible--> may sleep

A possible fixing is to replace "schedule_timeout_uninterruptible" with
"mdelay".
If this fixing is correct, I can send a patch.
This possible bug is found by my static analysis tool (DSAC) and checked
by my code review.


Thanks,
Jia-Ju Bai

\
 
 \ /
  Last update: 2017-12-12 03:16    [W:0.032 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site