lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <202008031209.CB5CC23@keescook>
Date:   Mon, 3 Aug 2020 12:16:56 -0700
From:   Kees Cook <keescook@...omium.org>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     linux-kernel@...r.kernel.org, Bart van Assche <bvanassche@....org>,
        Chao Yu <yuchao0@...wei.com>,
        "Gustavo A. R. Silva" <gustavo@...eddedor.com>,
        Jason Gunthorpe <jgg@...lanox.com>,
        Jason Yan <yanaijie@...wei.com>, Joe Perches <joe@...ches.com>,
        Jonathan Corbet <corbet@....net>,
        Kalle Valo <kvalo@...eaurora.org>,
        Kees Cook <keescook@...omium.org>,
        Leon Romanovsky <leonro@...lanox.com>,
        Linus Torvalds <torvalds@...ux-foundation.org>,
        linux-doc@...r.kernel.org, Mark Brown <broonie@...nel.org>,
        Miguel Ojeda <miguel.ojeda.sandonis@...il.com>,
        Nathan Chancellor <natechancellor@...il.com>,
        Nick Desaulniers <ndesaulniers@...gle.com>,
        Sedat Dilek <sedat.dilek@...il.com>,
        Stephen Boyd <sboyd@...nel.org>
Subject: [GIT PULL] Remove uninitialized_var() for v5.9-rc1

Hi Linus,

Please pull this uninitialized_var() macro removal series for v5.9-rc1.
This is long overdue, and has hidden too many bugs over the years. The
series has several "by hand" fixes, and then a trivial treewide
replacement. As you might imagine, this had a few conflicts while
living in -next. Resolution is easy, of course: just remove any
uninitialize_var() wrappings, but if you want to see the specifics,
they are:

kernel/debug/kdb/kdb_io.c
https://lore.kernel.org/linux-next/20200629154305.0067d113@canb.auug.org.au/

drivers/gpu/drm/drm_edid.c
https://lore.kernel.org/linux-next/20200703143550.7ebbe771@canb.auug.org.au/

net/ipv6/ip6_flowlabel.c
https://lore.kernel.org/linux-next/20200727192721.53af345a@canb.auug.org.au/

drivers/infiniband/core/uverbs_cmd.c
https://lore.kernel.org/linux-next/20200728184520.5634a0a0@canb.auug.org.au/

If you prefer, I can rebase and re-run my script, but your default
position has been to let you deal with conflicts, so here we are. :)

Thanks!

-Kees

The following changes since commit 9ebcfadb0610322ac537dd7aa5d9cbc2b2894c68:

  Linux 5.8-rc3 (2020-06-28 15:00:24 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git tags/uninit-macro-v5.9-rc1

for you to fetch changes up to 63a0895d960aa3d3653ef0ecad5bd8579388f14b:

  compiler: Remove uninitialized_var() macro (2020-07-16 12:35:31 -0700)

----------------------------------------------------------------
Remove uninitialized_var() macro for v5.9-rc1

- Clean up non-trivial uses of uninitialized_var()
- Update documentation and checkpatch for uninitialized_var() removal
- Treewide removal of uninitialized_var()

----------------------------------------------------------------
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
      spi: davinci: Remove uninitialized_var() usage
      clk: st: Remove uninitialized_var() usage
      clk: spear: Remove uninitialized_var() usage
      KVM: PPC: Book3S PR: Remove uninitialized_var() usage
      media: sur40: Remove uninitialized_var() usage
      mm/debug_vm_pgtable: Remove uninitialized_var() usage
      checkpatch: Remove awareness of uninitialized_var() macro
      treewide: Remove uninitialized_var() usage
      compiler: Remove uninitialized_var() macro

 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 +-
 drivers/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 ++--
 drivers/net/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 ++++++------
 drivers/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 +-
 drivers/net/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(-)

-- 
Kees Cook

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