diff options
Diffstat (limited to 'drivers/s390/cio/itcw.c')
| -rw-r--r-- | drivers/s390/cio/itcw.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/s390/cio/itcw.c b/drivers/s390/cio/itcw.c index 358ee16d10a2..b6408a475983 100644 --- a/drivers/s390/cio/itcw.c +++ b/drivers/s390/cio/itcw.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0 /* * Functions for incremental construction of fcx enabled I/O control blocks. * @@ -5,16 +6,18 @@ * Author(s): Peter Oberparleiter <peter.oberparleiter@de.ibm.com> */ +#include <linux/export.h> #include <linux/kernel.h> #include <linux/types.h> #include <linux/string.h> +#include <linux/io.h> #include <linux/errno.h> #include <linux/err.h> #include <linux/module.h> #include <asm/fcx.h> #include <asm/itcw.h> -/** +/* * struct itcw - incremental tcw helper data type * * This structure serves as a handle for the incremental construction of a @@ -186,7 +189,7 @@ struct itcw *itcw_init(void *buffer, size_t size, int op, int intrg, /* Check for 2G limit. */ start = (addr_t) buffer; end = start + size; - if (end > (1 << 31)) + if ((virt_to_phys(buffer) + size) > (1 << 31)) return ERR_PTR(-EINVAL); memset(buffer, 0, size); /* ITCW. */ |
