lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20210210220846.GC124276@x1>
Date:   Wed, 10 Feb 2021 22:08:46 +0000
From:   Lee Jones <lee.jones@...aro.org>
To:     Jason Gunthorpe <jgg@...dia.com>
Cc:     Stephen Rothwell <sfr@...b.auug.org.au>,
        Doug Ledford <dledford@...hat.com>,
        Leon Romanovsky <leonro@...dia.com>,
        Parav Pandit <parav@...dia.com>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Linux Next Mailing List <linux-next@...r.kernel.org>
Subject: Re: linux-next: build warning after merge of the rdma tree

On Wed, 10 Feb 2021, Jason Gunthorpe wrote:

> On Wed, Feb 10, 2021 at 09:11:49PM +1100, Stephen Rothwell wrote:
> > Hi all,
> > 
> > After merging the rdma tree, today's linux-next build (htmldocs) produced
> > this warning:
> > 
> > drivers/infiniband/core/device.c:859: warning: Function parameter or member 'dev' not described in 'ib_port_immutable_read'
> > drivers/infiniband/core/device.c:859: warning: Function parameter or member 'port' not described in 'ib_port_immutable_read'
> > 
> > Introduced by commit
> > 
> >   7416790e2245 ("RDMA/core: Introduce and use API to read port immutable data")
> 
> drivers/infinband is W=1 clean right now in linux-next
> 
> But how can I build *only* drivers/infiniband using W=1 so I can keep
> it that way?
> 
> The rest of the kernel is not clean and creates too much warning noise
> to be usable, even with my mini config.
> 
> Just doing a 'make W=1 drivers/infiniband' is sort of OK, but then I
> end up compiling things twice
> 
> Does anyone know a good solution?

I have 2 solutions that I use;

When building locally, I have a special flag for testing branches I
maintain.  The flag indicates that the output should be passed through
a parsing script which highlights entries I care about.  The script
handles lots of other options such as building for different
architectures, running smatch and sparse, etc, but the bit you might
care about goes something like this:

 eval $make $makeoptions $extraoptions $flagoptions $diroptions 2>&1 | (\
 while read line; do
     if echo $line | grep -i "${DIRSGREP}" > /dev/null; then
         print_red "$line" >&2;
     else
         echo $line;
     fi
 done) | tail

This hides almost all output that I don't care about and highlights
the information that is of interest to me in red.

Another solution is to use a builder (I personally use Tuxsuite) to
run 70 different builds (architectures/configs) on *both* a common
base (latest -next, kernel release, stable release, etc) and the head
of the branch I care about and compare the two.  Tuxsuite is nice
since it returns a JSON file with all of the results, so comparison
becomes trivial.

Output of a failed build might look like this:

 $ build-test stable v4.9.257                    # where v4.9.257 is the common base
 Using Tuxbuild to compare build failures/warnings
  
 Tuxbuild the base [v4.9.257] 
 Total 0 (delta 0), reused 0 (delta 0)
 To [remote_repo]/linux.git
  * [new tag]                   tuxbuild-to-test-1414 -> tuxbuild-to-test-1414
 Tuxbuild the current branch [tb-some-topic-branch]
 Total 0 (delta 0), reused 0 (delta 0)
 To [remote_repo]/linux.git
  * [new tag]                   tuxbuild-to-test-1415 -> tuxbuild-to-test-1415
 Waiting for child processes to finish 
 Evaluating the results 
 
 Errors were caused
  
 [v4.9.257] tb-some-topic-branch c18034406e3b ("subsystem: Descriptive commit message")

  arc axs101_defconfig gcc-9
      https://builds.tuxbuild.com/1oIa24eac9ANKJLLMBDgP6zwE5d/ 	 Pass (0 errors - 0 warnings) : v4.9.257
      https://builds.tuxbuild.com/1oIa4WZ1jw4tJtt3mLqTNiX4C1a/ 	 Fail (6 errors - 3 warnings) : tb-some-topic-branch 

  arm allmodconfig gcc-8
      https://builds.tuxbuild.com/1oIa21QYn23XxgnDKUh9as5Pgvc/ 	 Pass (0 errors - 0 warnings) : v4.9.257
      https://builds.tuxbuild.com/1oIa4YT8nEIjaFOaFLuRVId2D7I/ 	 Fail (0 errors - 9 warnings) : tb-some-topic-branch 

  arm64 defconfig gcc-9
      https://builds.tuxbuild.com/1oIa2AR63BljDuvKHKet8Qqga7L/ 	 Pass (1 errors - 3 warnings) : v4.9.257
      https://builds.tuxbuild.com/1oIa4biSryBYrj4JoZlRGpgx8AF/ 	 Fail (2 errors - 8 warnings) : tb-some-topic-branch 

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