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