Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1293366 > unrolled thread
| Started by | Okash Khawaja <okash.khawaja@gmail.com> |
|---|---|
| First post | 2015-12-16 23:20 +0100 |
| Last post | 2015-12-22 14:30 +0100 |
| Articles | 7 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] staging: rtl8192u: fix large frame size compiler warning Okash Khawaja <okash.khawaja@gmail.com> - 2015-12-16 23:20 +0100
Re: [PATCH] staging: rtl8192u: fix large frame size compiler warning Okash Khawaja <okash.khawaja@gmail.com> - 2015-12-16 23:30 +0100
[PATCH] staging: rtl8192u: fix large frame size compiler warning Okash Khawaja <okash.khawaja@gmail.com> - 2015-12-16 23:40 +0100
Re: [PATCH] staging: rtl8192u: fix large frame size compiler warning Dan Carpenter <dan.carpenter@oracle.com> - 2015-12-17 12:10 +0100
[PATCH v4] staging: rtl8192u: fix large frame size compiler warning Okash Khawaja <okash.khawaja@gmail.com> - 2015-12-17 21:40 +0100
Re: [PATCH v4] staging: rtl8192u: fix large frame size compiler warning Okash Khawaja <okash.khawaja@gmail.com> - 2015-12-22 13:50 +0100
Re: [PATCH v4] staging: rtl8192u: fix large frame size compiler warning Dan Carpenter <dan.carpenter@oracle.com> - 2015-12-22 14:30 +0100
| From | Okash Khawaja <okash.khawaja@gmail.com> |
|---|---|
| Date | 2015-12-16 23:20 +0100 |
| Subject | [PATCH] staging: rtl8192u: fix large frame size compiler warning |
| Message-ID | <qGsAq-7D6-25@gated-at.bofh.it> |
Compiling drivers/staging/rtl8192u/ gives following compiler warning:
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c: In function
‘RxReorderIndicatePacket’:
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c:758:1: warning: the
frame size of 1064 bytes is larger than 1024 bytes
[-Wframe-larger-than=]
This patch fixes it by replacing the statically allocated array
`prxbIndicateArray` with kmalloc'd one.
Signed-off-by: Okash Khawaja <okash.khawaja@gmail.com>
---
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
index 130c852..d89e99a 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
@@ -594,12 +594,22 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
{
PRT_HIGH_THROUGHPUT pHTInfo = ieee->pHTInfo;
PRX_REORDER_ENTRY pReorderEntry = NULL;
- struct ieee80211_rxb *prxbIndicateArray[REORDER_WIN_SIZE];
+ struct ieee80211_rxb **prxbIndicateArray;
u8 WinSize = pHTInfo->RxReorderWinSize;
u16 WinEnd = (pTS->RxIndicateSeq + WinSize -1)%4096;
u8 index = 0;
bool bMatchWinStart = false, bPktInBuf = false;
IEEE80211_DEBUG(IEEE80211_DL_REORDER,"%s(): Seq is %d,pTS->RxIndicateSeq is %d, WinSize is %d\n",__func__,SeqNum,pTS->RxIndicateSeq,WinSize);
+
+ prxbIndicateArray = kmalloc(sizeof(struct ieee80211_rxb *) *
+ REORDER_WIN_SIZE, GFP_KERNEL);
+ if (!prxbIndicateArray) {
+ IEEE80211_DEBUG(IEEE80211_DL_ERR,
+ "%s(): kmalloc prxbIndicateArray error\n",
+ __func__);
+ return;
+ }
+
/* Rx Reorder initialize condition.*/
if (pTS->RxIndicateSeq == 0xffff) {
pTS->RxIndicateSeq = SeqNum;
--
2.5.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Okash Khawaja <okash.khawaja@gmail.com> |
|---|---|
| Date | 2015-12-16 23:30 +0100 |
| Message-ID | <qGsK5-7I0-9@gated-at.bofh.it> |
| In reply to | #1293366 |
On Wed, Dec 16, 2015 at 08:55:45PM +0000, Okash Khawaja wrote:
> Compiling drivers/staging/rtl8192u/ gives following compiler warning:
>
> drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c: In function
> ‘RxReorderIndicatePacket’:
> drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c:758:1: warning: the
> frame size of 1064 bytes is larger than 1024 bytes
> [-Wframe-larger-than=]
>
> This patch fixes it by replacing the statically allocated array
> `prxbIndicateArray` with kmalloc'd one.
>
> Signed-off-by: Okash Khawaja <okash.khawaja@gmail.com>
> ---
> drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
> index 130c852..d89e99a 100644
> --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
> +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
> @@ -594,12 +594,22 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
> {
> PRT_HIGH_THROUGHPUT pHTInfo = ieee->pHTInfo;
> PRX_REORDER_ENTRY pReorderEntry = NULL;
> - struct ieee80211_rxb *prxbIndicateArray[REORDER_WIN_SIZE];
> + struct ieee80211_rxb **prxbIndicateArray;
> u8 WinSize = pHTInfo->RxReorderWinSize;
> u16 WinEnd = (pTS->RxIndicateSeq + WinSize -1)%4096;
> u8 index = 0;
> bool bMatchWinStart = false, bPktInBuf = false;
> IEEE80211_DEBUG(IEEE80211_DL_REORDER,"%s(): Seq is %d,pTS->RxIndicateSeq is %d, WinSize is %d\n",__func__,SeqNum,pTS->RxIndicateSeq,WinSize);
> +
> + prxbIndicateArray = kmalloc(sizeof(struct ieee80211_rxb *) *
> + REORDER_WIN_SIZE, GFP_KERNEL);
> + if (!prxbIndicateArray) {
> + IEEE80211_DEBUG(IEEE80211_DL_ERR,
> + "%s(): kmalloc prxbIndicateArray error\n",
> + __func__);
> + return;
> + }
> +
> /* Rx Reorder initialize condition.*/
> if (pTS->RxIndicateSeq == 0xffff) {
> pTS->RxIndicateSeq = SeqNum;
> --
> 2.5.2
>
This doesn't free the kmalloc'd array. Please ignore this. I'll send
another version of this patch.
Thanks
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Okash Khawaja <okash.khawaja@gmail.com> |
|---|---|
| Date | 2015-12-16 23:40 +0100 |
| Message-ID | <qGsTL-7Lk-1@gated-at.bofh.it> |
| In reply to | #1293366 |
This patch fixes following compiler warning:
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c: In function
‘RxReorderIndicatePacket’:
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c:758:1: warning: the
frame size of 1064 bytes is larger than 1024 bytes
[-Wframe-larger-than=]
It replaces the statically allocated array prxbIndicateArray with
a kmalloc'd one.
Signed-off-by: Okash Khawaja <okash.khawaja@gmail.com>
---
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
index 130c852..77eed52 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
@@ -594,12 +594,22 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
{
PRT_HIGH_THROUGHPUT pHTInfo = ieee->pHTInfo;
PRX_REORDER_ENTRY pReorderEntry = NULL;
- struct ieee80211_rxb *prxbIndicateArray[REORDER_WIN_SIZE];
+ struct ieee80211_rxb **prxbIndicateArray;
u8 WinSize = pHTInfo->RxReorderWinSize;
u16 WinEnd = (pTS->RxIndicateSeq + WinSize -1)%4096;
u8 index = 0;
bool bMatchWinStart = false, bPktInBuf = false;
IEEE80211_DEBUG(IEEE80211_DL_REORDER,"%s(): Seq is %d,pTS->RxIndicateSeq is %d, WinSize is %d\n",__func__,SeqNum,pTS->RxIndicateSeq,WinSize);
+
+ prxbIndicateArray = kmalloc(sizeof(struct ieee80211_rxb *) *
+ REORDER_WIN_SIZE, GFP_KERNEL);
+ if (!prxbIndicateArray) {
+ IEEE80211_DEBUG(IEEE80211_DL_ERR,
+ "%s(): kmalloc prxbIndicateArray error\n",
+ __func__);
+ return;
+ }
+
/* Rx Reorder initialize condition.*/
if (pTS->RxIndicateSeq == 0xffff) {
pTS->RxIndicateSeq = SeqNum;
@@ -618,6 +628,8 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
kfree(prxb);
prxb = NULL;
}
+
+ kfree(prxbIndicateArray);
return;
}
@@ -741,6 +753,7 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
// Indicate packets
if(index>REORDER_WIN_SIZE){
IEEE80211_DEBUG(IEEE80211_DL_ERR, "RxReorderIndicatePacket(): Rx Reorer buffer full!! \n");
+ kfree(prxbIndicateArray);
return;
}
ieee80211_indicate_packets(ieee, prxbIndicateArray, index);
--
2.5.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Dan Carpenter <dan.carpenter@oracle.com> |
|---|---|
| Date | 2015-12-17 12:10 +0100 |
| Message-ID | <qGEBB-70s-37@gated-at.bofh.it> |
| In reply to | #1293372 |
Put a v3 in the subject.
There are still paths where this is not freed, so we need a v4. Take
your time, there is no rush.
> drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c | 15 ++++++++++++++-
> 1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
> index 130c852..77eed52 100644
> --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
> +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
> @@ -594,12 +594,22 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
> {
> PRT_HIGH_THROUGHPUT pHTInfo = ieee->pHTInfo;
> PRX_REORDER_ENTRY pReorderEntry = NULL;
> - struct ieee80211_rxb *prxbIndicateArray[REORDER_WIN_SIZE];
> + struct ieee80211_rxb **prxbIndicateArray;
> u8 WinSize = pHTInfo->RxReorderWinSize;
> u16 WinEnd = (pTS->RxIndicateSeq + WinSize -1)%4096;
> u8 index = 0;
> bool bMatchWinStart = false, bPktInBuf = false;
> IEEE80211_DEBUG(IEEE80211_DL_REORDER,"%s(): Seq is %d,pTS->RxIndicateSeq is %d, WinSize is %d\n",__func__,SeqNum,pTS->RxIndicateSeq,WinSize);
> +
> + prxbIndicateArray = kmalloc(sizeof(struct ieee80211_rxb *) *
> + REORDER_WIN_SIZE, GFP_KERNEL);
> + if (!prxbIndicateArray) {
> + IEEE80211_DEBUG(IEEE80211_DL_ERR,
> + "%s(): kmalloc prxbIndicateArray error\n",
> + __func__);
Don't print an error if kmalloc() fails. kmalloc has its own message.
> + return;
> + }
regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Okash Khawaja <okash.khawaja@gmail.com> |
|---|---|
| Date | 2015-12-17 21:40 +0100 |
| Subject | [PATCH v4] staging: rtl8192u: fix large frame size compiler warning |
| Message-ID | <qGNvb-4lY-3@gated-at.bofh.it> |
| In reply to | #1293785 |
This patch fixes following compiler warning:
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c: In function
‘RxReorderIndicatePacket’:
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c:758:1: warning: the
frame size of 1064 bytes is larger than 1024 bytes
[-Wframe-larger-than=]
It replaces the statically allocated array prxbIndicateArray with
a kmalloc'd one.
Signed-off-by: Okash Khawaja <okash.khawaja@gmail.com>
---
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
index 130c852..28ad63a 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
@@ -594,12 +594,18 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
{
PRT_HIGH_THROUGHPUT pHTInfo = ieee->pHTInfo;
PRX_REORDER_ENTRY pReorderEntry = NULL;
- struct ieee80211_rxb *prxbIndicateArray[REORDER_WIN_SIZE];
+ struct ieee80211_rxb **prxbIndicateArray;
u8 WinSize = pHTInfo->RxReorderWinSize;
u16 WinEnd = (pTS->RxIndicateSeq + WinSize -1)%4096;
u8 index = 0;
bool bMatchWinStart = false, bPktInBuf = false;
IEEE80211_DEBUG(IEEE80211_DL_REORDER,"%s(): Seq is %d,pTS->RxIndicateSeq is %d, WinSize is %d\n",__func__,SeqNum,pTS->RxIndicateSeq,WinSize);
+
+ prxbIndicateArray = kmalloc(sizeof(struct ieee80211_rxb *) *
+ REORDER_WIN_SIZE, GFP_KERNEL);
+ if (!prxbIndicateArray)
+ return;
+
/* Rx Reorder initialize condition.*/
if (pTS->RxIndicateSeq == 0xffff) {
pTS->RxIndicateSeq = SeqNum;
@@ -618,6 +624,8 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
kfree(prxb);
prxb = NULL;
}
+
+ kfree(prxbIndicateArray);
return;
}
@@ -741,6 +749,7 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
// Indicate packets
if(index>REORDER_WIN_SIZE){
IEEE80211_DEBUG(IEEE80211_DL_ERR, "RxReorderIndicatePacket(): Rx Reorer buffer full!! \n");
+ kfree(prxbIndicateArray);
return;
}
ieee80211_indicate_packets(ieee, prxbIndicateArray, index);
@@ -755,6 +764,8 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
pTS->RxPktPendingTimer.expires = jiffies + MSECS(pHTInfo->RxReorderPendingTime);
add_timer(&pTS->RxPktPendingTimer);
}
+
+ kfree(prxbIndicateArray);
}
static u8 parse_subframe(struct sk_buff *skb,
--
2.5.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Okash Khawaja <okash.khawaja@gmail.com> |
|---|---|
| Date | 2015-12-22 13:50 +0100 |
| Subject | Re: [PATCH v4] staging: rtl8192u: fix large frame size compiler warning |
| Message-ID | <qIuy6-41F-7@gated-at.bofh.it> |
| In reply to | #1294253 |
On Thu, Dec 17, 2015 at 08:30:38PM +0000, Okash Khawaja wrote:
> This patch fixes following compiler warning:
>
> drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c: In function
> ‘RxReorderIndicatePacket’:
> drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c:758:1: warning: the
> frame size of 1064 bytes is larger than 1024 bytes
> [-Wframe-larger-than=]
>
> It replaces the statically allocated array prxbIndicateArray with
> a kmalloc'd one.
>
> Signed-off-by: Okash Khawaja <okash.khawaja@gmail.com>
> ---
> drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
> index 130c852..28ad63a 100644
> --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
> +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
> @@ -594,12 +594,18 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
> {
> PRT_HIGH_THROUGHPUT pHTInfo = ieee->pHTInfo;
> PRX_REORDER_ENTRY pReorderEntry = NULL;
> - struct ieee80211_rxb *prxbIndicateArray[REORDER_WIN_SIZE];
> + struct ieee80211_rxb **prxbIndicateArray;
> u8 WinSize = pHTInfo->RxReorderWinSize;
> u16 WinEnd = (pTS->RxIndicateSeq + WinSize -1)%4096;
> u8 index = 0;
> bool bMatchWinStart = false, bPktInBuf = false;
> IEEE80211_DEBUG(IEEE80211_DL_REORDER,"%s(): Seq is %d,pTS->RxIndicateSeq is %d, WinSize is %d\n",__func__,SeqNum,pTS->RxIndicateSeq,WinSize);
> +
> + prxbIndicateArray = kmalloc(sizeof(struct ieee80211_rxb *) *
> + REORDER_WIN_SIZE, GFP_KERNEL);
> + if (!prxbIndicateArray)
> + return;
> +
> /* Rx Reorder initialize condition.*/
> if (pTS->RxIndicateSeq == 0xffff) {
> pTS->RxIndicateSeq = SeqNum;
> @@ -618,6 +624,8 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
> kfree(prxb);
> prxb = NULL;
> }
> +
> + kfree(prxbIndicateArray);
> return;
> }
>
> @@ -741,6 +749,7 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
> // Indicate packets
> if(index>REORDER_WIN_SIZE){
> IEEE80211_DEBUG(IEEE80211_DL_ERR, "RxReorderIndicatePacket(): Rx Reorer buffer full!! \n");
> + kfree(prxbIndicateArray);
> return;
> }
> ieee80211_indicate_packets(ieee, prxbIndicateArray, index);
> @@ -755,6 +764,8 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
> pTS->RxPktPendingTimer.expires = jiffies + MSECS(pHTInfo->RxReorderPendingTime);
> add_timer(&pTS->RxPktPendingTimer);
> }
> +
> + kfree(prxbIndicateArray);
> }
>
> static u8 parse_subframe(struct sk_buff *skb,
> --
> 2.5.2
>
Hi,
Has a return path been missed out now?
Thanks,
Okash
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Dan Carpenter <dan.carpenter@oracle.com> |
|---|---|
| Date | 2015-12-22 14:30 +0100 |
| Subject | Re: [PATCH v4] staging: rtl8192u: fix large frame size compiler warning |
| Message-ID | <qIvaO-4uK-15@gated-at.bofh.it> |
| In reply to | #1296767 |
Looks ok. Greg is working through his inbox. It will take a little while for him to get to your patch. Be patient. regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web