This is an old revision of the document!
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.
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 # # 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
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 |
Callers of hrtimer_forward_now() should save the return value in u64. A few callers don't. Fix them.
Name | Description | File | Status |
cx88_ir_work() | missed is unsigned long | drivers/media/pci/cx88/cx88-input.c | Open |
rtc_pie_update_irq() | count is int | drivers/rtc/interface.c | Open |
sched_cfs_period_timer() | overrun is int | kernel/sched/fair.c | Open |
sched_rt_period_timer() | overrun is int | kernel/sched/rt.c | Open |
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:
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 |
uapi/linux/cramfs_fs.h | CRAMFS_BLK_FLAG_UNCOMPRESSED | Patch sent |
uapi/linux/ethtool.h | RXH_DISCARD | Patch sent |
uapi/linux/if_packet.h | TP_STATUS_TS_RAW_HARDWARE | Fixed |
uapi/linux/kfd_ioctl.h | KFD_IOC_ALLOC_MEM_FLAGS_WRITABLE | Patch sent |
uapi/linux/media.h | MEDIA_ID_FLAG_NEXT | Fixed Patch Sent - use as reference |
uapi/linux/nl80211.h | NL80211_FEATURE_ND_RANDOM_MAC_ADDR | Patch sent |
uapi/linux/vfio.h | VFIO_REGION_TYPE_PCI_VENDOR_TYPE | Open |
linux/videodev2.h | v4l2_fourcc_be | Fixed Patch sent - use as reference |
uapi/drm/exynos_drm.h | G2D_BUF_USERPTR | Open |
uapi/rdma/vmw_pvrdma-abi.h | PVRDMA_UAR_QP_RECV | Open |
uapi/rdma/vmw_pvrdma-abi.h | PVRDMA_UAR_CQ_POLL | Open |
linux/ata.h | ATA_PRD_EOT | Open |
linux/cs5535.h | CS5536_GPIOM7_PME_FLAG | Open |
linux/cs5535.h | CS5536_GPIOM7_PME_EN | Open |
linux/ide.h | IDE_DFLAG_NIEN_QUIRK | Open |
linux/ide.h | IDE_HFLAG_NO_UNMASK_IRQS | Open |
linux/pxa2xx_ssp.h | SSCR0_MOD | Open |
linux/pxa2xx_ssp.h | SSCR1_TTELP | Open |
linux/rtsx_pci.h | TRIG_DMA | Open |
linux/rtsx_pci.h | HAIMR_TRANS_START | Open |
linux/rtsx_pci.h | CMD_DONE_INT | Open |
linux/rtsx_pci.h | CMD_DONE_INT_EN | Open |
linux/serial_core.h | UPF_IOREMAP | Open |
media/dvb_frontend.h | DVBFE_ALGO_RECOVERY | Open |
media/dvb_frontend.h | DVBFE_ALGO_SEARCH_ERROR | Open |
net/dst.h | DST_FEATURE_ECN_CA (1 « 31) | Fixed |
net/gue.h | GUE_PFLAG_REMCSUM | Fixed |
rdma/ib_verbs.h | IB_QP_CREATE_RESERVED_END | Open |
rdma/ib_verbs.h | IB_SEND_RESERVED_END | Open |
video/atmel_lcdc.h | ATMEL_LCDC_MEMOR | Open |
video/atmel_lcdc.h | ATMEL_LCDC_MEMOR_LITTLE | Open |
video/pm3fb.h | PM3PixelSize_INDIVIDUAL | Open |
video/pm3fb.h | PM3Render2D_TextureEnable | Open |
video/radeon.h | RB2D_DC_BUSY | Open |
video/radeon.h | HORZ_AUTO_RATIO_INC | Open |
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.