diff mbox series

gve: Fix the size used in a 'dma_free_coherent()' call

Message ID 20200802141523.691565-1-christophe.jaillet@wanadoo.fr
State Changes Requested
Delegated to: David Miller
Headers show
Series gve: Fix the size used in a 'dma_free_coherent()' call | expand

Commit Message

Christophe JAILLET Aug. 2, 2020, 2:15 p.m. UTC
Update the size used in 'dma_free_coherent()' in order to match the one
used in the corresponding 'dma_alloc_coherent()'.

Fixes: 893ce44df5 ("gve: Add basic driver framework for Compute Engine Virtual NIC")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 drivers/net/ethernet/google/gve/gve_adminq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jakub Kicinski Aug. 3, 2020, 3:41 p.m. UTC | #1
On Sun,  2 Aug 2020 16:15:23 +0200 Christophe JAILLET wrote:
> Update the size used in 'dma_free_coherent()' in order to match the one
> used in the corresponding 'dma_alloc_coherent()'.
> 
> Fixes: 893ce44df5 ("gve: Add basic driver framework for Compute Engine Virtual NIC")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

Fixes tag: Fixes: 893ce44df5 ("gve: Add basic driver framework for Compute Engine Virtual NIC")
Has these problem(s):
	- SHA1 should be at least 12 digits long
	  Can be fixed by setting core.abbrev to 12 (or more) or (for git v2.11
	  or later) just making sure it is not set (or set to "auto").
Christophe JAILLET Aug. 3, 2020, 7:19 p.m. UTC | #2
Le 03/08/2020 à 17:41, Jakub Kicinski a écrit :
> On Sun,  2 Aug 2020 16:15:23 +0200 Christophe JAILLET wrote:
>> Update the size used in 'dma_free_coherent()' in order to match the one
>> used in the corresponding 'dma_alloc_coherent()'.
>>
>> Fixes: 893ce44df5 ("gve: Add basic driver framework for Compute Engine Virtual NIC")
>> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> 
> Fixes tag: Fixes: 893ce44df5 ("gve: Add basic driver framework for Compute Engine Virtual NIC")
> Has these problem(s):
> 	- SHA1 should be at least 12 digits long
> 	  Can be fixed by setting core.abbrev to 12 (or more) or (for git v2.11
> 	  or later) just making sure it is not set (or set to "auto").
> 

Hi,

I have git 2.25.1 and core.abbrev is already 12, both in my global 
.gitconfig and in the specific .git/gitconfig of my repo.

I would have expected checkpatch to catch this kind of small issue.
Unless I do something wrong, it doesn't.

Joe, does it make sense to you and would one of the following patch help?

If I understand the regex correctly, I guess that checkpatch should 
already spot such things. If correct, proposal 1 fix a bug.
If I'm wrong, proposal 2 adds a new test.

CJ



Proposal #1 : find what looks like a commit number, with 5+ char 
(instead of 12+), before looking if it is looks like a standard layout 
with expected length
===========
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index cc5542cc234f..f42b6a65f5c1 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2828,7 +2828,7 @@ sub process {
                     $line !~ 
/^\s*(?:Link|Patchwork|http|https|BugLink|base-commit):/i &&
                     $line !~ /^This reverts commit [0-9a-f]{7,40}/ &&
                     ($line =~ /\bcommit\s+[0-9a-f]{5,}\b/i ||
-                    ($line =~ /(?:\s|^)[0-9a-f]{12,40}(?:[\s"'\(\[]|$)/i &&
+                    ($line =~ /(?:\s|^)[0-9a-f]{5,40}(?:[\s"'\(\[]|$)/i &&
                       $line !~ /[\<\[][0-9a-f]{12,40}[\>\]]/i &&
                       $line !~ /\bfixes:\s*[0-9a-f]{12,40}/i))) {
                         my $init_char = "c";




Proposal #2 : add a specific and explicit check
===========
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index cc5542cc234f..13ecfbd38af3 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2989,6 +2989,12 @@ sub process {
                         }
                 }

+# check for too short commit id
+               if ($in_commit_log && $line =~ 
/(^fixes:|\bcommit)\s+([0-9a-f]{0,11})\b/i) {
+                               WARN("TOO_SHORT_COMMIT_ID",
+                                    "\"$1\" tag should be at least 12 
chars long. $2 is only " . length($2) . " long\n" . $herecurr);
+               }
+
  # ignore non-hunk lines and lines being removed
                 next if (!$hunk_line || $line =~ /^-/);
Joe Perches Aug. 3, 2020, 7:35 p.m. UTC | #3
On Mon, 2020-08-03 at 21:19 +0200, Christophe JAILLET wrote:
> Le 03/08/2020 à 17:41, Jakub Kicinski a écrit :
> > On Sun,  2 Aug 2020 16:15:23 +0200 Christophe JAILLET wrote:
> > > Update the size used in 'dma_free_coherent()' in order to match the one
> > > used in the corresponding 'dma_alloc_coherent()'.
> > > 
> > > Fixes: 893ce44df5 ("gve: Add basic driver framework for Compute Engine Virtual NIC")
> > > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> > 
> > Fixes tag: Fixes: 893ce44df5 ("gve: Add basic driver framework for Compute Engine Virtual NIC")
> > Has these problem(s):
> > 	- SHA1 should be at least 12 digits long
> > 	  Can be fixed by setting core.abbrev to 12 (or more) or (for git v2.11
> > 	  or later) just making sure it is not set (or set to "auto").
> > 
> 
> Hi,
> 
> I have git 2.25.1 and core.abbrev is already 12, both in my global 
> .gitconfig and in the specific .git/gitconfig of my repo.
> 
> I would have expected checkpatch to catch this kind of small issue.
> Unless I do something wrong, it doesn't.
> 
> Joe, does it make sense to you and would one of the following patch help?

18 months ago I sent:

https://lore.kernel.org/lkml/40bfc40958fca6e2cc9b86101153aa0715fac4f7.camel@perches.com/
Christophe JAILLET Aug. 3, 2020, 7:50 p.m. UTC | #4
Le 03/08/2020 à 21:35, Joe Perches a écrit :
> On Mon, 2020-08-03 at 21:19 +0200, Christophe JAILLET wrote:
>> Le 03/08/2020 à 17:41, Jakub Kicinski a écrit :
>>> On Sun,  2 Aug 2020 16:15:23 +0200 Christophe JAILLET wrote:
>>>> Update the size used in 'dma_free_coherent()' in order to match the one
>>>> used in the corresponding 'dma_alloc_coherent()'.
>>>>
>>>> Fixes: 893ce44df5 ("gve: Add basic driver framework for Compute Engine Virtual NIC")
>>>> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
>>>
>>> Fixes tag: Fixes: 893ce44df5 ("gve: Add basic driver framework for Compute Engine Virtual NIC")
>>> Has these problem(s):
>>> 	- SHA1 should be at least 12 digits long
>>> 	  Can be fixed by setting core.abbrev to 12 (or more) or (for git v2.11
>>> 	  or later) just making sure it is not set (or set to "auto").
>>>
>>
>> Hi,
>>
>> I have git 2.25.1 and core.abbrev is already 12, both in my global
>> .gitconfig and in the specific .git/gitconfig of my repo.
>>
>> I would have expected checkpatch to catch this kind of small issue.
>> Unless I do something wrong, it doesn't.
>>
>> Joe, does it make sense to you and would one of the following patch help?
> 
> 18 months ago I sent:
> 
> https://lore.kernel.org/lkml/40bfc40958fca6e2cc9b86101153aa0715fac4f7.camel@perches.com/
> 
> 
> 

Looks like the same spirit.
I've not tested, but doesn't the:
    ($line =~ /(?:\s|^)[0-9a-f]{12,40}(?:[\s"'\(\[]|$)/i &&
at the top short cut the rest of the regex?

I read it as "the line should have something that looks like a commit id 
of 12+ char to process further".

So smaller commit id would not be checked.
Did I miss something?


Basically, my proposal is to replace this 12 by a 5 in order to accept 
smaller strings before checking if it looks well formatted or not.

CJ
Willem de Bruijn Aug. 4, 2020, 7:16 a.m. UTC | #5
On Mon, Aug 3, 2020 at 9:50 PM Christophe JAILLET
<christophe.jaillet@wanadoo.fr> wrote:
>
> Le 03/08/2020 à 21:35, Joe Perches a écrit :
> > On Mon, 2020-08-03 at 21:19 +0200, Christophe JAILLET wrote:
> >> Le 03/08/2020 à 17:41, Jakub Kicinski a écrit :
> >>> On Sun,  2 Aug 2020 16:15:23 +0200 Christophe JAILLET wrote:
> >>>> Update the size used in 'dma_free_coherent()' in order to match the one
> >>>> used in the corresponding 'dma_alloc_coherent()'.
> >>>>
> >>>> Fixes: 893ce44df5 ("gve: Add basic driver framework for Compute Engine Virtual NIC")
> >>>> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> >>>
> >>> Fixes tag: Fixes: 893ce44df5 ("gve: Add basic driver framework for Compute Engine Virtual NIC")
> >>> Has these problem(s):
> >>>     - SHA1 should be at least 12 digits long
> >>>       Can be fixed by setting core.abbrev to 12 (or more) or (for git v2.11
> >>>       or later) just making sure it is not set (or set to "auto").
> >>>
> >>
> >> Hi,
> >>
> >> I have git 2.25.1 and core.abbrev is already 12, both in my global
> >> .gitconfig and in the specific .git/gitconfig of my repo.
> >>
> >> I would have expected checkpatch to catch this kind of small issue.
> >> Unless I do something wrong, it doesn't.
> >>
> >> Joe, does it make sense to you and would one of the following patch help?
> >
> > 18 months ago I sent:
> >
> > https://lore.kernel.org/lkml/40bfc40958fca6e2cc9b86101153aa0715fac4f7.camel@perches.com/
> >
> >
> >
>
> Looks like the same spirit.
> I've not tested, but doesn't the:
>     ($line =~ /(?:\s|^)[0-9a-f]{12,40}(?:[\s"'\(\[]|$)/i &&
> at the top short cut the rest of the regex?
>
> I read it as "the line should have something that looks like a commit id
> of 12+ char to process further".
>
> So smaller commit id would not be checked.
> Did I miss something?
>
>
> Basically, my proposal is to replace this 12 by a 5 in order to accept
> smaller strings before checking if it looks well formatted or not.

My attempt from a few years ago: https://lore.kernel.org/patchwork/patch/911726/
diff mbox series

Patch

diff --git a/drivers/net/ethernet/google/gve/gve_adminq.c b/drivers/net/ethernet/google/gve/gve_adminq.c
index c3ba7baf0107..883e173f5ca0 100644
--- a/drivers/net/ethernet/google/gve/gve_adminq.c
+++ b/drivers/net/ethernet/google/gve/gve_adminq.c
@@ -322,7 +322,7 @@  int gve_adminq_describe_device(struct gve_priv *priv)
 	priv->default_num_queues = be16_to_cpu(descriptor->default_num_queues);
 
 free_device_descriptor:
-	dma_free_coherent(&priv->pdev->dev, sizeof(*descriptor), descriptor,
+	dma_free_coherent(&priv->pdev->dev, PAGE_SIZE, descriptor,
 			  descriptor_bus);
 	return err;
 }