On Tue, Jan 28, 2025 at 04:02:27PM +0100, David Marchand wrote:
> Hi,
> 
> On Mon, Jan 20, 2025 at 12:27 PM WanRenyong <wa...@yunsilicon.com> wrote:
> >
> > When executes the check_packed_attributes function in checkpatch,
> > if __rte_packed_begin or __rte_packed_end appear in the context
> > of a patch file, there may be a situation where the counts of
> > __rte_packed_begin and __rte_packed_end do not match, causing
> > checkpatch to return a failure.
> > This patch fixes this issue by only counting the lines in the
> > patch file that start with a + and include either
> > __rte_packed_begin or __rte_packed_end.
> >
> > Signed-off-by: WanRenyong <wa...@yunsilicon.com>
> 
> Thanks for proposing this fix.
> 
> When sending such fixes, don't forget to add a Fixes: and Cc:
> author/maintainers by using --cc-cmd devtools/get-maintainers.sh
> 
> 
> Adding Akhil, André and Thomas in the loop.
> 
> I also had some concern about the check:
> https://inbox.dpdk.org/dev/CAJFAV8w=s1L-WYk+Qv-B+Mn6eAwKrB=GTz6hU--ZoLrJsz7=d...@mail.gmail.com/
> 
> But I merged the check untouched as nobody else seemed to object.
> Checkpatch warnings are known to have false positive and such false
> positives are "filtered" by subtree maintainers.
> 
> 
> > ---
> >  devtools/checkpatches.sh | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/devtools/checkpatches.sh b/devtools/checkpatches.sh
> > index 003bb49e04..2e228b7f92 100755
> > --- a/devtools/checkpatches.sh
> > +++ b/devtools/checkpatches.sh
> > @@ -384,8 +384,8 @@ check_packed_attributes() { # <patch>
> >                 res=1
> >         fi
> >
> > -       begin_count=$(grep '__rte_packed_begin' "$1" | wc -l)
> > -       end_count=$(grep '__rte_packed_end' "$1" | wc -l)
> > +       begin_count=$(grep -E '^\+.*__rte_packed_begin' "$1" | wc -l)
> > +       end_count=$(grep -E '^\+.*__rte_packed_end' "$1" | wc -l)
> >         if [ $begin_count != $end_count ]; then
> >                 echo "__rte_packed_begin and __rte_packed_end should always 
> > be used in pairs."
> >                 res=1
> 
> I don't think this change is any better.
> 
> There is a good chance that a patch touching just a first line of a
> structure definition won't come along a line touching the last line of
> the struct.
> My suggestion (if we want to avoid those non useful warning) would be
> to just remove the counting stuff in the check.
> 
> Opinions?
> 
> 
> -- 
> David Marchand
Yes, it was known that false positives could happen, as is the case with many 
other checks used today. While I was working on the patchset that added this 
new check it helped me identify some issues with my changes. I feel I benefited 
from this check at that time, but if people feel that it is causing more harm 
than good, I am not opposed to having it removed.

Reply via email to