All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/16] Remove uninitialized_var() macro
@ 2020-06-20  3:29 Kees Cook
  2020-06-20  3:29 ` [PATCH v2 01/16] docs: deprecated.rst: Add uninitialized_var() Kees Cook
                   ` (16 more replies)
  0 siblings, 17 replies; 65+ messages in thread
From: Kees Cook @ 2020-06-20  3:29 UTC (permalink / raw)
  To: linux-kernel
  Cc: Kees Cook, Linus Torvalds, Miguel Ojeda, Alexander Potapenko,
	Joe Perches, Andy Whitcroft, x86, drbd-dev, linux-block, b43-dev,
	netdev, linux-doc, linux-wireless, linux-ide, linux-clk,
	linux-spi, linux-mm, clang-built-linux

v2:
- more special-cased fixes
- add reviews
v1: https://lore.kernel.org/lkml/20200603233203.1695403-1-keescook@chromium.org

Using uninitialized_var() is dangerous as it papers over real bugs[1]
(or can in the future), and suppresses unrelated compiler warnings
(e.g. "unused variable"). If the compiler thinks it is uninitialized,
either simply initialize the variable or make compiler changes.

As recommended[2] by[3] Linus[4], remove the macro.

Most of the 300 uses don't cause any warnings on gcc 9.3.0, so they're in
a single treewide commit in this series. A few others needed to actually
get cleaned up, and I broke those out into individual patches.

The tree is:
https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/log/?h=kspp/uninit/macro

-Kees

[1] https://lore.kernel.org/lkml/20200603174714.192027-1-glider@google.com/
[2] https://lore.kernel.org/lkml/CA+55aFw+Vbj0i=1TGqCR5vQkCzWJ0QxK6CernOU6eedsudAixw@mail.gmail.com/
[3] https://lore.kernel.org/lkml/CA+55aFwgbgqhbp1fkxvRKEpzyR5J8n1vKT1VZdz9knmPuXhOeg@mail.gmail.com/
[4] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@mail.gmail.com/

Jason Yan (1):
  f2fs: Eliminate usage of uninitialized_var() macro

