Re: [PATCH v2] powerpc/powernv: Restrict OPAL symbol map to only be readable by root

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxx>
Cc: Jordan Niethe <jniethe5@xxxxxxxxx>
Cc: Stewart Smith <stewart@xxxxxxxxxxxxx>
Fixes: c8742f85125d ("powerpc/powernv: Expose OPAL firmware symbol map")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Andrew Donnellan <ajd@xxxxxxxxxxxxx>

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@xxxxxxxxxxxxx             IBM Australia Limited




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux