* [PATCH] fix mtd_part_lock/unlock
@ 2014-07-08 7:37 Zahari Doychev
2014-07-08 7:37 ` [PATCH] drivers/mtd: fix NULL pointer dereference in partition lock/unlock Zahari Doychev
0 siblings, 1 reply; 3+ messages in thread
From: Zahari Doychev @ 2014-07-08 7:37 UTC (permalink / raw)
To: barebox
Hi,
Some mtd drivers does not define lock and unlock partition functions. This
patch avoids crashing when these undefined functions are called from barebox
code e.g. saveenv. Please review this patch and apply it if it is ok.
Thanks
Zahari Doychev (1):
drivers/mtd: fix NULL pointer dereference in partition lock/unlock
drivers/mtd/partition.c | 6 ++++++
1 file changed, 6 insertions(+)
--
1.7.9.5
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] drivers/mtd: fix NULL pointer dereference in partition lock/unlock
2014-07-08 7:37 [PATCH] fix mtd_part_lock/unlock Zahari Doychev
@ 2014-07-08 7:37 ` Zahari Doychev
2014-07-09 5:31 ` Sascha Hauer
0 siblings, 1 reply; 3+ messages in thread
From: Zahari Doychev @ 2014-07-08 7:37 UTC (permalink / raw)
To: barebox
Some mtd device does not support lock and unlock functions. Adding this check
avoids crashing when mtd_part_lock/unlock are called for such devices.
Signed-off-by: Zahari Doychev <zahari.doychev@linux.com>
---
drivers/mtd/partition.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/mtd/partition.c b/drivers/mtd/partition.c
index 5c0d46f..5a3d1ae 100644
--- a/drivers/mtd/partition.c
+++ b/drivers/mtd/partition.c
@@ -51,6 +51,9 @@ static int mtd_part_erase(struct mtd_info *mtd, struct erase_info *instr)
static int mtd_part_lock(struct mtd_info *mtd, loff_t offset, size_t len)
{
+ if (!mtd->master->lock)
+ return -ENOSYS;
+
if (!(mtd->flags & MTD_WRITEABLE))
return -EROFS;
@@ -64,6 +67,9 @@ static int mtd_part_lock(struct mtd_info *mtd, loff_t offset, size_t len)
static int mtd_part_unlock(struct mtd_info *mtd, loff_t offset, size_t len)
{
+ if (!mtd->master->unlock)
+ return -ENOSYS;
+
if (!(mtd->flags & MTD_WRITEABLE))
return -EROFS;
--
1.7.9.5
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] drivers/mtd: fix NULL pointer dereference in partition lock/unlock
2014-07-08 7:37 ` [PATCH] drivers/mtd: fix NULL pointer dereference in partition lock/unlock Zahari Doychev
@ 2014-07-09 5:31 ` Sascha Hauer
0 siblings, 0 replies; 3+ messages in thread
From: Sascha Hauer @ 2014-07-09 5:31 UTC (permalink / raw)
To: Zahari Doychev; +Cc: barebox
On Tue, Jul 08, 2014 at 09:37:35AM +0200, Zahari Doychev wrote:
> Some mtd device does not support lock and unlock functions. Adding this check
> avoids crashing when mtd_part_lock/unlock are called for such devices.
>
> Signed-off-by: Zahari Doychev <zahari.doychev@linux.com>
Applied, thanks
Sascha
> ---
> drivers/mtd/partition.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/mtd/partition.c b/drivers/mtd/partition.c
> index 5c0d46f..5a3d1ae 100644
> --- a/drivers/mtd/partition.c
> +++ b/drivers/mtd/partition.c
> @@ -51,6 +51,9 @@ static int mtd_part_erase(struct mtd_info *mtd, struct erase_info *instr)
>
> static int mtd_part_lock(struct mtd_info *mtd, loff_t offset, size_t len)
> {
> + if (!mtd->master->lock)
> + return -ENOSYS;
> +
> if (!(mtd->flags & MTD_WRITEABLE))
> return -EROFS;
>
> @@ -64,6 +67,9 @@ static int mtd_part_lock(struct mtd_info *mtd, loff_t offset, size_t len)
>
> static int mtd_part_unlock(struct mtd_info *mtd, loff_t offset, size_t len)
> {
> + if (!mtd->master->unlock)
> + return -ENOSYS;
> +
> if (!(mtd->flags & MTD_WRITEABLE))
> return -EROFS;
>
> --
> 1.7.9.5
>
>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-07-09 5:32 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-08 7:37 [PATCH] fix mtd_part_lock/unlock Zahari Doychev
2014-07-08 7:37 ` [PATCH] drivers/mtd: fix NULL pointer dereference in partition lock/unlock Zahari Doychev
2014-07-09 5:31 ` Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox