scsi: ch: synchronize ch_probe() and ch_open()
authorHannes Reinecke <hare@suse.de>
Thu, 13 Feb 2020 15:32:06 +0000 (16:32 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 24 Feb 2020 19:54:25 +0000 (14:54 -0500)
commit1c7ce4bcfb9a54073d4043c00a336a064ca6e231
tree5bdfe2a328f90da7cfd7de9a032d5b14c66f52cb
parent66167283c21ef8ce35253397108263bdab258992
scsi: ch: synchronize ch_probe() and ch_open()

The 'ch' device node is created before the configuration is being read in,
which leads to a race window when ch_open() is called before that.

To avoid any races we should be taking the device mutex during
ch_readconfig() and ch_init_elem(), and also during ch_open().
That ensures ch_probe is finished before ch_open() completes.

Link: https://lore.kernel.org/r/20200213153207.123357-3-hare@suse.de
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ch.c