summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAsutosh Das <asutoshd@codeaurora.org>2013-10-07 14:53:32 +0530
committerSubhash Jadavani <subhashj@codeaurora.org>2016-05-31 15:25:55 -0700
commit5355845e05c8cffdacd04702210c860fe6cf650d (patch)
treea6299d697388a9fd15addd1b5e8bf87929f78dd1 /drivers
parent0c758bb6b206df527df06eb2e2fb2a784b063148 (diff)
mmc: core: Check for NULL pointer access in ioctl
Added checks to check if card is NULL before accessing it. CRs-Fixed: 548450 Change-Id: Idc005b8420a78b3566164102fbeaa243a8e73c7c Signed-off-by: Asutosh Das <asutoshd@codeaurora.org> [subhashj@codeaurora.org: fixed trivial merge conflicts] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mmc/card/block.c5
-rw-r--r--drivers/mmc/core/core.c4
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index 2b0fefc1a7bf..0642ce0a1a44 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -868,9 +868,8 @@ static int mmc_blk_ioctl_cmd(struct block_device *bdev,
int err = 0, ioc_err = 0;
idata = mmc_blk_ioctl_copy_from_user(ic_ptr);
- if (IS_ERR(idata))
+ if (IS_ERR_OR_NULL(idata))
return PTR_ERR(idata);
-
md = mmc_blk_get(bdev->bd_disk);
if (!md) {
err = -EINVAL;
@@ -878,7 +877,7 @@ static int mmc_blk_ioctl_cmd(struct block_device *bdev,
}
card = md->queue.card;
- if (IS_ERR(card)) {
+ if (IS_ERR_OR_NULL(card)) {
err = PTR_ERR(card);
goto cmd_done;
}
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index 0b0f1821f5fb..26ae35e9d023 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -876,6 +876,10 @@ void mmc_set_data_timeout(struct mmc_data *data, const struct mmc_card *card)
{
unsigned int mult;
+ if (!card) {
+ WARN_ON(1);
+ return;
+ }
/*
* SDIO cards only define an upper 1 s limit on access.
*/