summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-07-02 10:59:30 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2012-07-02 10:59:30 +0200
commit6e4b15537b522fc6d393d664c12f40b4a00b5ef6 (patch)
treedc6dde42fe31820cd86719ed1d0c3e20983dff6b /fs
parentdd3c898d06a55a4c6fe94dae3f732a541e983432 (diff)
parenta0b061147767c16eb443f510b7424e03d2f07209 (diff)
downloadbarebox-6e4b15537b522fc6d393d664c12f40b4a00b5ef6.tar.gz
barebox-6e4b15537b522fc6d393d664c12f40b4a00b5ef6.tar.xz
Merge branch 'for-next/misc'
Diffstat (limited to 'fs')
-rw-r--r--fs/devfs.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/devfs.c b/fs/devfs.c
index 5aace362e2..2549ea60a8 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, loff_t offs
{
struct cdev *cdev = f->inode;
+ if (cdev->flags & DEVFS_PARTITION_READONLY)
+ return -EPERM;
+
if (!cdev->ops->erase)
return -ENOSYS;