User Tools

Site Tools


lkmp:lkmp_task_list

This is an old revision of the document!


Linux Kernel Mentorship Task List

Documentation conversion and updates

The following directories have several .txt file. Please pick 2 files and convert to ReST. There are a few exceptions that should be kept as plain text files.

  • a configuration file whose extension is .txt;
  • a dump of chapter extracted from an old arch-specific manual with seems to be provided by its manufacturer.

Preparing to build the documentation:

There's a script with checks if you have all needed dependencies to build the documentation. It is called automatically when you run make htmldocs. Alternatively, you can call the script directly with:

./scripts/sphinx-pre-install 

Building docs and looking for warns:

Once you have all the requirements, you can do the building with:

make htmldocs > doc_make.log 2>&1

And check the warnings with the following script.

#!/bin/bash
#
# SPDX-License-Identifier: GPL-2.0
#
# Copyright(c) Shuah Khan <skhan@linuxfoundation.org>
# License: GPLv2
#
# Generates wiki format table of task list from Document
# build log
# Usage: gen_doc_task_list.sh <doc_build_log_file>

# Print Table header
echo "| **Task** | **Description** | **Owner** | **Status** | **Commit ID** |"
for f in `egrep "warn|WARN|error|ERROR" $1 | \
        egrep ".c:|.h:|.rst:" | \
        awk -F: '{print $1}' | awk '!a[$0]++' | \
        sed -e "s/^.\///" | sed -e "s/^\/mnt\/data\/lkml\/linux_5.3\///"`
do
        echo "| $f | Fix warns | | | |"
done

Documentation build warn tasks (generated on Linux 5.3.0)

Before starting work on a task, please check the archive first to see if a patch is already in progress. Please avoid duplicated efforts. Liunx Kernel Mentees Archive. Send email to the list informing others that you are working on the task.

Task Description Owner Status Commit ID
lib/genalloc.c Fix warns
include/linux/i2c.h Fix warns
include/linux/regulator/machine.h Fix warns
include/linux/regulator/driver.h Fix warns
include/net/cfg80211.h Fix warns
include/linux/input/sparse-keymap.h Fix warns
mm/util.c Fix warns
mm/slab.c Fix warns
include/linux/spi/spi.h Fix warns
drivers/usb/typec/bus.c Fix warns
drivers/usb/typec/class.c Fix warns
include/net/mac80211.h Fix warns
include/linux/w1.h Fix warns
drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c Fix warns
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c Fix warns
drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c Fix warns
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c Fix warns
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c Fix warns
drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c Fix warns
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h Fix warns
fs/direct-io.c Fix warns
fs/libfs.c Fix warns
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c Fix warns
fs/posix_acl.c Fix warns
include/drm/drm_drv.h Fix warns
include/drm/drm_modeset_helper_vtables.h Fix warns
include/drm/drm_atomic_state_helper.h Fix warns
drivers/gpu/drm/mcde/mcde_drv.c Fix warns
include/linux/skbuff.h Fix warns
include/net/sock.h Fix warns
include/linux/netdevice.h Fix warns
include/linux/lsm_hooks.h Fix warns
include/linux/phylink.h Fix warns
drivers/net/phy/phylink.c Fix warns
Documentation/admin-guide/xfs.rst Fix warns
include/uapi/linux/firewire-cdev.h Fix warns
drivers/firewire/core-transaction.c Fix warns
drivers/ata/libata-core.c Fix warns
drivers/message/fusion/mptbase.c Fix warns
drivers/tty/serial/serial_core.c Fix warns
fs/seq_file.c Fix warns
fs/debugfs/inode.c Fix warns
fs/debugfs/file.c Fix warns
Documentation/index.rst Fix warns
Documentation/kbuild/makefiles.rst Fix warns
include/linux/xarray.h Fix warns
Documentation/crypto/crypto_engine.rst Fix warns
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c Fix warns
include/drm/drm_connector.h Fix warns
Documentation/trace/kprobetrace.rst Fix warns
net/core/dev.c Fix warns
Documentation/security/keys/core.rst Fix warns
Documentation/translations/it_IT/process/maintainer-pgp-guide.rst Fix warns
Documentation/translations/it_IT/process/programming-language.rst Fix warns
Documentation/virt/index.rst Fix warns
include/linux/slab.h Fix warns
Documentation/gpu/drm-internals.rst Fix warns

Cleanup cppcheck errors

Shifting signed 32-bit value by 31 bits is undefined behaviour errors

These errors aren't real problems for us as compiler takes care of these. However, cleaning these up doesn't hurt, especially in public API headers. Some maintainers might like drivers fixed, on the other hand fixing public API headers first is a good idea. There are two ways to fix this:

  • Change #define FOO (1 « 31) to #define FOO BIT(31) or
  • Adding a “U” cast - changing (1 « 31) to (1U « 31)

cd git_repo_dir

cppcheck –force ./ > cppcheck.out 2>&1

You can run cppcheck on one or more files by passing a list of files: cppcheck –file-list=files

Grep for “Shifting signed 32-bit value by 31 bits is undefined behaviour” errors

You can refer to the one I generated on Linux 5.2-rc3 cppcheck 32-bit log

Linux 5.2-rc3 cppcheck full log

Defines in public headers - include/

File Define Status

Uninitialized variable errors/warns

Grep for Uninitialized variable errors and send fixes in. Make sure the error is real and not a false. Check to see if it is used before initializing.

lkmp/lkmp_task_list.1571253664.txt.gz · Last modified: 2019/10/16 19:21 by ShuahKhanLF