Re: [PATCH 1/2] staging: rtl8192e: Pass array value to memcpy instead of struct pointer

2021-02-20 Thread Atul Gopinathan
On Sat, Feb 20, 2021 at 12:34:15PM -0600, Gustavo A. R. Silva wrote:
> 
> 
> On 2/20/21 12:21, Atul Gopinathan wrote:
> > The variable "info_element" is of the following type:
> > struct rtllib_info_element *info_element
> > 
> > rtllib_info_element is a struct containing the following fields as
> > defined in drivers/staging/rtl8192e/rtllib.h:
> > 
> > struct rtllib_info_element {
> > u8 id;
> > u8 len;
> > u8 data[];
> > } __packed;
> > 
> > The following code of interest (to which this patch applies) is
> > supposed to check if the "info_element->len" is greater than 4 and
> > equal to 6, if this is satisfied then, the last two bytes (the
> > 4th and 5th index of u8 "data" array) are copied into
> > "network->CcxRmState".
> > 
> > Currently the code uses "memcpy()" with the source as
> > "_element[4]" which would copy in wrong and unintended
> > information.
> > 
> > This patch rectifies this error by using "_element->data[4]" which
> > rightly copies the last two bytes as the required state information.
> 
> You should include a 'Fixes' tag for this.

Sure! Will resend the patches.
I have a doubt about the Fixes tag, the previous commit pertaining to the
lines I'm modifying is a checkpatch.pl fix (found using simple "git blame").
Should I write that as the Fixes ? Or should I write in the
commit id which created that file and hence, that specific line?

git blame -L1960,1980 -- rtllib_rx.c -> returns a single commit which
was a checkpatch fix (1970, is the line my patch-1 modifies)

git log -S'_element[4]' -- rtllib_rx.c -> returned the commit which
created the file (the file which my patch-1 modifies)

Which one should I write in the Fixes tag?

Thanks!
Atul
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 1/2] staging: rtl8192e: Pass array value to memcpy instead of struct pointer

2021-02-20 Thread Gustavo A. R. Silva



On 2/20/21 12:21, Atul Gopinathan wrote:
> The variable "info_element" is of the following type:
> struct rtllib_info_element *info_element
> 
> rtllib_info_element is a struct containing the following fields as
> defined in drivers/staging/rtl8192e/rtllib.h:
> 
> struct rtllib_info_element {
> u8 id;
> u8 len;
> u8 data[];
> } __packed;
> 
> The following code of interest (to which this patch applies) is
> supposed to check if the "info_element->len" is greater than 4 and
> equal to 6, if this is satisfied then, the last two bytes (the
> 4th and 5th index of u8 "data" array) are copied into
> "network->CcxRmState".
> 
> Currently the code uses "memcpy()" with the source as
> "_element[4]" which would copy in wrong and unintended
> information.
> 
> This patch rectifies this error by using "_element->data[4]" which
> rightly copies the last two bytes as the required state information.

You should include a 'Fixes' tag for this.

Also, is this code in -stable? If so, then tag this patch for stable, please.

Thanks
--
Gustavo

> 
> Signed-off-by: Atul Gopinathan 
> ---
>  drivers/staging/rtl8192e/rtllib_rx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/staging/rtl8192e/rtllib_rx.c 
> b/drivers/staging/rtl8192e/rtllib_rx.c
> index 66c135321da4..15bbb63ca130 100644
> --- a/drivers/staging/rtl8192e/rtllib_rx.c
> +++ b/drivers/staging/rtl8192e/rtllib_rx.c
> @@ -1963,15 +1963,15 @@ static void rtllib_parse_mife_generic(struct 
> rtllib_device *ieee,
>  
>   if (info_element->len > 4 &&
>   info_element->data[0] == 0x00 &&
>   info_element->data[1] == 0x40 &&
>   info_element->data[2] == 0x96 &&
>   info_element->data[3] == 0x01) {
>   if (info_element->len == 6) {
> - memcpy(network->CcxRmState, _element[4], 2);
> + memcpy(network->CcxRmState, _element->data[4], 2);
>   if (network->CcxRmState[0] != 0)
>   network->bCcxRmEnable = true;
>   else
>   network->bCcxRmEnable = false;
>   network->MBssidMask = network->CcxRmState[1] & 0x07;
>   if (network->MBssidMask != 0) {
>   network->bMBssidValid = true;
> 
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 1/2] staging: rtl8192e: Pass array value to memcpy instead of struct pointer

2021-02-20 Thread Atul Gopinathan
The variable "info_element" is of the following type:
struct rtllib_info_element *info_element

rtllib_info_element is a struct containing the following fields as
defined in drivers/staging/rtl8192e/rtllib.h:

struct rtllib_info_element {
u8 id;
u8 len;
u8 data[];
} __packed;

The following code of interest (to which this patch applies) is
supposed to check if the "info_element->len" is greater than 4 and
equal to 6, if this is satisfied then, the last two bytes (the
4th and 5th index of u8 "data" array) are copied into
"network->CcxRmState".

Currently the code uses "memcpy()" with the source as
"_element[4]" which would copy in wrong and unintended
information.

This patch rectifies this error by using "_element->data[4]" which
rightly copies the last two bytes as the required state information.

Signed-off-by: Atul Gopinathan 
---
 drivers/staging/rtl8192e/rtllib_rx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/rtl8192e/rtllib_rx.c 
b/drivers/staging/rtl8192e/rtllib_rx.c
index 66c135321da4..15bbb63ca130 100644
--- a/drivers/staging/rtl8192e/rtllib_rx.c
+++ b/drivers/staging/rtl8192e/rtllib_rx.c
@@ -1963,15 +1963,15 @@ static void rtllib_parse_mife_generic(struct 
rtllib_device *ieee,
 
if (info_element->len > 4 &&
info_element->data[0] == 0x00 &&
info_element->data[1] == 0x40 &&
info_element->data[2] == 0x96 &&
info_element->data[3] == 0x01) {
if (info_element->len == 6) {
-   memcpy(network->CcxRmState, _element[4], 2);
+   memcpy(network->CcxRmState, _element->data[4], 2);
if (network->CcxRmState[0] != 0)
network->bCcxRmEnable = true;
else
network->bCcxRmEnable = false;
network->MBssidMask = network->CcxRmState[1] & 0x07;
if (network->MBssidMask != 0) {
network->bMBssidValid = true;
-- 
2.27.0

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel