Browse Source

cdrom: protect cdrom_device_info list by mutex

This patch protects the list of cdrom_device_info by cdrom_mutex
when the file in /proc/sys/dev/cdrom/ is written.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Akinobu Mita 17 years ago
parent
commit
032d8d90ba
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/cdrom/cdrom.c

+ 2 - 0
drivers/cdrom/cdrom.c

@@ -3427,6 +3427,7 @@ static void cdrom_update_settings(void)
 {
 {
 	struct cdrom_device_info *cdi;
 	struct cdrom_device_info *cdi;
 
 
+	mutex_lock(&cdrom_mutex);
 	for (cdi = topCdromPtr; cdi != NULL; cdi = cdi->next) {
 	for (cdi = topCdromPtr; cdi != NULL; cdi = cdi->next) {
 		if (autoclose && CDROM_CAN(CDC_CLOSE_TRAY))
 		if (autoclose && CDROM_CAN(CDC_CLOSE_TRAY))
 			cdi->options |= CDO_AUTO_CLOSE;
 			cdi->options |= CDO_AUTO_CLOSE;
@@ -3445,6 +3446,7 @@ static void cdrom_update_settings(void)
 		else
 		else
 			cdi->options &= ~CDO_CHECK_TYPE;
 			cdi->options &= ~CDO_CHECK_TYPE;
 	}
 	}
+	mutex_unlock(&cdrom_mutex);
 }
 }
 
 
 static int cdrom_sysctl_handler(ctl_table *ctl, int write, struct file * filp,
 static int cdrom_sysctl_handler(ctl_table *ctl, int write, struct file * filp,