diff options
author | Lukas Wunner <lukas@wunner.de> | 2018-09-08 03:59:01 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2018-09-18 18:52:15 -0400 |
commit | 81c4b5bf30de01a0f6b43ccaa1d220f4a0a5d99c (patch) | |
tree | 275be529eee5898b58dd9457b58cc07344692ece /drivers/pci/hotplug/ibmphp_core.c | |
parent | d758714235e7abb7984468370c912ca2f4dc4e57 (diff) |
PCI: hotplug: Constify hotplug_slot_ops
Hotplug drivers cannot declare their hotplug_slot_ops const, making them
attractive targets for attackers, because upon registration of a hotplug
slot, __pci_hp_initialize() writes to the "owner" and "mod_name" members
in that struct.
Fix by moving these members to struct hotplug_slot and constify every
driver's hotplug_slot_ops except for pciehp.
pciehp constructs its hotplug_slot_ops at runtime based on the PCIe
port's capabilities, hence cannot declare them const. It can be
converted to __write_rarely once that's mainlined:
http://www.openwall.com/lists/kernel-hardening/2016/11/16/3
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com> # drivers/pci/hotplug/rpa*
Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com> # drivers/platform/x86
Cc: Len Brown <lenb@kernel.org>
Cc: Scott Murray <scott@spiteful.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Oliver OHalloran <oliveroh@au1.ibm.com>
Cc: Gavin Shan <gwshan@linux.vnet.ibm.com>
Cc: Sebastian Ott <sebott@linux.vnet.ibm.com>
Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Cc: Corentin Chary <corentin.chary@gmail.com>
Cc: Darren Hart <dvhart@infradead.org>
Diffstat (limited to 'drivers/pci/hotplug/ibmphp_core.c')
-rw-r--r-- | drivers/pci/hotplug/ibmphp_core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/hotplug/ibmphp_core.c b/drivers/pci/hotplug/ibmphp_core.c index 4ea57e9019f1..b82fdc17040d 100644 --- a/drivers/pci/hotplug/ibmphp_core.c +++ b/drivers/pci/hotplug/ibmphp_core.c | |||
@@ -1259,7 +1259,7 @@ error: | |||
1259 | goto exit; | 1259 | goto exit; |
1260 | } | 1260 | } |
1261 | 1261 | ||
1262 | struct hotplug_slot_ops ibmphp_hotplug_slot_ops = { | 1262 | const struct hotplug_slot_ops ibmphp_hotplug_slot_ops = { |
1263 | .set_attention_status = set_attention_status, | 1263 | .set_attention_status = set_attention_status, |
1264 | .enable_slot = enable_slot, | 1264 | .enable_slot = enable_slot, |
1265 | .disable_slot = ibmphp_disable_slot, | 1265 | .disable_slot = ibmphp_disable_slot, |