Kees Cook (15):
  docs: deprecated.rst: Add uninitialized_var()
  x86/mm/numa: Remove uninitialized_var() usage
  drbd: Remove uninitialized_var() usage
  b43: Remove uninitialized_var() usage
  rtlwifi: rtl8192cu: Remove uninitialized_var() usage
  ide: Remove uninitialized_var() usage
  clk: st: Remove uninitialized_var() usage
  spi: davinci: Remove uninitialized_var() usage
  clk: spear: Remove uninitialized_var() usage
  KVM: PPC: Book3S PR: Remove uninitialized_var() usage
  media: sur40: Remove uninitialized_var() usage
  checkpatch: Remove awareness of uninitialized_var() macro
  treewide: Remove uninitialized_var() usage
  compiler: Remove uninitialized_var() macro
  mm/debug_vm_pgtable: Remove uninitialized_var() usage

 Documentation/process/deprecated.rst           | 18 ++++++++++++++++++
 arch/arm/mach-sa1100/assabet.c                 |  2 +-
 arch/arm/mm/alignment.c                        |  2 +-
 arch/ia64/kernel/process.c                     |  2 +-
 arch/ia64/mm/discontig.c                       |  2 +-
 arch/ia64/mm/tlb.c                             |  2 +-
 arch/mips/lib/dump_tlb.c                       |  2 +-
 arch/mips/mm/init.c                            |  2 +-
 arch/mips/mm/tlb-r4k.c                         |  6 +++---
 arch/powerpc/kvm/book3s_64_mmu_radix.c         |  2 +-
 arch/powerpc/kvm/book3s_pr.c                   |  3 ---
 arch/powerpc/kvm/powerpc.c                     |  2 +-
 arch/powerpc/platforms/52xx/mpc52xx_pic.c      |  2 +-
 arch/s390/kernel/smp.c                         |  2 +-
 arch/x86/kernel/quirks.c                       | 10 +++++-----
 arch/x86/kvm/mmu/mmu.c                         |  2 +-
 arch/x86/kvm/mmu/paging_tmpl.h                 |  2 +-
 arch/x86/kvm/x86.c                             |  2 +-
 arch/x86/mm/numa.c                             | 18 +++++++++---------
 block/blk-merge.c                              |  2 +-
 drivers/acpi/acpi_pad.c                        |  2 +-
 drivers/ata/libata-scsi.c                      |  2 +-
 drivers/atm/zatm.c                             |  2 +-
 drivers/block/drbd/drbd_nl.c                   |  6 +++---
 drivers/block/drbd/drbd_state.c                |  2 +-
 drivers/block/rbd.c                            |  2 +-
 drivers/clk/clk-gate.c                         |  2 +-
 drivers/clk/spear/clk-vco-pll.c                |  2 +-
 drivers/clk/st/clkgen-fsyn.c                   |  1 -
 drivers/firewire/ohci.c                        | 14 +++++++-------
 drivers/gpu/drm/bridge/sil-sii8620.c           |  2 +-
 drivers/gpu/drm/drm_edid.c                     |  2 +-
 drivers/gpu/drm/exynos/exynos_drm_dsi.c        |  6 +++---
 drivers/gpu/drm/i915/display/intel_fbc.c       |  2 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c            |  2 +-
 drivers/gpu/drm/i915/intel_uncore.c            |  2 +-
 .../gpu/drm/rockchip/dw-mipi-dsi-rockchip.c    |  4 ++--
 drivers/i2c/busses/i2c-rk3x.c                  |  2 +-
 drivers/ide/ide-acpi.c                         |  2 +-
 drivers/ide/ide-atapi.c                        |  2 +-
 drivers/ide/ide-io-std.c                       |  4 ++--
 drivers/ide/ide-io.c                           |  8 ++++----
 drivers/ide/ide-sysfs.c                        |  2 +-
 drivers/ide/ide-taskfile.c                     |  1 -
 drivers/ide/umc8672.c                          |  2 +-
 drivers/idle/intel_idle.c                      |  2 +-
 drivers/infiniband/core/uverbs_cmd.c           |  4 ++--
 drivers/infiniband/hw/cxgb4/cm.c               |  2 +-
 drivers/infiniband/hw/cxgb4/cq.c               |  2 +-
 drivers/infiniband/hw/mlx4/qp.c                |  6 +++---
 drivers/infiniband/hw/mlx5/cq.c                |  6 +++---
 drivers/infiniband/hw/mlx5/devx.c              |  2 +-
 drivers/infiniband/hw/mlx5/wr.c                |  2 +-
 drivers/infiniband/hw/mthca/mthca_qp.c         | 10 +++++-----
 drivers/infiniband/sw/siw/siw_qp_rx.c          |  2 +-
 drivers/input/serio/serio_raw.c                |  2 +-
 drivers/input/touchscreen/sur40.c              |  4 +---
 drivers/iommu/intel/iommu.c                    |  2 +-
 drivers/md/dm-io.c                             |  2 +-
 drivers/md/dm-ioctl.c                          |  2 +-
 drivers/md/dm-snap-persistent.c                |  2 +-
 drivers/md/dm-table.c                          |  2 +-
 drivers/md/dm-writecache.c                     |  2 +-
 drivers/md/raid5.c                             |  2 +-
 drivers/media/dvb-frontends/rtl2832.c          |  2 +-
 drivers/media/tuners/qt1010.c                  |  4 ++--
 drivers/media/usb/gspca/vicam.c                |  2 +-
 drivers/media/usb/uvc/uvc_video.c              |  8 ++++----
 drivers/memstick/host/jmb38x_ms.c              |  2 +-
 drivers/memstick/host/tifm_ms.c                |  2 +-
 drivers/mmc/host/sdhci.c                       |  2 +-
 drivers/mtd/nand/raw/nand_ecc.c                |  2 +-
 drivers/mtd/nand/raw/s3c2410.c                 |  2 +-
 drivers/mtd/parsers/afs.c                      |  4 ++--
 drivers/mtd/ubi/eba.c                          |  2 +-
 drivers/net/can/janz-ican3.c                   |  2 +-
 drivers/net/ethernet/broadcom/bnx2.c           |  4 ++--
 .../ethernet/mellanox/mlx5/core/pagealloc.c    |  4 ++--
 drivers/net/ethernet/neterion/s2io.c           |  2 +-
 drivers/net/ethernet/qlogic/qla3xxx.c          |  2 +-
 drivers/net/ethernet/sun/cassini.c             |  2 +-
 drivers/net/ethernet/sun/niu.c                 |  6 +++---
 drivers/net/wan/z85230.c                       |  2 +-
 drivers/net/wireless/ath/ath10k/core.c         |  2 +-
 drivers/net/wireless/ath/ath6kl/init.c         |  2 +-
 drivers/net/wireless/ath/ath9k/init.c          |  2 +-
 drivers/net/wireless/broadcom/b43/debugfs.c    |  2 +-
 drivers/net/wireless/broadcom/b43/dma.c        |  2 +-
 drivers/net/wireless/broadcom/b43/lo.c         |  2 +-
 drivers/net/wireless/broadcom/b43/phy_n.c      |  4 ++--
 drivers/net/wireless/broadcom/b43/xmit.c       | 12 ++++++------
 .../net/wireless/broadcom/b43legacy/debugfs.c  |  2 +-
 drivers/net/wireless/broadcom/b43legacy/main.c |  2 +-
 drivers/net/wireless/intel/iwlegacy/3945.c     |  2 +-
 drivers/net/wireless/intel/iwlegacy/4965-mac.c |  2 +-
 .../wireless/realtek/rtlwifi/rtl8192cu/hw.c    |  8 ++++----
 drivers/pci/pcie/aer.c                         |  2 +-
 drivers/platform/x86/hdaps.c                   |  4 ++--
 drivers/scsi/dc395x.c                          |  2 +-
 drivers/scsi/pm8001/pm8001_hwi.c               |  2 +-
 drivers/scsi/pm8001/pm80xx_hwi.c               |  2 +-
 drivers/spi/spi-davinci.c                      |  1 -
 drivers/ssb/driver_chipcommon.c                |  4 ++--
 drivers/tty/cyclades.c                         |  2 +-
 drivers/tty/isicom.c                           |  2 +-
 drivers/usb/musb/cppi_dma.c                    |  2 +-
 drivers/usb/storage/sddr55.c                   |  4 ++--
 drivers/vhost/net.c                            |  6 +++---
 drivers/video/fbdev/matrox/matroxfb_maven.c    |  6 +++---
 drivers/video/fbdev/pm3fb.c                    |  6 +++---
 drivers/video/fbdev/riva/riva_hw.c             |  3 +--
 drivers/virtio/virtio_ring.c                   |  6 +++---
 fs/afs/dir.c                                   |  2 +-
 fs/afs/security.c                              |  2 +-
 fs/dlm/netlink.c                               |  2 +-
 fs/erofs/data.c                                |  4 ++--
 fs/erofs/zdata.c                               |  2 +-
 fs/f2fs/data.c                                 |  4 +---
 fs/fat/dir.c                                   |  2 +-
 fs/fuse/control.c                              |  4 ++--
 fs/fuse/cuse.c                                 |  2 +-
 fs/fuse/file.c                                 |  2 +-
 fs/gfs2/aops.c                                 |  2 +-
 fs/gfs2/bmap.c                                 |  2 +-
 fs/gfs2/lops.c                                 |  2 +-
 fs/hfsplus/unicode.c                           |  2 +-
 fs/isofs/namei.c                               |  4 ++--
 fs/jffs2/erase.c                               |  2 +-
 fs/nfsd/nfsctl.c                               |  2 +-
 fs/ocfs2/alloc.c                               |  4 ++--
 fs/ocfs2/dir.c                                 | 14 +++++++-------
 fs/ocfs2/extent_map.c                          |  4 ++--
 fs/ocfs2/namei.c                               |  2 +-
 fs/ocfs2/refcounttree.c                        |  2 +-
 fs/ocfs2/xattr.c                               |  2 +-
 fs/omfs/file.c                                 |  2 +-
 fs/overlayfs/copy_up.c                         |  2 +-
 fs/ubifs/commit.c                              |  6 +++---
 fs/ubifs/dir.c                                 |  2 +-
 fs/ubifs/file.c                                |  4 ++--
 fs/ubifs/journal.c                             |  4 ++--
 fs/ubifs/lpt.c                                 |  2 +-
 fs/ubifs/tnc.c                                 |  6 +++---
 fs/ubifs/tnc_misc.c                            |  4 ++--
 fs/udf/balloc.c                                |  2 +-
 fs/xfs/xfs_bmap_util.c                         |  2 +-
 include/linux/compiler-clang.h                 |  2 --
 include/linux/compiler-gcc.h                   |  6 ------
 include/linux/page-flags-layout.h              |  4 +++-
 include/net/flow_offload.h                     |  2 +-
 kernel/async.c                                 |  4 ++--
 kernel/audit.c                                 |  2 +-
 kernel/debug/kdb/kdb_io.c                      |  2 +-
 kernel/dma/debug.c                             |  2 +-
 kernel/events/core.c                           |  2 +-
 kernel/events/uprobes.c                        |  2 +-
 kernel/exit.c                                  |  2 +-
 kernel/futex.c                                 | 14 +++++++-------
 kernel/locking/lockdep.c                       | 16 ++++++++--------
 kernel/trace/ring_buffer.c                     |  2 +-
 lib/radix-tree.c                               |  2 +-
 lib/test_lockup.c                              |  2 +-
 mm/debug_vm_pgtable.c                          |  2 +-
 mm/frontswap.c                                 |  2 +-
 mm/ksm.c                                       |  2 +-
 mm/memcontrol.c                                |  2 +-
 mm/memory.c                                    |  2 +-
 mm/mempolicy.c                                 |  4 ++--
 mm/page_alloc.c                                |  2 +-
 mm/percpu.c                                    |  2 +-
 mm/slub.c                                      |  4 ++--
 mm/swap.c                                      |  4 ++--
 net/dccp/options.c                             |  2 +-
 net/ipv4/netfilter/nf_socket_ipv4.c            |  6 +++---
 net/ipv6/ip6_flowlabel.c                       |  2 +-
 net/ipv6/netfilter/nf_socket_ipv6.c            |  2 +-
 net/netfilter/nf_conntrack_ftp.c               |  2 +-
 net/netfilter/nfnetlink_log.c                  |  2 +-
 net/netfilter/nfnetlink_queue.c                |  4 ++--
 net/sched/cls_flow.c                           |  2 +-
 net/sched/sch_cake.c                           |  2 +-
 net/sched/sch_cbq.c                            |  2 +-
 net/sched/sch_fq_codel.c                       |  2 +-
 net/sched/sch_fq_pie.c                         |  2 +-
 net/sched/sch_hfsc.c                           |  2 +-
 net/sched/sch_htb.c                            |  2 +-
 net/sched/sch_sfq.c                            |  2 +-
 net/sunrpc/svcsock.c                           |  4 ++--
 net/sunrpc/xprtsock.c                          | 10 +++++-----
 net/tls/tls_sw.c                               |  2 +-
 scripts/checkpatch.pl                          | 16 +++++-----------
 sound/core/control_compat.c                    |  2 +-
 sound/isa/sb/sb16_csp.c                        |  2 +-
 sound/usb/endpoint.c                           |  2 +-
 tools/include/linux/compiler.h                 |  2 --
 tools/virtio/linux/kernel.h                    |  2 --
 196 files changed, 321 insertions(+), 330 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 65+ messages in thread
