From mboxrd@z Thu Jan 1 00:00:00 1970 From: valdis.kletnieks@vt.edu (valdis.kletnieks at vt.edu) Date: Wed, 12 Sep 2018 13:53:06 -0400 Subject: regarding const variables/structures In-Reply-To: References: <20180912070838.GA7684@osadl.at> Message-ID: <30532.1536774786@turing-police.cc.vt.edu> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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: