]> git.baikalelectronics.ru Git - kernel.git/commit
cxl: Fix number of allocated pages in SPA
authorChristophe Lombard <clombard@linux.vnet.ibm.com>
Wed, 7 Oct 2015 05:07:40 +0000 (16:07 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 7 Oct 2015 05:44:46 +0000 (16:44 +1100)
commit0e5b9e5600a6871084139d7b4ba53d0014689b3e
treee701e7a77cdfcf77d4646631dce7ba1287a6756d
parenta3a68c33911c54fa82a412a05d52273e11b22670
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>
drivers/misc/cxl/native.c