* Re: [PATCH v2 15/16] treewide: Remove uninitialized_var() usage
@ 2020-06-20 12:36 kernel test robot
  0 siblings, 0 replies; 65+ messages in thread
From: kernel test robot @ 2020-06-20 12:36 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 9827 bytes --]

CC: kbuild-all(a)lists.01.org
In-Reply-To: <20200620033007.1444705-15-keescook@chromium.org>
References: <20200620033007.1444705-15-keescook@chromium.org>
TO: Kees Cook <keescook@chromium.org>

Hi Kees,

I love your patch! Perhaps something to improve:

[auto build test WARNING on wireless-drivers-next/master]
[also build test WARNING on linus/master v5.8-rc1 next-20200618]
[cannot apply to wireless-drivers/master rw-ubifs/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use  as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Kees-Cook/Remove-uninitialized_var-macro/20200620-113245
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git master
:::::: branch date: 9 hours ago
:::::: commit date: 9 hours ago
config: i386-randconfig-m021-20200620 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/mtd/nand/raw/nand_ecc.c:357 __nand_calculate_ecc() error: uninitialized symbol 'rp17'.

# https://github.com/0day-ci/linux/commit/f58ed1805d1492d80a38f58702a37a0996973ffc
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout f58ed1805d1492d80a38f58702a37a0996973ffc
vim +/rp17 +357 drivers/mtd/nand/raw/nand_ecc.c

e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  291  
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  292  	/* finally reduce par to 8 bits */
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  293  	par ^= (par >> 8);
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  294  	par &= 0xff;
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  295  
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  296  	/*
d68156cfad0fe0 drivers/mtd/nand/nand_ecc.c     Singh, Vimal    2008-08-23  297  	 * and calculate rp5..rp15..rp17
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  298  	 * note that par = rp4 ^ rp5 and due to the commutative property
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  299  	 * of the ^ operator we can say:
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  300  	 * rp5 = (par ^ rp4);
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  301  	 * The & 0xff seems superfluous, but benchmarking learned that
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  302  	 * leaving it out gives slightly worse results. No idea why, probably
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  303  	 * it has to do with the way the pipeline in pentium is organized.
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  304  	 */
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  305  	rp5 = (par ^ rp4) & 0xff;
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  306  	rp7 = (par ^ rp6) & 0xff;
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  307  	rp9 = (par ^ rp8) & 0xff;
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  308  	rp11 = (par ^ rp10) & 0xff;
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  309  	rp13 = (par ^ rp12) & 0xff;
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  310  	rp15 = (par ^ rp14) & 0xff;
d68156cfad0fe0 drivers/mtd/nand/nand_ecc.c     Singh, Vimal    2008-08-23  311  	if (eccsize_mult == 2)
d68156cfad0fe0 drivers/mtd/nand/nand_ecc.c     Singh, Vimal    2008-08-23  312  		rp17 = (par ^ rp16) & 0xff;
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  313  
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  314  	/*
7854d3f7495b11 drivers/mtd/nand/nand_ecc.c     Brian Norris    2011-06-23  315  	 * Finally calculate the ECC bits.
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  316  	 * Again here it might seem that there are performance optimisations
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  317  	 * possible, but benchmarks showed that on the system this is developed
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  318  	 * the code below is the fastest
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  319  	 */
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  320  	if (sm_order) {
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  321  		code[0] = (invparity[rp7] << 7) | (invparity[rp6] << 6) |
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  322  			  (invparity[rp5] << 5) | (invparity[rp4] << 4) |
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  323  			  (invparity[rp3] << 3) | (invparity[rp2] << 2) |
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  324  			  (invparity[rp1] << 1) | (invparity[rp0]);
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  325  		code[1] = (invparity[rp15] << 7) | (invparity[rp14] << 6) |
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  326  			  (invparity[rp13] << 5) | (invparity[rp12] << 4) |
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  327  			  (invparity[rp11] << 3) | (invparity[rp10] << 2) |
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  328  			  (invparity[rp9] << 1) | (invparity[rp8]);
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  329  	} else {
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  330  		code[1] = (invparity[rp7] << 7) | (invparity[rp6] << 6) |
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  331  			  (invparity[rp5] << 5) | (invparity[rp4] << 4) |
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  332  			  (invparity[rp3] << 3) | (invparity[rp2] << 2) |
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  333  			  (invparity[rp1] << 1) | (invparity[rp0]);
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  334  		code[0] = (invparity[rp15] << 7) | (invparity[rp14] << 6) |
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  335  			  (invparity[rp13] << 5) | (invparity[rp12] << 4) |
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  336  			  (invparity[rp11] << 3) | (invparity[rp10] << 2) |
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  337  			  (invparity[rp9] << 1) | (invparity[rp8]);
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  338  	}
309600c14e36d0 drivers/mtd/nand/raw/nand_ecc.c Boris Brezillon 2018-09-04  339  
d68156cfad0fe0 drivers/mtd/nand/nand_ecc.c     Singh, Vimal    2008-08-23  340  	if (eccsize_mult == 1)
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  341  		code[2] =
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  342  		    (invparity[par & 0xf0] << 7) |
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  343  		    (invparity[par & 0x0f] << 6) |
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  344  		    (invparity[par & 0xcc] << 5) |
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  345  		    (invparity[par & 0x33] << 4) |
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  346  		    (invparity[par & 0xaa] << 3) |
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  347  		    (invparity[par & 0x55] << 2) |
e6cf5df1838c28 drivers/mtd/nand/nand_ecc.c     frans           2008-08-15  348  		    3;
d68156cfad0fe0 drivers/mtd/nand/nand_ecc.c     Singh, Vimal    2008-08-23  349  	else
d68156cfad0fe0 drivers/mtd/nand/nand_ecc.c     Singh, Vimal    2008-08-23  350  		code[2] =
d68156cfad0fe0 drivers/mtd/nand/nand_ecc.c     Singh, Vimal    2008-08-23  351  		    (invparity[par & 0xf0] << 7) |
d68156cfad0fe0 drivers/mtd/nand/nand_ecc.c     Singh, Vimal    2008-08-23  352  		    (invparity[par & 0x0f] << 6) |
d68156cfad0fe0 drivers/mtd/nand/nand_ecc.c     Singh, Vimal    2008-08-23  353  		    (invparity[par & 0xcc] << 5) |
d68156cfad0fe0 drivers/mtd/nand/nand_ecc.c     Singh, Vimal    2008-08-23  354  		    (invparity[par & 0x33] << 4) |
d68156cfad0fe0 drivers/mtd/nand/nand_ecc.c     Singh, Vimal    2008-08-23  355  		    (invparity[par & 0xaa] << 3) |
d68156cfad0fe0 drivers/mtd/nand/nand_ecc.c     Singh, Vimal    2008-08-23  356  		    (invparity[par & 0x55] << 2) |
d68156cfad0fe0 drivers/mtd/nand/nand_ecc.c     Singh, Vimal    2008-08-23 @357  		    (invparity[rp17] << 1) |
d68156cfad0fe0 drivers/mtd/nand/nand_ecc.c     Singh, Vimal    2008-08-23  358  		    (invparity[rp16] << 0);
1c63aca32903ef drivers/mtd/nand/nand_ecc.c     Akinobu Mita    2009-10-22  359  }
1c63aca32903ef drivers/mtd/nand/nand_ecc.c     Akinobu Mita    2009-10-22  360  EXPORT_SYMBOL(__nand_calculate_ecc);
1c63aca32903ef drivers/mtd/nand/nand_ecc.c     Akinobu Mita    2009-10-22  361  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 33379 bytes --]

