Messages in this thread Patch in this message | | | From | Dongliang Mu <> | Subject | [PATCH] driver: floppy: fix warning in __alloc_pages | Date | Tue, 12 Oct 2021 11:49:54 +0800 |
| |
If the user-provided length (ptr->length) is longer than one threshold, it will trigger a warning in __alloc_pages.
Fix this by checking get_order(ptr->length) >= MAX_ORDER.
Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com> --- drivers/block/floppy.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c index fef79ea52e3e..8b88960e2784 100644 --- a/drivers/block/floppy.c +++ b/drivers/block/floppy.c @@ -3109,6 +3109,8 @@ static int raw_cmd_copyin(int cmd, void __user *param, if (ptr->flags & (FD_RAW_READ | FD_RAW_WRITE)) { if (ptr->length <= 0) return -EINVAL; + if (get_order(ptr->length) >= MAX_ORDER) + return -EINVAL; ptr->kernel_data = (char *)fd_dma_mem_alloc(ptr->length); fallback_on_nodma_alloc(&ptr->kernel_data, ptr->length); if (!ptr->kernel_data) -- 2.25.1
| |