This is an old revision of the document!
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 | Open |
uapi/linux/ethtool.h | RXH_DISCARD | Open |
uapi/linux/if_packet.h | TP_STATUS_TS_RAW_HARDWARE | Open |
uapi/linux/kfd_ioctl.h | KFD_IOC_ALLOC_MEM_FLAGS_WRITABLE | Open |
uapi/linux/media.h | MEDIA_ID_FLAG_NEXT | Patch Sent - use as reference |
uapi/linux/nl80211.h | NL80211_FEATURE_ND_RANDOM_MAC_ADDR | Open |
uapi/linux/vfio.h | VFIO_REGION_TYPE_PCI_VENDOR_TYPE | Open |
linux/videodev2.h | v4l2_fourcc_be | 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) | Open |
net/gue.h | GUE_PFLAG_REMCSUM | Open |
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.