diff options
author | Clark Williams <williams@redhat.com> | 2022-02-04 12:48:03 -0600 |
---|---|---|
committer | Clark Williams <williams@redhat.com> | 2022-02-04 12:48:03 -0600 |
commit | 643b2561513124128bbe5a056882cc97a2b38fc2 (patch) | |
tree | 33c2b1034c47baff0341b0bb23be109affa36e1e /drivers/block | |
parent | 6d5eff0660b16bbfebd9bd0e801b32a3251f156c (diff) | |
parent | f4b1bd6d9c2e2818ad1ef2483471c8b9a5c0a01c (diff) | |
download | linux-rt-643b2561513124128bbe5a056882cc97a2b38fc2.tar.gz |
Merge tag 'v4.19.227' into v4.19-rt
This is the 4.19.227 stable release
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/floppy.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c index 8f444b375761..e6e95e67c40e 100644 --- a/drivers/block/floppy.c +++ b/drivers/block/floppy.c @@ -1002,7 +1002,7 @@ static DECLARE_DELAYED_WORK(fd_timer, fd_timer_workfn); static void cancel_activity(void) { do_floppy = NULL; - cancel_delayed_work_sync(&fd_timer); + cancel_delayed_work(&fd_timer); cancel_work_sync(&floppy_work); } @@ -3123,6 +3123,8 @@ static void raw_cmd_free(struct floppy_raw_cmd **ptr) } } +#define MAX_LEN (1UL << MAX_ORDER << PAGE_SHIFT) + static int raw_cmd_copyin(int cmd, void __user *param, struct floppy_raw_cmd **rcmd) { @@ -3160,7 +3162,7 @@ loop: ptr->resultcode = 0; if (ptr->flags & (FD_RAW_READ | FD_RAW_WRITE)) { - if (ptr->length <= 0) + if (ptr->length <= 0 || ptr->length >= MAX_LEN) return -EINVAL; ptr->kernel_data = (char *)fd_dma_mem_alloc(ptr->length); fallback_on_nodma_alloc(&ptr->kernel_data, ptr->length); |