diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2020-03-09 11:46:20 +0100 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2020-03-09 11:49:42 +0100 |
commit | 5cc0493c2bac3089de3bfb52256748c6a9249254 (patch) | |
tree | 4088a33e3bffed9e7a61dabde30e5a21ae7ccbfb /target/linux/generic/backport-5.4 | |
parent | bcb4ac25396b491a5ffab068f488ad4758ce85ae (diff) | |
download | upstream-5cc0493c2bac3089de3bfb52256748c6a9249254.tar.gz upstream-5cc0493c2bac3089de3bfb52256748c6a9249254.tar.bz2 upstream-5cc0493c2bac3089de3bfb52256748c6a9249254.zip |
kernel: backport mtd partition address fix sent upstream
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'target/linux/generic/backport-5.4')
-rw-r--r-- | target/linux/generic/backport-5.4/410-mtd-fix-calculating-partition-end-address.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/target/linux/generic/backport-5.4/410-mtd-fix-calculating-partition-end-address.patch b/target/linux/generic/backport-5.4/410-mtd-fix-calculating-partition-end-address.patch new file mode 100644 index 0000000000..1eae015b28 --- /dev/null +++ b/target/linux/generic/backport-5.4/410-mtd-fix-calculating-partition-end-address.patch @@ -0,0 +1,28 @@ +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> +Date: Mon, 9 Mar 2020 08:30:19 +0100 +Subject: [PATCH] mtd: fix calculating partition end address +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This fixes check for partitions that don't start at beginning of their +parents. Missing partition's offset in formula could result in forcing +read-only incorrectly. + +Fixes: 6750f61a13a0 ("mtd: improve calculating partition boundaries when checking for alignment") +Signed-off-by: Rafał Miłecki <rafal@milecki.pl> +--- + drivers/mtd/mtdpart.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/mtd/mtdpart.c ++++ b/drivers/mtd/mtdpart.c +@@ -524,7 +524,7 @@ static struct mtd_part *allocate_partiti + part->name); + } + +- tmp = part_absolute_offset(parent) + slave->mtd.size; ++ tmp = part_absolute_offset(parent) + slave->offset + slave->mtd.size; + remainder = do_div(tmp, wr_alignment); + if ((slave->mtd.flags & MTD_WRITEABLE) && remainder) { + slave->mtd.flags &= ~MTD_WRITEABLE; |