regarding const variables/structures

valdis.kletnieks at vt.edu valdis.kletnieks at vt.edu
Wed Sep 12 13:53:06 EDT 2018


On Wed, 12 Sep 2018 22:40:50 +0530, inventsekar said:

> So, please suggest some subsystems or some small puedes of code, where i
> can "dwell" sometimes and submit my first patch.

0) subsystems?  Anything under drivers/staging is fair game and certain to
provide hours of amusement...

1) Install sparse
2) Get yourself a linux-next tree (so you don't submit fixes for already fixed stuff)

$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
$ cd linux
$ git remote add linux-next git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
$ git fetch linux-next
$ git fetch --tags linux-next

If you want to update it later, do *not* use 'git pull'. Due to the way
linux-next is rebased every day, doing that will result in a Lovecraftian horror....

$ git remote update
$ git checkout next-20180911   (or whatever)

3) (optional)  Add the following patch to the top level Makefile:

diff --git a/Makefile b/Makefile
index 9e71826f67d7..f28b2ab9c369 100644
--- a/Makefile
+++ b/Makefile
@@ -434,6 +434,7 @@ KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
 		   -Werror-implicit-function-declaration \
 		   -Wno-format-security \
 		   -std=gnu89
+KBUILD_CFLAGS   +=  -Wimplicit-fallthrough=2 -Wvla
 KBUILD_CPPFLAGS := -D__KERNEL__
 KBUILD_AFLAGS_KERNEL :=
 KBUILD_CFLAGS_KERNEL :=

4) Figure out why I said (3)  (There's an actual reason for that)

5) Build your kernel, running sparse on the code before compiling with extra
warnings:

$ make C=2 W=1 |& tee build.output

6) Start looking at the output.  Note however that sparse and gcc
sometimes throw warnings for perfectly good code, so do *not*
submit random "shut up warning" patches.  Verify the warning is
in fact correct, *then* submit the patch.

If you get ambitious, find out what Coverty and Trinity are, and other similar
tools.  If you use Trinity, remember to always mount a scratch monkey. :)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 486 bytes
Desc: not available
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20180912/bec7a3ce/attachment.sig>


More information about the Kernelnewbies mailing list