OpenCloudOS-Kernel/drivers/misc/cxl
Christophe Lombard 4108efb02d cxl: Fix number of allocated pages in SPA
The scheduled process area is currently allocated before assigning the
correct maximum processes to the AFU, which will mean we only ever
allocate a fixed number of pages for the scheduled process area. This
will limit us to 958 processes with 2 x 64K pages. If we try to use more
processes than that we'd probably overrun the buffer and corrupt memory
or crash.

AFUs that require three or more interrupts per process will not be
affected as they are already limited to less processes than that, but we
could hit it on an AFU that requires 0, 1 or 2 interrupts per process,
or when using 4K pages.

This patch moves the initialisation of the num_procs to before the SPA
allocation so that enough pages will be allocated for the number of
processes that the AFU supports.

Signed-off-by: Christophe Lombard <clombard@linux.vnet.ibm.com>
Signed-off-by: Ian Munsie <imunsie@au1.ibm.com>
Cc: <stable@vger.kernel.org> # 3.18+
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-10-07 16:44:46 +11:00
..
Kconfig cxl: Add CONFIG_CXL_EEH symbol 2015-08-17 13:56:29 +10:00
Makefile cxl: Fix build failure due to -Wunused-variable behaviour change 2015-09-15 19:33:51 +10:00
api.c cxl: fix leak of IRQ names in cxl_free_afu_irqs() 2015-10-01 11:49:32 +10:00
base.c cxl: Move include file cxl.h -> cxl-base.h 2015-06-03 13:27:19 +10:00
context.c cxl: fix leak of ctx->irq_bitmap when releasing context via kernel API 2015-10-01 11:49:32 +10:00
cxl.h cxl: fix leak of IRQ names in cxl_free_afu_irqs() 2015-10-01 11:49:32 +10:00
debugfs.c cxl: sparse: Silence iomem warning in debugfs file creation 2015-08-12 14:49:29 +10:00
fault.c cxl: Only check pid for userspace contexts 2015-06-03 13:27:18 +10:00
file.c cxl: fix leak of ctx->mapping when releasing kernel API contexts 2015-10-01 11:50:12 +10:00
irq.c cxl: fix leak of ctx->irq_bitmap when releasing context via kernel API 2015-10-01 11:49:32 +10:00
main.c cxl: Destroy cxl_adapter_idr on module_exit 2015-07-16 14:14:55 +10:00
native.c cxl: Fix number of allocated pages in SPA 2015-10-07 16:44:46 +11:00
pci.c cxl: Workaround malformed pcie packets on some cards 2015-10-06 20:59:46 +11:00
sysfs.c cxl: Fix lockdep warning while creating afu_err_buff attribute 2015-09-23 20:57:13 +10:00
trace.c cxl: Add tracepoints 2015-01-22 17:31:51 +11:00
trace.h cxl: use more common format specifier 2015-07-13 10:10:54 +10:00
vphb.c cxl: abort cxl_pci_enable_device_hook() if PCI channel is offline 2015-09-07 20:14:24 +10:00