diff options
author | Dave Airlie <airlied@redhat.com> | 2015-06-17 22:51:20 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2015-06-17 22:51:20 -0400 |
commit | c90a95bfa2ef4b00df250324a513453360477dcf (patch) | |
tree | 00f1595dd1de98ce349596b1fddff9e3a09ed7bc | |
parent | 284b2884a967dbd98b4c4cf7a8b583f974affca4 (diff) | |
parent | 7861c7a4ca5c637f3cad1e343602a15e857140fd (diff) |
Merge tag 'drm-amdkfd-next-fixes-2015-06-16' of git://people.freedesktop.org/~gabbayo/linux into drm-next
- Dan fixed some range checks in the address watch ioctl impl.
- Remove obsolete member from radeon_device structure
* tag 'drm-amdkfd-next-fixes-2015-06-16' of git://people.freedesktop.org/~gabbayo/linux:
drm/amdkfd: fix some range checks in address watch ioctl
drm/radeon: remove obsolete kfd_bo from radeon_device
-rw-r--r-- | drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon.h | 1 |
2 files changed, 3 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c index 96c904b3acb7..c991973019d0 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | |||
@@ -553,7 +553,7 @@ static int kfd_ioctl_dbg_address_watch(struct file *filep, | |||
553 | /* Validate arguments */ | 553 | /* Validate arguments */ |
554 | 554 | ||
555 | if ((args->buf_size_in_bytes > MAX_ALLOWED_AW_BUFF_SIZE) || | 555 | if ((args->buf_size_in_bytes > MAX_ALLOWED_AW_BUFF_SIZE) || |
556 | (args->buf_size_in_bytes <= sizeof(*args)) || | 556 | (args->buf_size_in_bytes <= sizeof(*args) + sizeof(int) * 2) || |
557 | (cmd_from_user == NULL)) | 557 | (cmd_from_user == NULL)) |
558 | return -EINVAL; | 558 | return -EINVAL; |
559 | 559 | ||
@@ -590,7 +590,7 @@ static int kfd_ioctl_dbg_address_watch(struct file *filep, | |||
590 | /* skip over the addresses buffer */ | 590 | /* skip over the addresses buffer */ |
591 | args_idx += sizeof(aw_info.watch_address) * aw_info.num_watch_points; | 591 | args_idx += sizeof(aw_info.watch_address) * aw_info.num_watch_points; |
592 | 592 | ||
593 | if (args_idx >= args->buf_size_in_bytes) { | 593 | if (args_idx >= args->buf_size_in_bytes - sizeof(*args)) { |
594 | kfree(args_buff); | 594 | kfree(args_buff); |
595 | return -EINVAL; | 595 | return -EINVAL; |
596 | } | 596 | } |
@@ -614,7 +614,7 @@ static int kfd_ioctl_dbg_address_watch(struct file *filep, | |||
614 | args_idx += sizeof(aw_info.watch_mask); | 614 | args_idx += sizeof(aw_info.watch_mask); |
615 | } | 615 | } |
616 | 616 | ||
617 | if (args_idx > args->buf_size_in_bytes) { | 617 | if (args_idx >= args->buf_size_in_bytes - sizeof(args)) { |
618 | kfree(args_buff); | 618 | kfree(args_buff); |
619 | return -EINVAL; | 619 | return -EINVAL; |
620 | } | 620 | } |
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h index 4d2d0579fd49..f03b7eb15233 100644 --- a/drivers/gpu/drm/radeon/radeon.h +++ b/drivers/gpu/drm/radeon/radeon.h | |||
@@ -2458,7 +2458,6 @@ struct radeon_device { | |||
2458 | 2458 | ||
2459 | /* amdkfd interface */ | 2459 | /* amdkfd interface */ |
2460 | struct kfd_dev *kfd; | 2460 | struct kfd_dev *kfd; |
2461 | struct radeon_sa_manager kfd_bo; | ||
2462 | 2461 | ||
2463 | struct mutex mn_lock; | 2462 | struct mutex mn_lock; |
2464 | DECLARE_HASHTABLE(mn_hash, 7); | 2463 | DECLARE_HASHTABLE(mn_hash, 7); |