^ permalink raw reply	[flat|nested] 65+ messages in thread
* Re: [PATCH v2 15/16] treewide: Remove uninitialized_var() usage
@ 2020-06-20 13:56 kernel test robot
  0 siblings, 0 replies; 65+ messages in thread
From: kernel test robot @ 2020-06-20 13:56 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 5747 bytes --]

CC: kbuild-all(a)lists.01.org
In-Reply-To: <20200620033007.1444705-15-keescook@chromium.org>
References: <20200620033007.1444705-15-keescook@chromium.org>
TO: Kees Cook <keescook@chromium.org>

Hi Kees,

I love your patch! Perhaps something to improve:

[auto build test WARNING on wireless-drivers-next/master]
[also build test WARNING on linus/master v5.8-rc1 next-20200618]
[cannot apply to wireless-drivers/master rw-ubifs/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use  as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Kees-Cook/Remove-uninitialized_var-macro/20200620-113245
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git master
:::::: branch date: 10 hours ago
:::::: commit date: 10 hours ago
config: x86_64-randconfig-m001-20200619 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/gpu/drm/drm_edid.c:3078 drm_cvt_modes() error: uninitialized symbol 'width'.
drivers/idle/intel_idle.c:160 intel_idle() error: uninitialized symbol 'tick'.
drivers/virtio/virtio_ring.c:1197 virtqueue_add_packed() error: uninitialized symbol 'prev'.
drivers/virtio/virtio_ring.c:1205 virtqueue_add_packed() error: uninitialized symbol 'head_flags'.
drivers/md/raid5.c:2646 raid5_end_write_request() error: uninitialized symbol 'rdev'.

Old smatch warnings:
drivers/virtio/virtio_ring.c:508 virtqueue_add_split() error: uninitialized symbol 'prev'.
drivers/md/raid5.c:2651 raid5_end_write_request() error: uninitialized symbol 'rdev'.
drivers/md/raid5.c:6693 alloc_thread_groups() warn: double check that we're allocating correct size: 216 vs 1

# https://github.com/0day-ci/linux/commit/f58ed1805d1492d80a38f58702a37a0996973ffc
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout f58ed1805d1492d80a38f58702a37a0996973ffc
vim +/width +3078 drivers/gpu/drm/drm_edid.c

9cf00977da0920 Adam Jackson 2009-12-03  3042  
139315796778a6 Adam Jackson 2010-08-03  3043  static int drm_cvt_modes(struct drm_connector *connector,
139315796778a6 Adam Jackson 2010-08-03  3044  			 struct detailed_timing *timing)
139315796778a6 Adam Jackson 2010-08-03  3045  {
139315796778a6 Adam Jackson 2010-08-03  3046  	int i, j, modes = 0;
139315796778a6 Adam Jackson 2010-08-03  3047  	struct drm_display_mode *newmode;
139315796778a6 Adam Jackson 2010-08-03  3048  	struct drm_device *dev = connector->dev;
139315796778a6 Adam Jackson 2010-08-03  3049  	struct cvt_timing *cvt;
139315796778a6 Adam Jackson 2010-08-03  3050  	const int rates[] = { 60, 85, 75, 60, 50 };
139315796778a6 Adam Jackson 2010-08-03  3051  	const u8 empty[3] = { 0, 0, 0 };
a327f6b806103e Adam Jackson 2010-03-29  3052  
139315796778a6 Adam Jackson 2010-08-03  3053  	for (i = 0; i < 4; i++) {
f58ed1805d1492 Kees Cook    2020-06-19  3054  		int width, height;
139315796778a6 Adam Jackson 2010-08-03  3055  		cvt = &(timing->data.other_data.data.cvt[i]);
9cf00977da0920 Adam Jackson 2009-12-03  3056  
139315796778a6 Adam Jackson 2010-08-03  3057  		if (!memcmp(cvt->code, empty, 3))
9cf00977da0920 Adam Jackson 2009-12-03  3058  			continue;
9cf00977da0920 Adam Jackson 2009-12-03  3059  
139315796778a6 Adam Jackson 2010-08-03  3060  		height = (cvt->code[0] + ((cvt->code[1] & 0xf0) << 4) + 1) * 2;
139315796778a6 Adam Jackson 2010-08-03  3061  		switch (cvt->code[1] & 0x0c) {
139315796778a6 Adam Jackson 2010-08-03  3062  		case 0x00:
139315796778a6 Adam Jackson 2010-08-03  3063  			width = height * 4 / 3;
139315796778a6 Adam Jackson 2010-08-03  3064  			break;
139315796778a6 Adam Jackson 2010-08-03  3065  		case 0x04:
139315796778a6 Adam Jackson 2010-08-03  3066  			width = height * 16 / 9;
139315796778a6 Adam Jackson 2010-08-03  3067  			break;
139315796778a6 Adam Jackson 2010-08-03  3068  		case 0x08:
139315796778a6 Adam Jackson 2010-08-03  3069  			width = height * 16 / 10;
139315796778a6 Adam Jackson 2010-08-03  3070  			break;
139315796778a6 Adam Jackson 2010-08-03  3071  		case 0x0c:
139315796778a6 Adam Jackson 2010-08-03  3072  			width = height * 15 / 9;
139315796778a6 Adam Jackson 2010-08-03  3073  			break;
139315796778a6 Adam Jackson 2010-08-03  3074  		}
139315796778a6 Adam Jackson 2010-08-03  3075  
139315796778a6 Adam Jackson 2010-08-03  3076  		for (j = 1; j < 5; j++) {
139315796778a6 Adam Jackson 2010-08-03  3077  			if (cvt->code[2] & (1 << j)) {
139315796778a6 Adam Jackson 2010-08-03 @3078  				newmode = drm_cvt_mode(dev, width, height,
139315796778a6 Adam Jackson 2010-08-03  3079  						       rates[j], j == 0,
139315796778a6 Adam Jackson 2010-08-03  3080  						       false, false);
139315796778a6 Adam Jackson 2010-08-03  3081  				if (newmode) {
139315796778a6 Adam Jackson 2010-08-03  3082  					drm_mode_probed_add(connector, newmode);
139315796778a6 Adam Jackson 2010-08-03  3083  					modes++;
139315796778a6 Adam Jackson 2010-08-03  3084  				}
139315796778a6 Adam Jackson 2010-08-03  3085  			}
139315796778a6 Adam Jackson 2010-08-03  3086  		}
f453ba0460742a Dave Airlie  2008-11-07  3087  	}
f453ba0460742a Dave Airlie  2008-11-07  3088  
f453ba0460742a Dave Airlie  2008-11-07  3089  	return modes;
f453ba0460742a Dave Airlie  2008-11-07  3090  }
9cf00977da0920 Adam Jackson 2009-12-03  3091  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36423 bytes --]

