Fix component name bugs when input Controller Name is invalid
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 19 Jan 2007 09:46:44 +0000 (09:46 +0000)
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 19 Jan 2007 09:46:44 +0000 (09:46 +0000)
Fix the driver binding version for platform/OEM specific drivers

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2275 6f19259b-4bc3-4df7-8a09-765794883524

EdkUnixPkg/Dxe/UnixThunk/Bus/BlockIo/ComponentName.c
EdkUnixPkg/Dxe/UnixThunk/Bus/BlockIo/UnixBlockIo.c
EdkUnixPkg/Dxe/UnixThunk/Bus/Console/ComponentName.c
EdkUnixPkg/Dxe/UnixThunk/Bus/Console/Console.c
EdkUnixPkg/Dxe/UnixThunk/Bus/SimpleFileSystem/ComponentName.c
EdkUnixPkg/Dxe/UnixThunk/Bus/SimpleFileSystem/UnixSimpleFileSystem.c
EdkUnixPkg/Dxe/UnixThunk/Bus/Uga/ComponentName.c
EdkUnixPkg/Dxe/UnixThunk/Bus/Uga/UnixUgaDriver.c
EdkUnixPkg/Dxe/UnixThunk/Bus/UnixBusDriver/ComponentName.c
EdkUnixPkg/Dxe/UnixThunk/Bus/UnixBusDriver/UnixBusDriver.c

index fd4b75e..19085fd 100644 (file)
@@ -160,7 +160,17 @@ UnixBlockIoComponentNameGetControllerName (
   if (ChildHandle != NULL) {\r
     return EFI_UNSUPPORTED;\r
   }\r
-\r
+  //\r
+  // Make sure this driver is currently managing ControllerHandle\r
+  //\r
+  Status = EfiTestManagedDevice (\r
+             ControllerHandle,\r
+             gUnixBlockIoDriverBinding.DriverBindingHandle,\r
+             &gEfiUnixIoProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
   //\r
   // Get our context back\r
   //\r
index 81dd206..1425531 100644 (file)
@@ -60,8 +60,8 @@ Abstract:
 \r
 --*/\r
 \r
-#include <fcntl.h>
-#include <unistd.h>
+#include <fcntl.h>\r
+#include <unistd.h>\r
 #include "UnixBlockIo.h"\r
 \r
 //\r
@@ -318,7 +318,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUnixBlockIoDriverBinding = {
   UnixBlockIoDriverBindingSupported,\r
   UnixBlockIoDriverBindingStart,\r
   UnixBlockIoDriverBindingStop,\r
-  0x10,\r
+  0xa,\r
   NULL,\r
   NULL\r
 };\r
@@ -372,7 +372,7 @@ Returns:
     //\r
     // Check the GUID to see if this is a handle type the driver supports\r
     //\r
-    if (CompareGuid (UnixIo->TypeGuid, &gEfiUnixVirtualDisksGuid) ) {
+    if (CompareGuid (UnixIo->TypeGuid, &gEfiUnixVirtualDisksGuid) ) {\r
       Status = EFI_SUCCESS;\r
     }\r
   }\r
@@ -420,7 +420,7 @@ Returns:
   BOOLEAN                     WriteProtected;\r
   UINTN                       NumberOfBlocks;\r
   UINTN                       BlockSize;\r
-  INTN                       i;
+  INTN                       i;\r
 \r
   //\r
   // Grab the protocols we need\r
@@ -446,47 +446,47 @@ Returns:
   }\r
 \r
   Status  = EFI_NOT_FOUND;\r
-  //  Extract filename.
+  //  Extract filename.\r
   Str     = UnixIo->EnvString;\r
-  i = 0;
-  while (*Str && *Str != ':')
-    Buffer[i++] = *Str++;
-  Buffer[i] = 0;
+  i = 0;\r
+  while (*Str && *Str != ':')\r
+    Buffer[i++] = *Str++;\r
+  Buffer[i] = 0;\r
   if (*Str != ':') {\r
     goto Done;\r
   }\r
 \r
   Str++;\r
 \r
-  RemovableMedia = FALSE;
-  WriteProtected = TRUE;
-  NumberOfBlocks = 0;
-  BlockSize = 512;
-  do {
+  RemovableMedia = FALSE;\r
+  WriteProtected = TRUE;\r
+  NumberOfBlocks = 0;\r
+  BlockSize = 512;\r
+  do {\r
     if (*Str == 'R' || *Str == 'F') {\r
       RemovableMedia = (BOOLEAN) (*Str == 'R');\r
       Str++;\r
-    }
+    }\r
     if (*Str == 'O' || *Str == 'W') {\r
       WriteProtected  = (BOOLEAN) (*Str == 'O');\r
-      Str++;
-    }
-    if (*Str == 0)
-      break;
-    if (*Str != ';')
-      goto Done;
-    Str++;
-
+      Str++;\r
+    }\r
+    if (*Str == 0)\r
+      break;\r
+    if (*Str != ';')\r
+      goto Done;\r
+    Str++;\r
+\r
     NumberOfBlocks  = Atoi (Str);\r
     Str       = GetNextElementPastTerminator (Str, ';');\r
-    if (NumberOfBlocks == 0)
-      break;
-
+    if (NumberOfBlocks == 0)\r
+      break;\r
+\r
     BlockSize = Atoi (Str);\r
-    if (BlockSize != 0)
+    if (BlockSize != 0)\r
       Str       = GetNextElementPastTerminator (Str, ';');\r
-  } while (0);
-
+  } while (0);\r
+\r
   //\r
   // If we get here the variable is valid so do the work.\r
   //\r
@@ -693,10 +693,10 @@ Returns:
 \r
   Private->Filename[Index]      = 0;\r
 \r
-  Private->Mode                 = (ReadOnly ? O_RDONLY : O_RDWR);
+  Private->Mode                 = (ReadOnly ? O_RDONLY : O_RDWR);\r
 \r
   Private->NumberOfBlocks       = NumberOfBlocks;\r
-  Private->fd                   = -1;
+  Private->fd                   = -1;\r
 \r
   Private->ControllerNameTable  = NULL;\r
 \r
@@ -780,19 +780,19 @@ Returns:
   //\r
   // If the device is already opened, close it\r
   //\r
