--- a/init/do_mounts.c
+++ b/init/do_mounts.c
-@@ -438,7 +438,27 @@ retry:
+@@ -438,7 +438,28 @@ retry:
out:
put_page(page);
}
+ case -EACCES:
+ flags |= MS_RDONLY;
+ tried++;
++ break;
+ default:
+ return err;
+ }
#ifdef CONFIG_ROOT_NFS
#define NFSROOT_TIMEOUT_MIN 5
-@@ -532,6 +552,10 @@ void __init mount_root(void)
+@@ -532,6 +553,10 @@ void __init mount_root(void)
change_floppy("root floppy");
}
#endif