[PATCH] mmc: card: restrict access to RPMB partition
Yuvaraj Kumar C D
yuvaraj.cd at gmail.com
Fri May 9 06:39:22 PDT 2014
From: Andrew Bresticker <abrestic at chromium.org>
The RPMB partition should only be accessed through the RPMB ioctls
and not through read()/write(). This patch makes mmc_blk_open()
reject open attempts to the RPMB partition in read or write mode.
Signed-off-by: Andrew Bresticker <abrestic at chromium.org>
Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd at samsung.com>
---
drivers/mmc/card/block.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index 452782b..fd59090 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -297,7 +297,15 @@ static int mmc_blk_open(struct block_device *bdev, fmode_t mode)
check_disk_change(bdev);
ret = 0;
- if ((mode & FMODE_WRITE) && md->read_only) {
+ /*
+ * Reject read/write access to the RPMB partition. It should
+ * only be accessed through ioctls.
+ */
+ if ((mode & (FMODE_READ | FMODE_WRITE)) &&
+ md->area_type & MMC_BLK_DATA_AREA_RPMB) {
+ mmc_blk_put(md);
+ ret = -EACCES;
+ } else if ((mode & FMODE_WRITE) && md->read_only) {
mmc_blk_put(md);
ret = -EROFS;
}
--
1.7.10.4
More information about the linux-arm-kernel
mailing list