-  if (Private->fd >= 0) {
+  if (Private->fd >= 0) {\r
     BlockIo->Reset (BlockIo, FALSE);\r
   }\r
 \r
   //\r
   // Open the device\r
   //\r
-  Private->fd = Private->UnixThunk->Open
-    (Private->Filename, Private->Mode, 0644);
+  Private->fd = Private->UnixThunk->Open\r
+    (Private->Filename, Private->Mode, 0644);\r
 \r
-  if (Private->fd < 0) {
-    DEBUG ((EFI_D_INFO, "PlOpenBlock: Could not open %s\n",
-           Private->Filename));
+  if (Private->fd < 0) {\r
+    DEBUG ((EFI_D_INFO, "PlOpenBlock: Could not open %s\n",\r
+           Private->Filename));\r
     BlockIo->Media->MediaPresent  = FALSE;\r
     Status                        = EFI_NO_MEDIA;\r
     goto Done;\r
@@ -834,12 +834,12 @@ Returns:
     //\r
     // first set it to 0\r
     //\r
-    Private->UnixThunk->FTruncate (Private->fd, 0);
+    Private->UnixThunk->FTruncate (Private->fd, 0);\r
 \r
     //\r
     // then set it to the needed file size (OS will zero fill it)\r
     //\r
-    Private->UnixThunk->FTruncate (Private->fd, EndOfFile);
+    Private->UnixThunk->FTruncate (Private->fd, EndOfFile);\r
   }\r
 \r
   DEBUG ((EFI_D_INIT, "%HPlOpenBlock: opened %s%N\n", Private->Filename));\r
@@ -878,13 +878,13 @@ Returns:
 --*/\r
 {\r
   return EFI_DEVICE_ERROR;\r
-
-#if 0
+\r
+#if 0\r
   EFI_BLOCK_IO_PROTOCOL *BlockIo;\r
   EFI_STATUS            Status;\r
   BOOLEAN               ReinstallBlockIoFlag;\r
 \r
-
+\r
   BlockIo = &Private->BlockIo;\r
 \r
   switch (Private->UnixThunk->GetLastError ()) {\r
@@ -928,7 +928,7 @@ Returns:
   }\r
 \r
   return Status;\r
-#endif
+#endif\r
 }\r
 \r
 STATIC\r
@@ -1017,7 +1017,7 @@ Returns:
   // Seek to End of File\r
   //\r
   DistanceToMove = MultU64x32 (Lba, BlockSize);\r
-  Status = SetFilePointer64 (Private, DistanceToMove, &DistanceMoved, SEEK_SET);
+  Status = SetFilePointer64 (Private, DistanceToMove, &DistanceMoved, SEEK_SET);\r
 \r
   if (EFI_ERROR (Status)) {\r
     DEBUG ((EFI_D_INIT, "WriteBlocks: SetFilePointer failed\n"));\r
@@ -1062,7 +1062,7 @@ UnixBlockIoReadBlocks (
 --*/\r
 {\r
   UNIX_BLOCK_IO_PRIVATE *Private;\r
-  ssize_t                 len;
+  ssize_t                 len;\r
   EFI_STATUS              Status;\r
 \r
   Private = UNIX_BLOCK_IO_PRIVATE_DATA_FROM_THIS (This);\r
@@ -1072,9 +1072,9 @@ UnixBlockIoReadBlocks (
     return Status;\r
   }\r
 \r
-  len = Private->UnixThunk->Read (Private->fd, Buffer, BufferSize);
+  len = Private->UnixThunk->Read (Private->fd, Buffer, BufferSize);\r
   if (len != BufferSize) {\r
-    DEBUG ((EFI_D_INIT, "ReadBlocks: ReadFile failed.\n"));
+    DEBUG ((EFI_D_INIT, "ReadBlocks: ReadFile failed.\n"));\r
     return UnixBlockIoError (Private);\r
   }\r
 \r
@@ -1121,7 +1121,7 @@ UnixBlockIoWriteBlocks (
 --*/\r
 {\r
   UNIX_BLOCK_IO_PRIVATE *Private;\r
-  ssize_t                 len;
+  ssize_t                 len;\r
   EFI_STATUS              Status;\r
 \r
   Private = UNIX_BLOCK_IO_PRIVATE_DATA_FROM_THIS (This);\r
@@ -1131,9 +1131,9 @@ UnixBlockIoWriteBlocks (
     return Status;\r
   }\r
 \r
-  len = Private->UnixThunk->Write (Private->fd, Buffer, BufferSize);
+  len = Private->UnixThunk->Write (Private->fd, Buffer, BufferSize);\r
   if (len != BufferSize) {\r
-    DEBUG ((EFI_D_INIT, "ReadBlocks: WriteFile failed.\n"));
+    DEBUG ((EFI_D_INIT, "ReadBlocks: WriteFile failed.\n"));\r
     return UnixBlockIoError (Private);\r
   }\r
 \r
@@ -1198,7 +1198,7 @@ UnixBlockIoResetBlock (
 \r
   if (Private->fd >= 0) {\r
     Private->UnixThunk->Close (Private->fd);\r
-    Private->fd = -1;
+    Private->fd = -1;\r
   }\r
 \r
   return EFI_SUCCESS;\r
@@ -1272,15 +1272,15 @@ This function extends the capability of SetFilePointer to accept 64 bit paramete
 // TODO:    MoveMethod - add argument and description to function comment\r
 {\r
   EFI_STATUS    Status;\r
-  off_t         res;
+  off_t         res;\r
 \r
-  res = Private->UnixThunk->Lseek(Private->fd, DistanceToMove, MoveMethod);
-  if (res == -1) {
+  res = Private->UnixThunk->Lseek(Private->fd, DistanceToMove, MoveMethod);\r
+  if (res == -1) {\r
     Status = EFI_INVALID_PARAMETER;\r
   }\r
 \r
   if (NewFilePointer != NULL) {\r
-    *NewFilePointer = res;
+    *NewFilePointer = res;\r
   }\r
 \r
   return Status;\r
index abfb328..1bbe1cc 100644 (file)
@@ -160,7 +160,17 @@ UnixConsoleComponentNameGetControllerName (
   if (ChildHandle != NULL) {\r
     return EFI_UNSUPPORTED;\r
   }\r
-\r
+  //\r
+  // Make sure this driver is currently managing ControllerHandle\r
+  //\r
+  Status = EfiTestManagedDevice (\r
+             ControllerHandle,\r
+             gUnixConsoleDriverBinding.DriverBindingHandle,\r
+             &gEfiUnixIoProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
   //\r
   // Get out context back\r
   //\r
index 79558a8..2d99d77 100644 (file)
@@ -50,7 +50,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUnixConsoleDriverBinding = {
   UnixConsoleDriverBindingSupported,\r
   UnixConsoleDriverBindingStart,\r
   UnixConsoleDriverBindingStop,\r
-  0x10,\r
+  0xa,\r
   NULL,\r
   NULL\r
 };\r
@@ -205,11 +205,11 @@ Done:
 \r
     FreeUnicodeStringTable (Private->ControllerNameTable);\r
 \r
-#if 0
+#if 0\r
     if (Private->NtOutHandle != NULL) {\r
       Private->UnixThunk->CloseHandle (Private->NtOutHandle);\r
     }\r
-#endif
+#endif\r
 \r
     if (Private->SimpleTextIn.WaitForKey != NULL) {\r
       gBS->CloseEvent (Private->SimpleTextIn.WaitForKey);\r
@@ -294,9 +294,9 @@ Returns:
     Status = gBS->CloseEvent (Private->SimpleTextIn.WaitForKey);\r
     ASSERT_EFI_ERROR (Status);\r
 \r
-#if 0
+#if 0\r
     Private->UnixThunk->CloseHandle (Private->NtOutHandle);\r
-#endif
+#endif\r
     //\r
     // DO NOT close Private->NtInHandle. It points to StdIn and not\r
     //  the Private->NtOutHandle is StdIn and should not be closed!\r
index b4bbb32..347326d 100644 (file)
@@ -167,6 +167,17 @@ UnixSimpleFileSystemComponentNameGetControllerName (
     return EFI_UNSUPPORTED;\r
   }\r
 \r
+  //\r
+  // Make sure this driver is currently managing ControllerHandle\r
+  //\r
+  Status = EfiTestManagedDevice (\r
+             ControllerHandle,\r
+             gUnixSimpleFileSystemDriverBinding.DriverBindingHandle,\r
+             &gEfiUnixIoProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
   //\r
   // Get our context back\r
   //\r
index 42a361b..db272bd 100644 (file)
@@ -30,7 +30,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUnixSimpleFileSystemDriverBinding = {
   UnixSimpleFileSystemDriverBindingSupported,\r
   UnixSimpleFileSystemDriverBindingStart,\r
   UnixSimpleFileSystemDriverBindingStop,\r
-  0x10,\r
+  0xa,\r
   NULL,\r
   NULL\r
 };\r
@@ -257,7 +257,7 @@ Returns:
   EFI_STATUS                        Status;\r
   EFI_UNIX_IO_PROTOCOL            *UnixIo;\r
   UNIX_SIMPLE_FILE_SYSTEM_PRIVATE *Private;\r
-  INTN i;
+  INTN i;\r
 \r
   Private = NULL;\r
 \r
@@ -295,8 +295,8 @@ Returns:
 \r
   Private->Signature  = UNIX_SIMPLE_FILE_SYSTEM_PRIVATE_SIGNATURE;\r
   Private->UnixThunk = UnixIo->UnixThunk;\r
-  Private->FilePath   = NULL;
-  Private->VolumeLabel = NULL;
+  Private->FilePath   = NULL;\r
+  Private->VolumeLabel = NULL;\r
 \r
   Status = gBS->AllocatePool (\r
                   EfiBootServicesData,\r
@@ -307,10 +307,10 @@ Returns:
   if (EFI_ERROR (Status)) {\r
     goto Done;\r
   }\r
-
-  for (i = 0; UnixIo->EnvString[i] != 0; i++)
+\r
+  for (i = 0; UnixIo->EnvString[i] != 0; i++)\r
     Private->FilePath[i] = UnixIo->EnvString[i];\r
-  Private->FilePath[i] = 0;
+  Private->FilePath[i] = 0;\r
 \r
   Private->VolumeLabel      = NULL;\r
   Status = gBS->AllocatePool (\r
@@ -349,10 +349,10 @@ Done:
 \r
     if (Private != NULL) {\r
 \r
-      if (Private->VolumeLabel != NULL)
-       gBS->FreePool (Private->VolumeLabel);
-      if (Private->FilePath != NULL)
-       gBS->FreePool (Private->FilePath);
+      if (Private->VolumeLabel != NULL)\r
+       gBS->FreePool (Private->VolumeLabel);\r
+      if (Private->FilePath != NULL)\r
+       gBS->FreePool (Private->FilePath);\r
       FreeUnicodeStringTable (Private->ControllerNameTable);\r
 \r
       gBS->FreePool (Private);\r
@@ -540,20 +540,20 @@ Returns:
   PrivateFile->EfiFile.GetInfo      = UnixSimpleFileSystemGetInfo;\r
   PrivateFile->EfiFile.SetInfo      = UnixSimpleFileSystemSetInfo;\r
   PrivateFile->EfiFile.Flush        = UnixSimpleFileSystemFlush;\r
-  PrivateFile->fd                   = -1;
-  PrivateFile->Dir                  = NULL;
-  PrivateFile->Dirent               = NULL;
+  PrivateFile->fd                   = -1;\r
+  PrivateFile->Dir                  = NULL;\r
+  PrivateFile->Dirent               = NULL;\r
   \r
   *Root = &PrivateFile->EfiFile;\r
 \r
-  PrivateFile->Dir = PrivateFile->UnixThunk->OpenDir(PrivateFile->FileName);
+  PrivateFile->Dir = PrivateFile->UnixThunk->OpenDir(PrivateFile->FileName);\r
 \r
-  if (PrivateFile->Dir == NULL) {
+  if (PrivateFile->Dir == NULL) {\r
     Status = EFI_ACCESS_DENIED;\r
-  }
-  else {
+  }\r
+  else {\r
     Status = EFI_SUCCESS;\r
-  }
+  }\r
 \r
 Done:\r
   if (EFI_ERROR (Status)) {\r
@@ -629,8 +629,8 @@ Returns:
   UNIX_EFI_FILE_PRIVATE           *NewPrivateFile;\r
   UNIX_SIMPLE_FILE_SYSTEM_PRIVATE *PrivateRoot;\r
   EFI_STATUS                        Status;\r
-  CHAR16                            *Src;
-  char                              *Dst;
+  CHAR16                            *Src;\r
+  char                              *Dst;\r
   CHAR8                             *RealFileName;\r
   //CHAR16                            *TempFileName;\r
   char                              *ParseFileName;\r
@@ -683,7 +683,7 @@ Returns:
   // BUGBUG: assume an open of root\r
   // if current location, return current data\r
   //\r
-  if (StrCmp (FileName, L"\\") == 0
+  if (StrCmp (FileName, L"\\") == 0\r
       || (StrCmp (FileName, L".") == 0 && PrivateFile->IsRootDirectory)) {\r
     //\r
     // BUGBUG: assume an open root\r
@@ -727,25 +727,25 @@ OpenRoot:
 \r
   if (*FileName == L'\\') {\r
     AsciiStrCpy (NewPrivateFile->FileName, PrivateRoot->FilePath);\r
-    // Skip first '\'.
-    Src = FileName + 1;
+    // Skip first '\'.\r
+    Src = FileName + 1;\r
   } else {\r
     AsciiStrCpy (NewPrivateFile->FileName, PrivateFile->FileName);\r
-    Src = FileName;
-  }\r
-  Dst = NewPrivateFile->FileName + AsciiStrLen(NewPrivateFile->FileName);
-  GuardPointer = NewPrivateFile->FileName + AsciiStrLen(PrivateRoot->FilePath);
-  *Dst++ = '/';
-  // Convert unicode to ascii and '\' to '/'
-  while (*Src) {
-    if (*Src == '\\')
-      *Dst++ = '/';
-    else
-      *Dst++ = *Src;
-    Src++;
-  }
-  *Dst = 0;
-      
+    Src = FileName;\r
+  }\r
+  Dst = NewPrivateFile->FileName + AsciiStrLen(NewPrivateFile->FileName);\r
+  GuardPointer = NewPrivateFile->FileName + AsciiStrLen(PrivateRoot->FilePath);\r
+  *Dst++ = '/';\r
+  // Convert unicode to ascii and '\' to '/'\r
+  while (*Src) {\r
+    if (*Src == '\\')\r
+      *Dst++ = '/';\r
+    else\r
+      *Dst++ = *Src;\r
+    Src++;\r
+  }\r
+  *Dst = 0;\r
+      \r
 \r
   //\r
   // Get rid of . and .., except leading . or ..\r
@@ -810,22 +810,22 @@ OpenRoot:
   }\r
 \r
   RealFileName = NewPrivateFile->FileName + AsciiStrLen(NewPrivateFile->FileName) - 1;\r
-  while (RealFileName > NewPrivateFile->FileName && *RealFileName != '/')
-    RealFileName--;
+  while (RealFileName > NewPrivateFile->FileName && *RealFileName != '/')\r
+    RealFileName--;\r
 \r
   TempChar            = *(RealFileName - 1);\r
   *(RealFileName - 1) = 0;\r
 \r
   *(RealFileName - 1)             = TempChar;\r
 \r
-
-
+\r
+\r
   //\r
   // Test whether file or directory\r
   //\r
   NewPrivateFile->IsRootDirectory = FALSE;\r
-  NewPrivateFile->fd = -1;
-  NewPrivateFile->Dir = NULL;
+  NewPrivateFile->fd = -1;\r
+  NewPrivateFile->Dir = NULL;\r
   if (OpenMode & EFI_FILE_MODE_CREATE) {\r
     if (Attributes & EFI_FILE_DIRECTORY) {\r
       NewPrivateFile->IsDirectoryPath = TRUE;\r
@@ -833,11 +833,11 @@ OpenRoot:
       NewPrivateFile->IsDirectoryPath = FALSE;\r
     }\r
   } else {\r
-    struct stat finfo;
-    int res = NewPrivateFile->UnixThunk->Stat (NewPrivateFile->FileName, &finfo);
-    if (res == 0 && S_ISDIR(finfo.st_mode))
+    struct stat finfo;\r
+    int res = NewPrivateFile->UnixThunk->Stat (NewPrivateFile->FileName, &finfo);\r
+    if (res == 0 && S_ISDIR(finfo.st_mode))\r
       NewPrivateFile->IsDirectoryPath = TRUE;\r
-    else
+    else\r
       NewPrivateFile->IsDirectoryPath = FALSE;\r
   }\r
 \r
@@ -859,10 +859,10 @@ OpenRoot:
       // Create a directory\r
       //\r
       if (NewPrivateFile->UnixThunk->MkDir (NewPrivateFile->FileName, 0777) != 0) {\r
-       INTN LastError;
+       INTN LastError;\r
 \r
         LastError = PrivateFile->UnixThunk->GetErrno ();\r
-        if (LastError != EEXIST) {
+        if (LastError != EEXIST) {\r
           //gBS->FreePool (TempFileName);\r
           Status = EFI_ACCESS_DENIED;\r
           goto Done;\r
@@ -870,11 +870,11 @@ OpenRoot:
       }\r
     }\r
 \r
-    NewPrivateFile->Dir = NewPrivateFile->UnixThunk->OpenDir
-      (NewPrivateFile->FileName);
+    NewPrivateFile->Dir = NewPrivateFile->UnixThunk->OpenDir\r
+      (NewPrivateFile->FileName);\r
 \r
-    if (NewPrivateFile->Dir == NULL) {
-      if (PrivateFile->UnixThunk->GetErrno () == EACCES) {
+    if (NewPrivateFile->Dir == NULL) {\r
+      if (PrivateFile->UnixThunk->GetErrno () == EACCES) {\r
         Status                    = EFI_ACCESS_DENIED;\r
       } else {\r
         Status = EFI_NOT_FOUND;\r
@@ -887,13 +887,13 @@ OpenRoot:
     //\r
     // deal with file\r
     //\r
-    NewPrivateFile->fd = NewPrivateFile->UnixThunk->Open
+    NewPrivateFile->fd = NewPrivateFile->UnixThunk->Open\r
       (NewPrivateFile->FileName,\r
-       ((OpenMode & EFI_FILE_MODE_CREATE) ? O_CREAT : 0)
-       | (NewPrivateFile->IsOpenedByRead ? O_RDONLY : O_RDWR),
-       0666);
-    if (NewPrivateFile->fd < 0) {
-      if (PrivateFile->UnixThunk->GetErrno () == ENOENT) {
+       ((OpenMode & EFI_FILE_MODE_CREATE) ? O_CREAT : 0)\r
+       | (NewPrivateFile->IsOpenedByRead ? O_RDONLY : O_RDWR),\r
+       0666);\r
+    if (NewPrivateFile->fd < 0) {\r
+      if (PrivateFile->UnixThunk->GetErrno () == ENOENT) {\r
        Status = EFI_NOT_FOUND;\r
       } else {\r
        Status = EFI_ACCESS_DENIED;\r
@@ -987,15 +987,15 @@ Returns:
 \r
   PrivateFile = UNIX_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);\r
 \r
-  if (PrivateFile->fd >= 0) {
+  if (PrivateFile->fd >= 0) {\r
     PrivateFile->UnixThunk->Close (PrivateFile->fd);\r
-  }
-  if (PrivateFile->Dir != NULL) {
+  }\r
+  if (PrivateFile->Dir != NULL) {\r
     PrivateFile->UnixThunk->CloseDir (PrivateFile->Dir);\r
-  }
+  }\r
 \r
-  PrivateFile->fd = -1;
-  PrivateFile->Dir = NULL;
+  PrivateFile->fd = -1;\r
+  PrivateFile->Dir = NULL;\r
 \r
   if (PrivateFile->FileName) {\r
     gBS->FreePool (PrivateFile->FileName);\r
@@ -1043,7 +1043,7 @@ Returns:
   if (PrivateFile->IsDirectoryPath) {\r
     if (PrivateFile->Dir != NULL) {\r
       PrivateFile->UnixThunk->CloseDir (PrivateFile->Dir);\r
-      PrivateFile->Dir = NULL;
+      PrivateFile->Dir = NULL;\r
     }\r
 \r
     if (PrivateFile->UnixThunk->RmDir (PrivateFile->FileName) == 0) {\r
@@ -1051,7 +1051,7 @@ Returns:
     }\r
   } else {\r
     PrivateFile->UnixThunk->Close (PrivateFile->fd);\r
-    PrivateFile->fd = -1;
+    PrivateFile->fd = -1;\r
 \r
     if (!PrivateFile->IsOpenedByRead) {\r
       if (!PrivateFile->UnixThunk->UnLink (PrivateFile->FileName)) {\r
@@ -1070,7 +1070,7 @@ STATIC
 VOID\r
 UnixSystemTimeToEfiTime (\r
   EFI_UNIX_THUNK_PROTOCOL        *UnixThunk,\r
-  IN time_t                 SystemTime,
+  IN time_t                 SystemTime,\r
   OUT EFI_TIME              *Time\r
   )\r
 /*++\r
@@ -1091,19 +1091,19 @@ Returns:
 \r
 --*/\r
 {\r
-  struct tm *tm;
-  tm = UnixThunk->GmTime (&SystemTime);
-  Time->Year   = tm->tm_year;
-  Time->Month  = tm->tm_mon;
-  Time->Day    = tm->tm_mday;
-  Time->Hour   = tm->tm_hour;
-  Time->Minute = tm->tm_min;
-  Time->Second = tm->tm_sec;
-  Time->Nanosecond  = 0;
-
-  Time->TimeZone    = UnixThunk->GetTimeZone ();
-\r
-  if (UnixThunk->GetDayLight ()) {
+  struct tm *tm;\r
+  tm = UnixThunk->GmTime (&SystemTime);\r
+  Time->Year   = tm->tm_year;\r
+  Time->Month  = tm->tm_mon;\r
+  Time->Day    = tm->tm_mday;\r
+  Time->Hour   = tm->tm_hour;\r
+  Time->Minute = tm->tm_min;\r
+  Time->Second = tm->tm_sec;\r
+  Time->Nanosecond  = 0;\r
+\r
+  Time->TimeZone    = UnixThunk->GetTimeZone ();\r
+\r
+  if (UnixThunk->GetDayLight ()) {\r
     Time->Daylight = EFI_TIME_ADJUST_DAYLIGHT;\r
   }\r
 }\r
@@ -1112,7 +1112,7 @@ STATIC
 EFI_STATUS\r
 UnixSimpleFileSystemFileInfo (\r
   UNIX_EFI_FILE_PRIVATE          *PrivateFile,\r
-  IN     CHAR8                    *FileName,
+  IN     CHAR8                    *FileName,\r
   IN OUT UINTN                    *BufferSize,\r
   OUT    VOID                     *Buffer\r
   )\r
@@ -1141,18 +1141,18 @@ Returns:
   EFI_FILE_INFO               *Info;\r
   CHAR8                      *RealFileName;\r
   CHAR8                      *TempPointer;\r
-  CHAR16                      *BufferFileName;
-  struct stat                 buf;
+  CHAR16                      *BufferFileName;\r
+  struct stat                 buf;\r
 \r
-  if (FileName != NULL) {
-    RealFileName = FileName;
-  }
+  if (FileName != NULL) {\r
+    RealFileName = FileName;\r
+  }\r
   else if (PrivateFile->IsRootDirectory) {\r
-    RealFileName = "";
+    RealFileName = "";\r
   } else {\r
     RealFileName  = PrivateFile->FileName;\r
-  }
-
+  }\r
+\r
   TempPointer   = RealFileName;\r
   while (*TempPointer) {\r
     if (*TempPointer == '/') {\r
@@ -1161,7 +1161,7 @@ Returns:
 \r
     TempPointer++;\r
   }\r
-
+\r
   Size        = SIZE_OF_EFI_FILE_INFO;\r
   NameSize    = AsciiStrSize (RealFileName) * 2;\r
   ResultSize  = Size + NameSize;\r
@@ -1169,39 +1169,39 @@ Returns:
   if (*BufferSize < ResultSize) {\r
     *BufferSize = ResultSize;\r
     return EFI_BUFFER_TOO_SMALL;\r
-  }
-  if (PrivateFile->UnixThunk->Stat (
-          FileName == NULL ? PrivateFile->FileName : FileName,
-         &buf) < 0)
-    return EFI_DEVICE_ERROR;
-
+  }\r
+  if (PrivateFile->UnixThunk->Stat (\r
+          FileName == NULL ? PrivateFile->FileName : FileName,\r
+         &buf) < 0)\r
+    return EFI_DEVICE_ERROR;\r
+\r
   Status  = EFI_SUCCESS;\r
 \r
   Info    = Buffer;\r
   ZeroMem (Info, ResultSize);\r
 \r
   Info->Size = ResultSize;\r
-  Info->FileSize      = buf.st_size;
-  Info->PhysicalSize  = MultU64x32 (buf.st_blocks, buf.st_blksize);
-\r
-  UnixSystemTimeToEfiTime (PrivateFile->UnixThunk, buf.st_ctime, &Info->CreateTime);
-  UnixSystemTimeToEfiTime (PrivateFile->UnixThunk, buf.st_atime, &Info->LastAccessTime);
-  UnixSystemTimeToEfiTime (PrivateFile->UnixThunk, buf.st_mtime, &Info->ModificationTime);
-
-  if (!(buf.st_mode & S_IWUSR)) {
+  Info->FileSize      = buf.st_size;\r
+  Info->PhysicalSize  = MultU64x32 (buf.st_blocks, buf.st_blksize);\r
+\r
+  UnixSystemTimeToEfiTime (PrivateFile->UnixThunk, buf.st_ctime, &Info->CreateTime);\r
+  UnixSystemTimeToEfiTime (PrivateFile->UnixThunk, buf.st_atime, &Info->LastAccessTime);\r
+  UnixSystemTimeToEfiTime (PrivateFile->UnixThunk, buf.st_mtime, &Info->ModificationTime);\r
+\r
+  if (!(buf.st_mode & S_IWUSR)) {\r
     Info->Attribute |= EFI_FILE_READ_ONLY;\r
   }\r
 \r
-  if (S_ISDIR(buf.st_mode)) {
+  if (S_ISDIR(buf.st_mode)) {\r
     Info->Attribute |= EFI_FILE_DIRECTORY;\r
   }\r
 \r
 \r
-  BufferFileName = (CHAR16 *)((CHAR8 *) Buffer + Size);
-  while (*RealFileName)
-    *BufferFileName++ = *RealFileName++;
-  *BufferFileName = 0;
-
+  BufferFileName = (CHAR16 *)((CHAR8 *) Buffer + Size);\r
+  while (*RealFileName)\r
+    *BufferFileName++ = *RealFileName++;\r
+  *BufferFileName = 0;\r
+\r
   *BufferSize = ResultSize;\r
   return Status;\r
 }\r
@@ -1245,11 +1245,11 @@ Returns:
 {\r
   UNIX_EFI_FILE_PRIVATE *PrivateFile;\r
   EFI_STATUS              Status;\r
-  INTN                    Res;
+  INTN                    Res;\r
   UINTN                   Size;\r
   UINTN                   NameSize;\r
   UINTN                   ResultSize;\r
-  CHAR8                   *FullFileName;
+  CHAR8                   *FullFileName;\r
 \r
   if (This == NULL || BufferSize == NULL || Buffer == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
@@ -1266,62 +1266,62 @@ Returns:
     Res = PrivateFile->UnixThunk->Read (\r
                                         PrivateFile->fd,\r
                                         Buffer,\r
-                                        *BufferSize);
-    if (Res < 0)
-      return EFI_DEVICE_ERROR;
-    *BufferSize = Res;
-    return EFI_SUCCESS;
+                                        *BufferSize);\r
+    if (Res < 0)\r
+      return EFI_DEVICE_ERROR;\r
+    *BufferSize = Res;\r
+    return EFI_SUCCESS;\r
   }\r
 \r
   //\r
-  // Read on a directory.
+  // Read on a directory.\r
   //\r
   if (PrivateFile->Dir == NULL) {\r
     return EFI_DEVICE_ERROR;\r
   }\r
-
-  if (PrivateFile->Dirent == NULL) {
-    PrivateFile->Dirent = PrivateFile->UnixThunk->ReadDir (PrivateFile->Dir);
-    if (PrivateFile->Dirent == NULL) {
+\r
+  if (PrivateFile->Dirent == NULL) {\r
+    PrivateFile->Dirent = PrivateFile->UnixThunk->ReadDir (PrivateFile->Dir);\r
+    if (PrivateFile->Dirent == NULL) {\r
       *BufferSize = 0;\r
       return EFI_SUCCESS;\r
-    }
-  }
-
+    }\r
+  }\r
+\r
   Size        = SIZE_OF_EFI_FILE_INFO;\r
-  NameSize    = AsciiStrLen (PrivateFile->Dirent->d_name) + 1;
+  NameSize    = AsciiStrLen (PrivateFile->Dirent->d_name) + 1;\r
   ResultSize  = Size + 2 * NameSize;\r
 \r
   if (*BufferSize < ResultSize) {\r
     *BufferSize = ResultSize;\r
     return EFI_BUFFER_TOO_SMALL;\r
-  }
+  }\r
   Status  = EFI_SUCCESS;\r
 \r
   *BufferSize = ResultSize;\r
-
+\r
   Status = gBS->AllocatePool (\r
                   EfiBootServicesData,\r
-                  AsciiStrLen(PrivateFile->FileName) + 1 + NameSize,
-                  (VOID **)&FullFileName
+                  AsciiStrLen(PrivateFile->FileName) + 1 + NameSize,\r
+                  (VOID **)&FullFileName\r
                   );\r
 \r
   if (EFI_ERROR (Status)) {\r
-    return Status;
+    return Status;\r
   }\r
-                 
-  AsciiStrCpy(FullFileName, PrivateFile->FileName);
-  AsciiStrCat(FullFileName, "/");
-  AsciiStrCat(FullFileName, PrivateFile->Dirent->d_name);
-  Status = UnixSimpleFileSystemFileInfo (PrivateFile,
-                                         FullFileName,
-                                         BufferSize,
-                                         Buffer);
-  gBS->FreePool (FullFileName);
+                 \r
+  AsciiStrCpy(FullFileName, PrivateFile->FileName);\r
+  AsciiStrCat(FullFileName, "/");\r
+  AsciiStrCat(FullFileName, PrivateFile->Dirent->d_name);\r
+  Status = UnixSimpleFileSystemFileInfo (PrivateFile,\r
+                                         FullFileName,\r
+                                         BufferSize,\r
+                                         Buffer);\r
+  gBS->FreePool (FullFileName);\r
 \r
-  PrivateFile->Dirent = NULL;
+  PrivateFile->Dirent = NULL;\r
 \r
-  return Status;
+  return Status;\r
 }\r
 \r
 EFI_STATUS\r
@@ -1368,7 +1368,7 @@ Returns:
 // TODO:    EFI_INVALID_PARAMETER - add return value to function comment\r
 {\r
   UNIX_EFI_FILE_PRIVATE *PrivateFile;\r
-  UINTN Res;
+  UINTN Res;\r
 \r
   if (This == NULL || BufferSize == NULL || Buffer == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
@@ -1391,11 +1391,11 @@ Returns:
   Res = PrivateFile->UnixThunk->Write (\r
                                        PrivateFile->fd,\r
                                        Buffer,\r
-                                       *BufferSize);
-  if (Res == (UINTN)-1)
-    return EFI_DEVICE_ERROR;
-  *BufferSize = Res;
-  return EFI_SUCCESS;
+                                       *BufferSize);\r
+  if (Res == (UINTN)-1)\r
+    return EFI_DEVICE_ERROR;\r
+  *BufferSize = Res;\r
+  return EFI_SUCCESS;\r
 \r
   //\r
   // bugbug: need to access unix error reporting\r
@@ -1444,17 +1444,17 @@ Returns:
       return EFI_UNSUPPORTED;\r
     }\r
 \r
-    if (PrivateFile->Dir == NULL) {
-      return EFI_DEVICE_ERROR;
-    }
-    PrivateFile->UnixThunk->RewindDir (PrivateFile->Dir);
+    if (PrivateFile->Dir == NULL) {\r
+      return EFI_DEVICE_ERROR;\r
+    }\r
+    PrivateFile->UnixThunk->RewindDir (PrivateFile->Dir);\r
     return EFI_SUCCESS;\r
   } else {\r
     if (Position == (UINT64) -1) {\r
       Pos = PrivateFile->UnixThunk->Lseek (PrivateFile->fd, 0, SEEK_END);\r
     } else {\r
       Pos = PrivateFile->UnixThunk->Lseek (PrivateFile->fd, Position, SEEK_SET);\r
-    }
+    }\r
     Status = (Pos == (UINT64) -1) ? EFI_DEVICE_ERROR : EFI_SUCCESS;\r
 \r
     return Status;\r
@@ -1499,7 +1499,7 @@ Returns:
   if (PrivateFile->IsDirectoryPath) {\r
     return EFI_UNSUPPORTED;\r
   } else {\r
-    *Position = PrivateFile->UnixThunk->Lseek (PrivateFile->fd, 0, SEEK_CUR);
+    *Position = PrivateFile->UnixThunk->Lseek (PrivateFile->fd, 0, SEEK_CUR);\r
     return (*Position == (UINT64) -1) ? EFI_DEVICE_ERROR : EFI_SUCCESS;\r
   }\r
 }\r
@@ -1552,7 +1552,7 @@ Returns:
   EFI_FILE_SYSTEM_INFO              *FileSystemInfoBuffer;\r
   INTN                              UnixStatus;\r
   UNIX_SIMPLE_FILE_SYSTEM_PRIVATE *PrivateRoot;\r
-  struct statfs                     buf;
+  struct statfs                     buf;\r
 \r
   if (This == NULL || InformationType == NULL || BufferSize == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
@@ -1572,10 +1572,10 @@ Returns:
       return EFI_BUFFER_TOO_SMALL;\r
     }\r
 \r
-    UnixStatus = PrivateFile->UnixThunk->StatFs (PrivateFile->FileName, &buf);
-    if (UnixStatus < 0)
+    UnixStatus = PrivateFile->UnixThunk->StatFs (PrivateFile->FileName, &buf);\r
+    if (UnixStatus < 0)\r
         return EFI_DEVICE_ERROR;\r
-
+\r
     FileSystemInfoBuffer            = (EFI_FILE_SYSTEM_INFO *) Buffer;\r
     FileSystemInfoBuffer->Size      = SIZE_OF_EFI_FILE_SYSTEM_INFO + StrSize (PrivateRoot->VolumeLabel);\r
     FileSystemInfoBuffer->ReadOnly  = FALSE;\r
@@ -1583,9 +1583,9 @@ Returns:
     //\r
     // Succeeded\r
     //\r
-    FileSystemInfoBuffer->VolumeSize  = MultU64x32 (buf.f_blocks, buf.f_bsize);
-    FileSystemInfoBuffer->FreeSpace   = MultU64x32 (buf.f_bavail, buf.f_bsize);
-    FileSystemInfoBuffer->BlockSize   = buf.f_bsize;
+    FileSystemInfoBuffer->VolumeSize  = MultU64x32 (buf.f_blocks, buf.f_bsize);\r
+    FileSystemInfoBuffer->FreeSpace   = MultU64x32 (buf.f_bavail, buf.f_bsize);\r
+    FileSystemInfoBuffer->BlockSize   = buf.f_bsize;\r
 \r
 \r
     StrCpy ((CHAR16 *) FileSystemInfoBuffer->VolumeLabel, PrivateRoot->VolumeLabel);\r
@@ -1593,7 +1593,7 @@ Returns:
     Status      = EFI_SUCCESS;\r
   }\r
 \r
-  else if (CompareGuid (InformationType,
+  else if (CompareGuid (InformationType,\r
                        &gEfiFileSystemVolumeLabelInfoIdGuid)) {\r
     if (*BufferSize < StrSize (PrivateRoot->VolumeLabel)) {\r
       *BufferSize = StrSize (PrivateRoot->VolumeLabel);\r
@@ -1674,9 +1674,9 @@ Returns:
   struct tm                         NewLastAccessSystemTime;\r
   struct tm                         NewLastWriteSystemTime;\r
   EFI_FILE_SYSTEM_INFO              *NewFileSystemInfo;\r
-  CHAR8                             *AsciiFilePtr;
-  CHAR16                            *UnicodeFilePtr;
-  INTN                              UnixStatus;
+  CHAR8                             *AsciiFilePtr;\r
+  CHAR16                            *UnicodeFilePtr;\r
+  INTN                              UnixStatus;\r
 \r
   //\r
   // Check for invalid parameters.\r
@@ -1779,7 +1779,7 @@ Returns:
     goto Done;\r
   }\r
 \r
-  Status = gBS->AllocatePool (EfiBootServicesData, OldInfoSize,
+  Status = gBS->AllocatePool (EfiBootServicesData, OldInfoSize,\r
                              (VOID **)&OldFileInfo);\r
 \r
   if (EFI_ERROR (Status)) {\r
@@ -1819,9 +1819,9 @@ Returns:
     }\r
 \r
     AsciiStrCpy (NewFileName, PrivateRoot->FilePath);\r
-    AsciiFilePtr = NewFileName + AsciiStrLen(NewFileName);
-    UnicodeFilePtr = NewFileInfo->FileName + 1;
-    *AsciiFilePtr++ ='/';
+    AsciiFilePtr = NewFileName + AsciiStrLen(NewFileName);\r
+    UnicodeFilePtr = NewFileInfo->FileName + 1;\r
+    *AsciiFilePtr++ ='/';\r
   } else {\r
     Status = gBS->AllocatePool (\r
                     EfiBootServicesData,\r
@@ -1834,18 +1834,18 @@ Returns:
     }\r
 \r
     AsciiStrCpy (NewFileName, PrivateRoot->FilePath);\r
-    AsciiFilePtr = NewFileName + AsciiStrLen(NewFileName);
-    while (AsciiFilePtr > NewFileName && AsciiFilePtr[-1] != '/') {
-      AsciiFilePtr--;
-    }
-    UnicodeFilePtr = NewFileInfo->FileName;
+    AsciiFilePtr = NewFileName + AsciiStrLen(NewFileName);\r
+    while (AsciiFilePtr > NewFileName && AsciiFilePtr[-1] != '/') {\r
+      AsciiFilePtr--;\r
+    }\r
+    UnicodeFilePtr = NewFileInfo->FileName;\r
+  }\r
+  // Convert to ascii.\r
+  while (*UnicodeFilePtr) {\r
+    *AsciiFilePtr++ = *UnicodeFilePtr++;\r
   }\r
-  // Convert to ascii.
-  while (*UnicodeFilePtr) {
-    *AsciiFilePtr++ = *UnicodeFilePtr++;
-  }
-  *AsciiFilePtr = 0;
-
+  *AsciiFilePtr = 0;\r
+\r
 \r
   //\r
   // Is there an attribute change request?\r
@@ -1902,10 +1902,10 @@ Returns:
   //\r
   // Set file or directory information.\r
   //\r
-  if (PrivateFile->UnixThunk->Stat (OldFileName, &OldAttr) != 0) {
-    Status = EFI_DEVICE_ERROR;
-    goto Done;
-  }
+  if (PrivateFile->UnixThunk->Stat (OldFileName, &OldAttr) != 0) {\r
+    Status = EFI_DEVICE_ERROR;\r
+    goto Done;\r
+  }\r
 \r
   //\r
   // Name change.\r
@@ -1977,7 +1977,7 @@ Returns:
   // Time change\r
   //\r
   if (TimeChangeFlag) {\r
-    struct utimbuf utime;
+    struct utimbuf utime;\r
 \r
     NewLastAccessSystemTime.tm_year    = NewFileInfo->LastAccessTime.Year;\r
     NewLastAccessSystemTime.tm_mon     = NewFileInfo->LastAccessTime.Month;\r
@@ -1985,25 +1985,25 @@ Returns:
     NewLastAccessSystemTime.tm_hour    = NewFileInfo->LastAccessTime.Hour;\r
     NewLastAccessSystemTime.tm_min     = NewFileInfo->LastAccessTime.Minute;\r
     NewLastAccessSystemTime.tm_sec     = NewFileInfo->LastAccessTime.Second;\r
-    NewLastAccessSystemTime.tm_isdst   = 0;
+    NewLastAccessSystemTime.tm_isdst   = 0;\r
+\r
+    utime.actime = PrivateFile->UnixThunk->MkTime (&NewLastAccessSystemTime);\r
 \r
-    utime.actime = PrivateFile->UnixThunk->MkTime (&NewLastAccessSystemTime);
-
     NewLastWriteSystemTime.tm_year    = NewFileInfo->ModificationTime.Year;\r
     NewLastWriteSystemTime.tm_mon     = NewFileInfo->ModificationTime.Month;\r
     NewLastWriteSystemTime.tm_mday    = NewFileInfo->ModificationTime.Day;\r
     NewLastWriteSystemTime.tm_hour    = NewFileInfo->ModificationTime.Hour;\r
     NewLastWriteSystemTime.tm_min     = NewFileInfo->ModificationTime.Minute;\r
     NewLastWriteSystemTime.tm_sec     = NewFileInfo->ModificationTime.Second;\r
-    NewLastWriteSystemTime.tm_isdst   = 0;
+    NewLastWriteSystemTime.tm_isdst   = 0;\r
+\r
+    utime.modtime = PrivateFile->UnixThunk->MkTime (&NewLastWriteSystemTime);\r
 \r
-    utime.modtime = PrivateFile->UnixThunk->MkTime (&NewLastWriteSystemTime);
-
-    if (utime.actime == (time_t)-1 || utime.modtime == (time_t)-1) {
+    if (utime.actime == (time_t)-1 || utime.modtime == (time_t)-1) {\r
       goto Done;\r
     }\r
 \r
-    if (PrivateFile->UnixThunk->UTime (PrivateFile->FileName, &utime) == -1) {
+    if (PrivateFile->UnixThunk->UTime (PrivateFile->FileName, &utime) == -1) {\r
       goto Done;\r
     }\r
   }\r
@@ -2015,9 +2015,9 @@ Returns:
   NewAttr = OldAttr.st_mode;\r
 \r
   if (NewFileInfo->Attribute & EFI_FILE_READ_ONLY) {\r
-    NewAttr &= ~(S_IRUSR | S_IRGRP | S_IROTH);
+    NewAttr &= ~(S_IRUSR | S_IRGRP | S_IROTH);\r
   } else {\r
-    NewAttr |= S_IRUSR;
+    NewAttr |= S_IRUSR;\r
   }\r
 \r
   UnixStatus = PrivateFile->UnixThunk->Chmod (NewFileName, NewAttr);\r
@@ -2093,10 +2093,10 @@ Returns:
     return EFI_ACCESS_DENIED;\r
   }\r
 \r
-  if (PrivateFile->fd < 0) {
+  if (PrivateFile->fd < 0) {\r
     return EFI_DEVICE_ERROR;\r
   }\r
-
+\r
   return PrivateFile->UnixThunk->FSync (PrivateFile->fd) == 0 ? EFI_SUCCESS : EFI_DEVICE_ERROR;\r
 \r
   //\r
index e6e5ebe..5c50d56 100644 (file)
@@ -161,6 +161,17 @@ UnixUgaComponentNameGetControllerName (
     return EFI_UNSUPPORTED;\r
   }\r
 \r
+  //\r
+  // Make sure this driver is currently managing ControllerHandle\r
+  //\r
+  Status = EfiTestManagedDevice (\r
+             ControllerHandle,\r
+             gUnixUgaDriverBinding.DriverBindingHandle,\r
+             &gEfiUnixIoProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
   //\r
   // Get our context back\r
   //\r
index 5e08fe8..6073202 100644 (file)
@@ -31,7 +31,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUnixUgaDriverBinding = {
   UnixUgaDriverBindingSupported,\r
   UnixUgaDriverBindingStart,\r
   UnixUgaDriverBindingStop,\r
-  0x10,\r
+  0xa,\r
   NULL,\r
   NULL\r
 };\r
index 2045f8f..7ea1eac 100644 (file)
@@ -154,6 +154,18 @@ UnixBusDriverComponentNameGetControllerName (
   EFI_UNIX_IO_PROTOCOL  *UnixIo;\r
   UNIX_IO_DEVICE        *Private;\r
 \r
+  //\r
+  // Make sure this driver is currently managing ControllHandle\r
+  //\r
+  Status = EfiTestManagedDevice (\r
+             ControllerHandle,\r
+             gUnixBusDriverBinding.DriverBindingHandle,\r
+             &gEfiUnixThunkProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return Status;\r
+  }\r
+\r
   //\r
   // This is a bus driver, so ChildHandle can not be NULL.\r
   //\r
@@ -161,6 +173,15 @@ UnixBusDriverComponentNameGetControllerName (
     return EFI_UNSUPPORTED;\r
   }\r
 \r
+  Status = EfiTestChildHandle (\r
+             ControllerHandle,\r
+             ChildHandle,\r
+             &gEfiUnixThunkProtocolGuid\r
+             );\r
+  if (EFI_ERROR (Status)) {\r
+    return Status;\r
+  }\r
+\r
   //\r
   // Get our context back\r
   //\r
index 0e93e48..efa66ab 100644 (file)
@@ -107,7 +107,7 @@ EFI_DRIVER_BINDING_PROTOCOL           gUnixBusDriverBinding = {
   UnixBusDriverBindingSupported,\r
   UnixBusDriverBindingStart,\r
   UnixBusDriverBindingStop,\r
-  0x10,\r
+  0xa,\r
   NULL,\r
   NULL\r
 };\r
@@ -454,7 +454,7 @@ Returns:
 \r
         UnixDevice->ControllerNameTable = NULL;\r
 \r
-       //  FIXME: check size
+       //  FIXME: check size\r
         StrCpy(ComponentName, UnixDevice->UnixIo.EnvString);\r
 \r
         UnixDevice->DevicePath = UnixBusCreateDevicePath (\r