diff for duplicates of <20150611151902.GF12192@mwanda> diff --git a/a/1.txt b/N1/1.txt index bd6b859..abb7e2d 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -39,14 +39,14 @@ index 96c904b..54a608a 100644 if ((args->buf_size_in_bytes > MAX_ALLOWED_AW_BUFF_SIZE) || - (args->buf_size_in_bytes <= sizeof(*args)) || + (args->buf_size_in_bytes <= sizeof(*args) + sizeof(int) * 2) || - (cmd_from_user = NULL)) + (cmd_from_user == NULL)) return -EINVAL; @@ -576,6 +577,11 @@ static int kfd_ioctl_dbg_address_watch(struct file *filep, aw_info.process = p; aw_info.num_watch_points = *((uint32_t *)(&args_buff[args_idx])); -+ if (aw_info.num_watch_points = 0 || ++ if (aw_info.num_watch_points == 0 || + aw_info.num_watch_points > MAX_WATCH_ADDRESSES) { + kfree(args_buff); + return -EINVAL; @@ -81,24 +81,28 @@ index 96153f2..d366757 100644 cntl.u32All = 0; - if ((adw_info->num_watch_points > MAX_WATCH_ADDRESSES) || -- (adw_info->num_watch_points = 0)) { +- (adw_info->num_watch_points == 0)) { - pr_err("amdkfd: num_watch_points is invalid\n"); - return -EINVAL; - } - - if ((adw_info->watch_mode = NULL) || - (adw_info->watch_address = NULL)) { + if ((adw_info->watch_mode == NULL) || + (adw_info->watch_address == NULL)) { pr_err("amdkfd: adw_info fields are not valid\n"); @@ -369,12 +363,6 @@ static int dbgdev_address_watch_diq(struct kfd_dbgdev *dbgdev, addrLo.u32All = 0; cntl.u32All = 0; - if ((adw_info->num_watch_points > MAX_WATCH_ADDRESSES) || -- (adw_info->num_watch_points = 0)) { +- (adw_info->num_watch_points == 0)) { - pr_err("amdkfd: num_watch_points is invalid\n"); - return -EINVAL; - } - - if ((NULL = adw_info->watch_mode) || - (NULL = adw_info->watch_address)) { + if ((NULL == adw_info->watch_mode) || + (NULL == adw_info->watch_address)) { pr_err("amdkfd: adw_info fields are not valid\n"); +_______________________________________________ +dri-devel mailing list +dri-devel@lists.freedesktop.org +http://lists.freedesktop.org/mailman/listinfo/dri-devel diff --git a/a/content_digest b/N1/content_digest index dd4a065..9df68f9 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,6 +1,6 @@ "From\0Dan Carpenter <dan.carpenter@oracle.com>\0" "Subject\0[patch] drm/amdkfd: fix some range checks in address watch ioctl\0" - "Date\0Thu, 11 Jun 2015 15:19:02 +0000\0" + "Date\0Thu, 11 Jun 2015 18:19:02 +0300\0" "To\0Oded Gabbay <oded.gabbay@gmail.com>" " Yair Shachar <yair.shachar@amd.com>\0" "Cc\0kernel-janitors@vger.kernel.org" @@ -49,14 +49,14 @@ " \tif ((args->buf_size_in_bytes > MAX_ALLOWED_AW_BUFF_SIZE) ||\n" "-\t\t(args->buf_size_in_bytes <= sizeof(*args)) ||\n" "+\t\t(args->buf_size_in_bytes <= sizeof(*args) + sizeof(int) * 2) ||\n" - " \t\t(cmd_from_user = NULL))\n" + " \t\t(cmd_from_user == NULL))\n" " \t\treturn -EINVAL;\n" " \n" "@@ -576,6 +577,11 @@ static int kfd_ioctl_dbg_address_watch(struct file *filep,\n" " \taw_info.process = p;\n" " \n" " \taw_info.num_watch_points = *((uint32_t *)(&args_buff[args_idx]));\n" - "+\tif (aw_info.num_watch_points = 0 ||\n" + "+\tif (aw_info.num_watch_points == 0 ||\n" "+\t aw_info.num_watch_points > MAX_WATCH_ADDRESSES) {\n" "+\t\tkfree(args_buff);\n" "+\t\treturn -EINVAL;\n" @@ -91,26 +91,30 @@ " \tcntl.u32All = 0;\n" " \n" "-\tif ((adw_info->num_watch_points > MAX_WATCH_ADDRESSES) ||\n" - "-\t\t\t(adw_info->num_watch_points = 0)) {\n" + "-\t\t\t(adw_info->num_watch_points == 0)) {\n" "-\t\tpr_err(\"amdkfd: num_watch_points is invalid\\n\");\n" "-\t\treturn -EINVAL;\n" "-\t}\n" "-\n" - " \tif ((adw_info->watch_mode = NULL) ||\n" - " \t\t(adw_info->watch_address = NULL)) {\n" + " \tif ((adw_info->watch_mode == NULL) ||\n" + " \t\t(adw_info->watch_address == NULL)) {\n" " \t\tpr_err(\"amdkfd: adw_info fields are not valid\\n\");\n" "@@ -369,12 +363,6 @@ static int dbgdev_address_watch_diq(struct kfd_dbgdev *dbgdev,\n" " \taddrLo.u32All = 0;\n" " \tcntl.u32All = 0;\n" " \n" "-\tif ((adw_info->num_watch_points > MAX_WATCH_ADDRESSES) ||\n" - "-\t\t\t(adw_info->num_watch_points = 0)) {\n" + "-\t\t\t(adw_info->num_watch_points == 0)) {\n" "-\t\tpr_err(\"amdkfd: num_watch_points is invalid\\n\");\n" "-\t\treturn -EINVAL;\n" "-\t}\n" "-\n" - " \tif ((NULL = adw_info->watch_mode) ||\n" - " \t\t\t(NULL = adw_info->watch_address)) {\n" - " \t\tpr_err(\"amdkfd: adw_info fields are not valid\\n\");" + " \tif ((NULL == adw_info->watch_mode) ||\n" + " \t\t\t(NULL == adw_info->watch_address)) {\n" + " \t\tpr_err(\"amdkfd: adw_info fields are not valid\\n\");\n" + "_______________________________________________\n" + "dri-devel mailing list\n" + "dri-devel@lists.freedesktop.org\n" + http://lists.freedesktop.org/mailman/listinfo/dri-devel -f1749cb49cd68fb62c1571f5a10b46ce7f6cca1a2d355273883e73ac7a7bb54a +ece77486287c1b216eb22765611f701f902f11b972679cb69020c70672975527
diff --git a/a/1.txt b/N2/1.txt index bd6b859..f86bb77 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -39,14 +39,14 @@ index 96c904b..54a608a 100644 if ((args->buf_size_in_bytes > MAX_ALLOWED_AW_BUFF_SIZE) || - (args->buf_size_in_bytes <= sizeof(*args)) || + (args->buf_size_in_bytes <= sizeof(*args) + sizeof(int) * 2) || - (cmd_from_user = NULL)) + (cmd_from_user == NULL)) return -EINVAL; @@ -576,6 +577,11 @@ static int kfd_ioctl_dbg_address_watch(struct file *filep, aw_info.process = p; aw_info.num_watch_points = *((uint32_t *)(&args_buff[args_idx])); -+ if (aw_info.num_watch_points = 0 || ++ if (aw_info.num_watch_points == 0 || + aw_info.num_watch_points > MAX_WATCH_ADDRESSES) { + kfree(args_buff); + return -EINVAL; @@ -81,24 +81,24 @@ index 96153f2..d366757 100644 cntl.u32All = 0; - if ((adw_info->num_watch_points > MAX_WATCH_ADDRESSES) || -- (adw_info->num_watch_points = 0)) { +- (adw_info->num_watch_points == 0)) { - pr_err("amdkfd: num_watch_points is invalid\n"); - return -EINVAL; - } - - if ((adw_info->watch_mode = NULL) || - (adw_info->watch_address = NULL)) { + if ((adw_info->watch_mode == NULL) || + (adw_info->watch_address == NULL)) { pr_err("amdkfd: adw_info fields are not valid\n"); @@ -369,12 +363,6 @@ static int dbgdev_address_watch_diq(struct kfd_dbgdev *dbgdev, addrLo.u32All = 0; cntl.u32All = 0; - if ((adw_info->num_watch_points > MAX_WATCH_ADDRESSES) || -- (adw_info->num_watch_points = 0)) { +- (adw_info->num_watch_points == 0)) { - pr_err("amdkfd: num_watch_points is invalid\n"); - return -EINVAL; - } - - if ((NULL = adw_info->watch_mode) || - (NULL = adw_info->watch_address)) { + if ((NULL == adw_info->watch_mode) || + (NULL == adw_info->watch_address)) { pr_err("amdkfd: adw_info fields are not valid\n"); diff --git a/a/content_digest b/N2/content_digest index dd4a065..03a40e5 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -1,11 +1,12 @@ "From\0Dan Carpenter <dan.carpenter@oracle.com>\0" "Subject\0[patch] drm/amdkfd: fix some range checks in address watch ioctl\0" - "Date\0Thu, 11 Jun 2015 15:19:02 +0000\0" + "Date\0Thu, 11 Jun 2015 18:19:02 +0300\0" "To\0Oded Gabbay <oded.gabbay@gmail.com>" " Yair Shachar <yair.shachar@amd.com>\0" - "Cc\0kernel-janitors@vger.kernel.org" + "Cc\0David Airlie <airlied@linux.ie>" + dri-devel@lists.freedesktop.org linux-kernel@vger.kernel.org - " dri-devel@lists.freedesktop.org\0" + " kernel-janitors@vger.kernel.org\0" "\00:1\0" "b\0" "->buf_size_in_bytes must be large enough to hold ->num_watch_points and\n" @@ -49,14 +50,14 @@ " \tif ((args->buf_size_in_bytes > MAX_ALLOWED_AW_BUFF_SIZE) ||\n" "-\t\t(args->buf_size_in_bytes <= sizeof(*args)) ||\n" "+\t\t(args->buf_size_in_bytes <= sizeof(*args) + sizeof(int) * 2) ||\n" - " \t\t(cmd_from_user = NULL))\n" + " \t\t(cmd_from_user == NULL))\n" " \t\treturn -EINVAL;\n" " \n" "@@ -576,6 +577,11 @@ static int kfd_ioctl_dbg_address_watch(struct file *filep,\n" " \taw_info.process = p;\n" " \n" " \taw_info.num_watch_points = *((uint32_t *)(&args_buff[args_idx]));\n" - "+\tif (aw_info.num_watch_points = 0 ||\n" + "+\tif (aw_info.num_watch_points == 0 ||\n" "+\t aw_info.num_watch_points > MAX_WATCH_ADDRESSES) {\n" "+\t\tkfree(args_buff);\n" "+\t\treturn -EINVAL;\n" @@ -91,26 +92,26 @@ " \tcntl.u32All = 0;\n" " \n" "-\tif ((adw_info->num_watch_points > MAX_WATCH_ADDRESSES) ||\n" - "-\t\t\t(adw_info->num_watch_points = 0)) {\n" + "-\t\t\t(adw_info->num_watch_points == 0)) {\n" "-\t\tpr_err(\"amdkfd: num_watch_points is invalid\\n\");\n" "-\t\treturn -EINVAL;\n" "-\t}\n" "-\n" - " \tif ((adw_info->watch_mode = NULL) ||\n" - " \t\t(adw_info->watch_address = NULL)) {\n" + " \tif ((adw_info->watch_mode == NULL) ||\n" + " \t\t(adw_info->watch_address == NULL)) {\n" " \t\tpr_err(\"amdkfd: adw_info fields are not valid\\n\");\n" "@@ -369,12 +363,6 @@ static int dbgdev_address_watch_diq(struct kfd_dbgdev *dbgdev,\n" " \taddrLo.u32All = 0;\n" " \tcntl.u32All = 0;\n" " \n" "-\tif ((adw_info->num_watch_points > MAX_WATCH_ADDRESSES) ||\n" - "-\t\t\t(adw_info->num_watch_points = 0)) {\n" + "-\t\t\t(adw_info->num_watch_points == 0)) {\n" "-\t\tpr_err(\"amdkfd: num_watch_points is invalid\\n\");\n" "-\t\treturn -EINVAL;\n" "-\t}\n" "-\n" - " \tif ((NULL = adw_info->watch_mode) ||\n" - " \t\t\t(NULL = adw_info->watch_address)) {\n" + " \tif ((NULL == adw_info->watch_mode) ||\n" + " \t\t\t(NULL == adw_info->watch_address)) {\n" " \t\tpr_err(\"amdkfd: adw_info fields are not valid\\n\");" -f1749cb49cd68fb62c1571f5a10b46ce7f6cca1a2d355273883e73ac7a7bb54a +3bea383bf8bced6c67ea1b4e941fbfc211864c9bacfd298c2bda6fbb02e00113
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.