[PATCH v2] powerpc/powernv: Restrict OPAL symbol map to only be readable by root
Andrew Donnellan
ajd at linux.ibm.com
Wed Jul 31 11:44:47 AEST 2019
On 3/5/19 5:52 pm, Andrew Donnellan wrote:
> Currently the OPAL symbol map is globally readable, which seems bad as it
> contains physical addresses.
>
> Restrict it to root.
>
> Suggested-by: Michael Ellerman <mpe at ellerman.id.au>
> Cc: Jordan Niethe <jniethe5 at gmail.com>
> Cc: Stewart Smith <stewart at linux.ibm.com>
> Fixes: c8742f85125d ("powerpc/powernv: Expose OPAL firmware symbol map")
> Cc: stable at vger.kernel.org
> Signed-off-by: Andrew Donnellan <ajd at linux.ibm.com>
mpe: ping?
>
> ---
>
> v1->v2:
>
> - fix tabs vs spaces (Greg)
> ---
> arch/powerpc/platforms/powernv/opal.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
> index 2b0eca104f86..0582a02623d0 100644
> --- a/arch/powerpc/platforms/powernv/opal.c
> +++ b/arch/powerpc/platforms/powernv/opal.c
> @@ -681,7 +681,10 @@ static ssize_t symbol_map_read(struct file *fp, struct kobject *kobj,
> bin_attr->size);
> }
>
> -static BIN_ATTR_RO(symbol_map, 0);
> +static struct bin_attribute symbol_map_attr = {
> + .attr = {.name = "symbol_map", .mode = 0400},
> + .read = symbol_map_read
> +};
>
> static void opal_export_symmap(void)
> {
> @@ -698,10 +701,10 @@ static void opal_export_symmap(void)
> return;
>
> /* Setup attributes */
> - bin_attr_symbol_map.private = __va(be64_to_cpu(syms[0]));
> - bin_attr_symbol_map.size = be64_to_cpu(syms[1]);
> + symbol_map_attr.private = __va(be64_to_cpu(syms[0]));
> + symbol_map_attr.size = be64_to_cpu(syms[1]);
>
> - rc = sysfs_create_bin_file(opal_kobj, &bin_attr_symbol_map);
> + rc = sysfs_create_bin_file(opal_kobj, &symbol_map_attr);
> if (rc)
> pr_warn("Error %d creating OPAL symbols file\n", rc);
> }
>
--
Andrew Donnellan OzLabs, ADL Canberra
ajd at linux.ibm.com IBM Australia Limited
More information about the Linuxppc-dev
mailing list