Signed-off-by: Jan Luebbe <[email protected]>
---
 fs/devfs.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/fs/devfs.c b/fs/devfs.c
index ae48451..074bb34 100644
--- a/fs/devfs.c
+++ b/fs/devfs.c
@@ -49,6 +49,9 @@ static int devfs_write(struct device_d *_dev, FILE *f, const 
void *buf, size_t s
 {
        struct cdev *cdev = f->inode;
 
+       if (cdev->flags & DEVFS_PARTITION_READONLY)
+               return -EPERM;
+
        return cdev_write(cdev, buf, size, f->pos, f->flags);
 }
 
@@ -70,6 +73,9 @@ static int devfs_erase(struct device_d *_dev, FILE *f, size_t 
count, unsigned lo
 {
        struct cdev *cdev = f->inode;
 
+       if (cdev->flags & DEVFS_PARTITION_READONLY)
+               return -EPERM;
+
        if (!cdev->ops->erase)
                return -ENOSYS;
 
-- 
1.7.10


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to