]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
geom_disk / scsi_da: deny opening write-protected disks for writing
authoravg <avg@FreeBSD.org>
Mon, 15 Jan 2018 11:20:00 +0000 (11:20 +0000)
committeravg <avg@FreeBSD.org>
Mon, 15 Jan 2018 11:20:00 +0000 (11:20 +0000)
commite3bb7b0fbfe0769e5f07fa457428c437034be3bc
treec7e744a4b2a3290ccb96a5dee5dc081cd5c4f0f9
parentaab0289ab1e1680ac2abeee8477c3e97f43ce1d4
geom_disk / scsi_da: deny opening write-protected disks for writing

Ths change consists of two parts.

geom_disk: deny opening a disk for writing if it's marked as
write-protected.  A new disk(9) flag is added to mark write protected
disks.  A possible alternative could be to add another parameter to d_open,
so that the open mode could be passed to it and the disk drivers could
make the decision internally, but the flag required less churn.

scsi_da: add a new phase of disk probing to query the all pages mode
sense page.  We can determine if the disk is write protected using bit 7
of the device specific field in the mode parameter header returned by
MODE SENSE.

PR: 224037
Reviewed by: mav
MFC after: 4 weeks
Differential Revision: https://reviews.freebsd.org/D13360
sys/cam/scsi/scsi_da.c
sys/geom/geom_disk.c
sys/geom/geom_disk.h