| From foo@baz Mon Sep 17 12:33:31 CEST 2018 |
| From: Mauricio Faria de Oliveira <mfo@canonical.com> |
| Date: Wed, 25 Jul 2018 22:46:29 -0300 |
| Subject: partitions/aix: append null character to print data from disk |
| |
| From: Mauricio Faria de Oliveira <mfo@canonical.com> |
| |
| [ Upstream commit d43fdae7bac2def8c4314b5a49822cb7f08a45f1 ] |
| |
| Even if properly initialized, the lvname array (i.e., strings) |
| is read from disk, and might contain corrupt data (e.g., lack |
| the null terminating character for strings). |
| |
| So, make sure the partition name string used in pr_warn() has |
| the null terminating character. |
| |
| Fixes: 6ceea22bbbc8 ("partitions: add aix lvm partition support files") |
| Suggested-by: Daniel J. Axtens <daniel.axtens@canonical.com> |
| Signed-off-by: Mauricio Faria de Oliveira <mfo@canonical.com> |
| Signed-off-by: Jens Axboe <axboe@kernel.dk> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| block/partitions/aix.c | 8 ++++++-- |
| 1 file changed, 6 insertions(+), 2 deletions(-) |
| |
| --- a/block/partitions/aix.c |
| +++ b/block/partitions/aix.c |
| @@ -282,10 +282,14 @@ int aix_partition(struct parsed_partitio |
| next_lp_ix += 1; |
| } |
| for (i = 0; i < state->limit; i += 1) |
| - if (lvip[i].pps_found && !lvip[i].lv_is_contiguous) |
| + if (lvip[i].pps_found && !lvip[i].lv_is_contiguous) { |
| + char tmp[sizeof(n[i].name) + 1]; // null char |
| + |
| + snprintf(tmp, sizeof(tmp), "%s", n[i].name); |
| pr_warn("partition %s (%u pp's found) is " |
| "not contiguous\n", |
| - n[i].name, lvip[i].pps_found); |
| + tmp, lvip[i].pps_found); |
| + } |
| kfree(pvd); |
| } |
| kfree(n); |