In the Linux kernel, the following vulnerability has been resolved:
s390/pkey: Prevent overflow in size calculation for memdup_user()
Number of apqn target list entries contained in 'nrapqns' variable is determined by userspace via an ioctl call so the result of the product in calculation of size passed to memdupuser() may overflow.
In this case the actual size of the allocated area and the value describing it won't be in sync leading to various types of unpredictable behaviour later.
Use a proper memduparrayuser() helper which returns an error if an overflow is detected. Note that it is different from when nrapqns is initially zero - that case is considered valid and should be handled in subsequent pkeyhandler implementations.
Found by Linux Verification Center (linuxtesting.org).