^ permalink raw reply	[flat|nested] 65+ messages in thread

end of thread, other threads:[~2020-07-15 10:37 UTC | newest]

Thread overview: 65+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-20  3:29 [PATCH v2 00/16] Remove uninitialized_var() macro Kees Cook
2020-06-20  3:29 ` [PATCH v2 01/16] docs: deprecated.rst: Add uninitialized_var() Kees Cook
2020-06-22 16:59   ` Nick Desaulniers
2020-06-22 16:59     ` Nick Desaulniers
2020-06-22 16:59     ` Nick Desaulniers
2020-06-20  3:29 ` [PATCH v2 02/16] x86/mm/numa: Remove uninitialized_var() usage Kees Cook
2020-06-20  3:29 ` [PATCH v2 03/16] drbd: " Kees Cook
2020-06-20  3:29 ` [PATCH v2 04/16] b43: " Kees Cook
2020-06-22 17:04   ` Nick Desaulniers
2020-06-22 17:04     ` Nick Desaulniers
2020-06-22 17:04     ` Nick Desaulniers
2020-06-22 21:04     ` Kees Cook
2020-06-22 21:04       ` Kees Cook
2020-06-23 18:29       ` Nick Desaulniers
2020-06-23 18:29         ` Nick Desaulniers
2020-06-23 18:29         ` Nick Desaulniers
2020-07-15 10:37   ` Kalle Valo
2020-07-15 10:37   ` Kalle Valo
2020-07-15 10:37   ` Kalle Valo
2020-06-20  3:29 ` [PATCH v2 05/16] rtlwifi: rtl8192cu: " Kees Cook
2020-06-20  3:29 ` [PATCH v2 06/16] ide: " Kees Cook
2020-06-20  3:29 ` [PATCH v2 07/16] clk: st: " Kees Cook
2020-06-22  9:03   ` Stephen Boyd
2020-06-22  9:03     ` Stephen Boyd
2020-06-20  3:29 ` [PATCH v2 08/16] spi: davinci: " Kees Cook
2020-07-01 20:39   ` Mark Brown
2020-07-01 20:39     ` Mark Brown
2020-07-02 15:21     ` Kees Cook
2020-07-02 15:21       ` Kees Cook
2020-07-02 15:23       ` Mark Brown
2020-07-02 15:23         ` Mark Brown
2020-07-02 15:42         ` Kees Cook
2020-07-02 15:42           ` Kees Cook
2020-07-02 16:23           ` Joe Perches
2020-07-02 16:23             ` Joe Perches
2020-07-02 16:23             ` Joe Perches
2020-06-20  3:30 ` [PATCH v2 09/16] clk: spear: " Kees Cook
2020-06-22  9:03   ` Stephen Boyd
2020-06-22  9:03     ` Stephen Boyd
2020-06-20  3:30 ` [PATCH v2 10/16] KVM: PPC: Book3S PR: " Kees Cook
2020-06-22 17:22   ` Nick Desaulniers
2020-06-22 17:22     ` Nick Desaulniers
2020-06-22 17:22     ` Nick Desaulniers
2020-06-20  3:30 ` [PATCH v2 11/16] media: sur40: " Kees Cook
2020-06-22 18:39   ` Nick Desaulniers
2020-06-22 18:39     ` Nick Desaulniers
2020-06-22 18:39     ` Nick Desaulniers
2020-06-20  3:30 ` [PATCH v2 12/16] f2fs: Eliminate usage of uninitialized_var() macro Kees Cook
2020-06-20  3:30 ` [PATCH v2 14/16] checkpatch: Remove awareness " Kees Cook
2020-06-20  3:30 ` [PATCH v2 15/16] treewide: Remove uninitialized_var() usage Kees Cook
2020-06-22 11:32   ` Dan Carpenter
2020-06-22 11:32     ` Dan Carpenter
2020-06-20  3:30 ` [PATCH v2 16/16] compiler: Remove uninitialized_var() macro Kees Cook
2020-06-20  3:30 ` [PATCH v2 13/16] mm/debug_vm_pgtable: Remove uninitialized_var() usage Kees Cook
2020-06-22 17:27   ` Nick Desaulniers
2020-06-22 17:27     ` Nick Desaulniers
2020-06-22 17:27     ` Nick Desaulniers
2020-06-20  7:03 ` [PATCH v2 00/16] Remove uninitialized_var() macro Sedat Dilek
2020-06-20  7:03   ` Sedat Dilek
2020-06-20 15:57   ` Kees Cook
2020-06-22  9:07     ` Sedat Dilek
2020-06-22  9:07       ` Sedat Dilek
2020-06-22  9:07       ` Sedat Dilek
2020-06-20 12:36 [PATCH v2 15/16] treewide: Remove uninitialized_var() usage kernel test robot
2020-06-20 13:56 kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.