Revision: 19466
          http://sourceforge.net/p/edk2/code/19466
Author:   hwu1225
Date:     2015-12-23 01:35:01 +0000 (Wed, 23 Dec 2015)
Log Message:
-----------
MdeModulePkg ScsiDiskDxe: Modify WriteBlocks(Ex)() to follow UEFI spec

The functions ScsiDiskWriteBlocks(Ex) in ScsiDiskDxe/ScsiDisk.c do not
check whether the device is allow to be written originally.

This commit will add read-only check to follow the UEFI spec.

(Sync patch r19445 from main trunk.)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <[email protected]>
Reviewed-by: Feng Tian <[email protected]>

Revision Links:
--------------
    http://sourceforge.net/p/edk2/code/19445

Modified Paths:
--------------
    branches/UDK2015/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c

Modified: branches/UDK2015/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c
===================================================================
--- branches/UDK2015/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c       
2015-12-23 01:34:36 UTC (rev 19465)
+++ branches/UDK2015/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c       
2015-12-23 01:35:01 UTC (rev 19466)
@@ -692,6 +692,11 @@
     goto Done;
   }
 
+  if (Media->ReadOnly) {
+    Status = EFI_WRITE_PROTECTED;
+    goto Done;
+  }
+
   if (BufferSize == 0) {
     Status = EFI_SUCCESS;
     goto Done;
@@ -1048,6 +1053,11 @@
     goto Done;
   }
 
+  if (Media->ReadOnly) {
+    Status = EFI_WRITE_PROTECTED;
+    goto Done;
+  }
+
   if (BufferSize == 0) {
     if ((Token != NULL) && (Token->Event != NULL)) {
       Token->TransactionStatus = EFI_SUCCESS;


------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to