All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/64] Introduce strict memcpy() bounds checking
@ 2021-07-27 20:57 ` Kees Cook
  0 siblings, 0 replies; 295+ messages in thread
From: Kees Cook @ 2021-07-27 20:57 UTC (permalink / raw)
  To: linux-hardening
  Cc: Kees Cook, Gustavo A. R. Silva, Keith Packard, Greg Kroah-Hartman,
	Andrew Morton, linux-kernel, linux-wireless, netdev, dri-devel,
	linux-staging, linux-block, linux-kbuild, clang-built-linux

Hi,

This patch series (based on next-20210726) implements stricter (no struct
member overflows) bounds checking for memcpy(), memmove(), and memset()
under CONFIG_FORTIFY_SOURCE. To quote a later patch in the series:

    tl;dr: In order to eliminate a large class of common buffer overflow
    flaws that continue to persist in the kernel, have memcpy() (under
    CONFIG_FORTIFY_SOURCE) perform bounds checking of the destination struct
    member when they have a known size. This would have caught all of the
    memcpy()-related buffer write overflow flaws identified in at least the
    last three years.

As this series introduces various helpers and performs several phases of
treewide cleanups, I'm expecting to carry this series in my tree, so I'd
love to get some Reviews and Acks. Given the size, I've mostly aimed this
series at various mailing lists, otherwise the CC size got really big. :)

Specifically, this series is logically split into several steps:

Clean up remaining simple compile-time memcpy() warnings:
  media: omap3isp: Extract struct group for memcpy() region
  mac80211: Use flex-array for radiotap header bitmap
  rpmsg: glink: Replace strncpy() with strscpy_pad()

Introduce struct_group() and apply it treewide to avoid compile-time
memcpy() warnings:
  stddef: Introduce struct_group() helper macro
  skbuff: Switch structure bounds to struct_group()
  bnxt_en: Use struct_group_attr() for memcpy() region
  staging: rtl8192e: Use struct_group() for memcpy() region
  staging: rtl8192u: Use struct_group() for memcpy() region
  staging: rtl8723bs: Avoid field-overflowing memcpy()
  lib80211: Use struct_group() for memcpy() region
  net/mlx5e: Avoid field-overflowing memcpy()
  mwl8k: Use struct_group() for memcpy() region
  libertas: Use struct_group() for memcpy() region
  libertas_tf: Use struct_group() for memcpy() region
  ipw2x00: Use struct_group() for memcpy() region
  thermal: intel: int340x_thermal: Use struct_group() for memcpy() region
  iommu/amd: Use struct_group() for memcpy() region
  cxgb3: Use struct_group() for memcpy() region
  ip: Use struct_group() for memcpy() regions
  intersil: Use struct_group() for memcpy() region
  cxgb4: Use struct_group() for memcpy() region
  bnx2x: Use struct_group() for memcpy() region
  drm/amd/pm: Use struct_group() for memcpy() region
  staging: wlan-ng: Use struct_group() for memcpy() region
  drm/mga/mga_ioc32: Use struct_group() for memcpy() region
  net/mlx5e: Use struct_group() for memcpy() region
  HID: cp2112: Use struct_group() for memcpy() region

Prepare fortify for additional hardening:
  compiler_types.h: Remove __compiletime_object_size()
  lib/string: Move helper functions out of string.c
  fortify: Move remaining fortify helpers into fortify-string.h
  fortify: Explicitly disable Clang support

Add compile-time and run-time tests:
  fortify: Add compile-time FORTIFY_SOURCE tests
  lib: Introduce CONFIG_TEST_MEMCPY

Enable new compile-time memcpy() and memmove() bounds checking:
  fortify: Detect struct member overflows in memcpy() at compile-time
  fortify: Detect struct member overflows in memmove() at compile-time

Clean up remaining simple compile-time memset() warnings:
  scsi: ibmvscsi: Avoid multi-field memset() overflow by aiming at srp

Introduce memset_after() helper and apply it (and struct_group())
treewide to avoid compile-time memset() warnings:
  string.h: Introduce memset_after() for wiping trailing members/padding
  xfrm: Use memset_after() to clear padding
  mac80211: Use memset_after() to clear tx status
  net: 802: Use memset_after() to clear struct fields
  net: dccp: Use memset_after() for TP zeroing
  net: qede: Use memset_after() for counters
  ath11k: Use memset_after() for clearing queue descriptors
  iw_cxgb4: Use memset_after() for cpl_t5_pass_accept_rpl
  intel_th: msu: Use memset_after() for clearing hw header
  IB/mthca: Use memset_after() for clearing mpt_entry
  btrfs: Use memset_after() to clear end of struct
  drbd: Use struct_group() to zero algs
  cm4000_cs: Use struct_group() to zero struct cm4000_dev region
  KVM: x86: Use struct_group() to zero decode cache
  tracing: Use struct_group() to zero struct trace_iterator
  dm integrity: Use struct_group() to zero struct journal_sector
  HID: roccat: Use struct_group() to zero kone_mouse_event
  ipv6: Use struct_group() to zero rt6_info
  RDMA/mlx5: Use struct_group() to zero struct mlx5_ib_mr
  ethtool: stats: Use struct_group() to clear all stats at once
  netfilter: conntrack: Use struct_group() to zero struct nf_conn
  powerpc: Split memset() to avoid multi-field overflow

Enable new compile-time memset() bounds checking:
  fortify: Detect struct member overflows in memset() at compile-time

Enable Clang support and global array-bounds checking:
  fortify: Work around Clang inlining bugs
  Makefile: Enable -Warray-bounds

Avoid run-time memcpy() bounds check warnings:
  netlink: Avoid false-positive memcpy() warning
  iwlwifi: dbg_ini: Split memcpy() to avoid multi-field write

Enable run-time memcpy() bounds checking:
  fortify: Add run-time WARN for cross-field memcpy()

A future series will clean up for and add run-time memset() bounds
checking.

Thanks!

-Kees


 Makefile                                      |   1 -
 arch/s390/lib/string.c                        |   3 +
 arch/x86/boot/compressed/misc.c               |   3 +-
 arch/x86/kvm/emulate.c                        |   3 +-
 arch/x86/kvm/kvm_emulate.h                    |  19 +-
 arch/x86/lib/memcpy_32.c                      |   1 +
 arch/x86/lib/string_32.c                      |   1 +
 drivers/block/drbd/drbd_main.c                |   3 +-
 drivers/block/drbd/drbd_protocol.h            |   6 +-
 drivers/block/drbd/drbd_receiver.c            |   3 +-
 drivers/char/pcmcia/cm4000_cs.c               |   9 +-
 drivers/gpu/drm/amd/include/atomfirmware.h    |   9 +-
 .../drm/amd/pm/inc/smu11_driver_if_arcturus.h |   3 +-
 .../drm/amd/pm/inc/smu11_driver_if_navi10.h   |   3 +-
 .../amd/pm/inc/smu13_driver_if_aldebaran.h    |   3 +-
 .../gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c |   6 +-
 .../gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c   |  12 +-
 .../drm/amd/pm/swsmu/smu13/aldebaran_ppt.c    |   6 +-
 drivers/gpu/drm/mga/mga_ioc32.c               |  30 +-
 drivers/hid/hid-cp2112.c                      |  14 +-
 drivers/hid/hid-roccat-kone.c                 |   2 +-
 drivers/hid/hid-roccat-kone.h                 |  12 +-
 drivers/hwtracing/intel_th/msu.c              |   4 +-
 drivers/infiniband/hw/cxgb4/cm.c              |   5 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h          |   4 +-
 drivers/infiniband/hw/mthca/mthca_mr.c        |   3 +-
 drivers/iommu/amd/init.c                      |   9 +-
 drivers/macintosh/smu.c                       |   3 +-
 drivers/md/dm-integrity.c                     |   9 +-
 drivers/media/platform/omap3isp/ispstat.c     |   5 +-
 .../net/ethernet/broadcom/bnx2x/bnx2x_stats.c |   7 +-
 .../net/ethernet/broadcom/bnx2x/bnx2x_stats.h |  14 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c |   4 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h |  14 +-
 drivers/net/ethernet/chelsio/cxgb3/sge.c      |   9 +-
 drivers/net/ethernet/chelsio/cxgb4/sge.c      |   8 +-
 drivers/net/ethernet/chelsio/cxgb4/t4_msg.h   |   2 +-
 drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h |  10 +-
 drivers/net/ethernet/chelsio/cxgb4vf/sge.c    |   7 +-
 drivers/net/ethernet/mellanox/mlx5/core/en.h  |   4 +-
 .../net/ethernet/mellanox/mlx5/core/en/xdp.c  |   4 +-
 .../net/ethernet/mellanox/mlx5/core/en_tx.c   |   2 +-
 drivers/net/ethernet/qlogic/qede/qede_main.c  |   2 +-
 drivers/net/wireguard/queueing.h              |   4 +-
 drivers/net/wireless/ath/ath11k/hal_rx.c      |  13 +-
 drivers/net/wireless/ath/carl9170/tx.c        |   4 +-
 drivers/net/wireless/intel/ipw2x00/libipw.h   |  12 +-
 .../net/wireless/intel/ipw2x00/libipw_rx.c    |   8 +-
 drivers/net/wireless/intel/iwlwifi/fw/file.h  |   2 +-
 .../net/wireless/intel/iwlwifi/iwl-dbg-tlv.c  |   3 +-
 .../net/wireless/intersil/hostap/hostap_hw.c  |   5 +-
 .../wireless/intersil/hostap/hostap_wlan.h    |  14 +-
 drivers/net/wireless/intersil/p54/txrx.c      |   4 +-
 drivers/net/wireless/marvell/libertas/host.h  |  10 +-
 drivers/net/wireless/marvell/libertas/tx.c    |   5 +-
 .../marvell/libertas_tf/libertas_tf.h         |  10 +-
 .../net/wireless/marvell/libertas_tf/main.c   |   3 +-
 drivers/net/wireless/marvell/mwl8k.c          |  10 +-
 drivers/rpmsg/qcom_glink_native.c             |   2 +-
 drivers/scsi/ibmvscsi/ibmvscsi.c              |   2 +-
 drivers/staging/rtl8192e/rtllib.h             |  20 +-
 drivers/staging/rtl8192e/rtllib_crypt_ccmp.c  |   3 +-
 drivers/staging/rtl8192e/rtllib_rx.c          |   8 +-
 .../staging/rtl8192u/ieee80211/ieee80211.h    |  24 +-
 .../rtl8192u/ieee80211/ieee80211_crypt_ccmp.c |   3 +-
 .../staging/rtl8192u/ieee80211/ieee80211_rx.c |   8 +-
 drivers/staging/rtl8723bs/core/rtw_mlme.c     |   2 +-
 drivers/staging/rtl8723bs/core/rtw_security.c |   5 +-
 drivers/staging/rtl8723bs/core/rtw_xmit.c     |   5 +-
 drivers/staging/wlan-ng/hfa384x.h             |  16 +-
 drivers/staging/wlan-ng/hfa384x_usb.c         |   4 +-
 .../intel/int340x_thermal/acpi_thermal_rel.c  |   5 +-
 .../intel/int340x_thermal/acpi_thermal_rel.h  |  48 +--
 fs/btrfs/root-tree.c                          |   5 +-
 include/linux/compiler-gcc.h                  |   2 -
 include/linux/compiler_types.h                |   4 -
 include/linux/fortify-string.h                | 234 +++++++++++---
 include/linux/ieee80211.h                     |   8 +-
 include/linux/if_vlan.h                       |   6 +-
 include/linux/skbuff.h                        |   9 +-
 include/linux/stddef.h                        |  34 ++
 include/linux/string.h                        |  26 +-
 include/linux/thread_info.h                   |   2 +-
 include/linux/trace_events.h                  |  26 +-
 include/net/flow.h                            |   6 +-
 include/net/ieee80211_radiotap.h              |  24 +-
 include/net/ip6_fib.h                         |  30 +-
 include/net/mac80211.h                        |   4 +-
 include/net/netfilter/nf_conntrack.h          |  20 +-
 include/uapi/drm/mga_drm.h                    |  37 ++-
 include/uapi/linux/if_ether.h                 |  12 +-
 include/uapi/linux/ip.h                       |  12 +-
 include/uapi/linux/ipv6.h                     |  12 +-
 include/uapi/linux/netlink.h                  |   1 +
 include/uapi/linux/omap3isp.h                 |  44 ++-
 kernel/trace/trace.c                          |   4 +-
 lib/.gitignore                                |   2 +
 lib/Kconfig.debug                             |   3 +
 lib/Makefile                                  |  32 ++
 lib/string.c                                  | 210 +------------
 lib/string_helpers.c                          | 201 ++++++++++++
 lib/test_fortify/read_overflow-memchr.c       |   5 +
 lib/test_fortify/read_overflow-memchr_inv.c   |   5 +
 lib/test_fortify/read_overflow-memcmp.c       |   5 +
 lib/test_fortify/read_overflow-memscan.c      |   5 +
 lib/test_fortify/read_overflow2-memcmp.c      |   5 +
 lib/test_fortify/read_overflow2-memcpy.c      |   5 +
 lib/test_fortify/read_overflow2-memmove.c     |   5 +
 .../read_overflow2_field-memcpy.c             |   5 +
 .../read_overflow2_field-memmove.c            |   5 +
 lib/test_fortify/test_fortify.h               |  31 ++
 lib/test_fortify/write_overflow-memcpy.c      |   5 +
 lib/test_fortify/write_overflow-memmove.c     |   5 +
 lib/test_fortify/write_overflow-memset.c      |   5 +
 lib/test_fortify/write_overflow-strlcpy.c     |   5 +
 lib/test_fortify/write_overflow-strncpy.c     |   5 +
 lib/test_fortify/write_overflow-strscpy.c     |   5 +
 .../write_overflow_field-memcpy.c             |   5 +
 .../write_overflow_field-memmove.c            |   5 +
 .../write_overflow_field-memset.c             |   5 +
 lib/test_memcpy.c                             | 297 ++++++++++++++++++
 net/802/hippi.c                               |   2 +-
 net/core/flow_dissector.c                     |  10 +-
 net/core/skbuff.c                             |  14 +-
 net/dccp/trace.h                              |   4 +-
 net/ethtool/stats.c                           |  15 +-
 net/ipv4/ip_output.c                          |   6 +-
 net/ipv6/route.c                              |   4 +-
 net/mac80211/rx.c                             |   2 +-
 net/netfilter/nf_conntrack_core.c             |   4 +-
 net/netlink/af_netlink.c                      |   4 +-
 net/wireless/lib80211_crypt_ccmp.c            |   3 +-
 net/wireless/radiotap.c                       |   5 +-
 net/xfrm/xfrm_policy.c                        |   4 +-
 net/xfrm/xfrm_user.c                          |   2 +-
 scripts/test_fortify.sh                       |  64 ++++
 security/Kconfig                              |   3 +
 137 files changed, 1484 insertions(+), 633 deletions(-)
 create mode 100644 lib/test_fortify/read_overflow-memchr.c
 create mode 100644 lib/test_fortify/read_overflow-memchr_inv.c
 create mode 100644 lib/test_fortify/read_overflow-memcmp.c
 create mode 100644 lib/test_fortify/read_overflow-memscan.c
 create mode 100644 lib/test_fortify/read_overflow2-memcmp.c
 create mode 100644 lib/test_fortify/read_overflow2-memcpy.c
 create mode 100644 lib/test_fortify/read_overflow2-memmove.c
 create mode 100644 lib/test_fortify/read_overflow2_field-memcpy.c
 create mode 100644 lib/test_fortify/read_overflow2_field-memmove.c
 create mode 100644 lib/test_fortify/test_fortify.h
 create mode 100644 lib/test_fortify/write_overflow-memcpy.c
 create mode 100644 lib/test_fortify/write_overflow-memmove.c
 create mode 100644 lib/test_fortify/write_overflow-memset.c
 create mode 100644 lib/test_fortify/write_overflow-strlcpy.c
 create mode 100644 lib/test_fortify/write_overflow-strncpy.c
 create mode 100644 lib/test_fortify/write_overflow-strscpy.c
 create mode 100644 lib/test_fortify/write_overflow_field-memcpy.c
 create mode 100644 lib/test_fortify/write_overflow_field-memmove.c
 create mode 100644 lib/test_fortify/write_overflow_field-memset.c
 create mode 100644 lib/test_memcpy.c
 create mode 100644 scripts/test_fortify.sh

-- 
2.30.2


^ permalink raw reply	[flat|nested] 295+ messages in thread
* Re: [PATCH 64/64] fortify: Add run-time WARN for cross-field memcpy()
@ 2021-07-28 19:44 kernel test robot
  0 siblings, 0 replies; 295+ messages in thread
From: kernel test robot @ 2021-07-28 19:44 UTC (permalink / raw)
  To: kbuild

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

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

Hi Kees,

I love your patch! Perhaps something to improve:

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

url:    https://github.com/0day-ci/linux/commits/Kees-Cook/Introduce-strict-memcpy-bounds-checking/20210728-053749
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 39f9137268ee3df0047706df4e9b7357a40ffc98
:::::: branch date: 22 hours ago
:::::: commit date: 22 hours ago
config: mips-randconfig-m031-20210728 (attached as .config)
compiler: mips-linux-gcc (GCC) 10.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:
net/ncsi/ncsi-rsp.c:471 ncsi_rsp_handler_sma() warn: potential spectre issue 'ncf->addrs' [r]
net/bluetooth/hci_event.c:730 hci_cc_read_local_ext_features() warn: potential spectre issue 'hdev->features' [r] (local cap)
net/bluetooth/hci_event.c:4305 hci_remote_ext_features_evt() warn: potential spectre issue 'conn->features' [r] (local cap)
net/ipv4/ip_options.c:167 __ip_options_echo() warn: potential spectre issue 'start' [r]
net/ipv4/ip_options.c:629 ip_options_rcv_srr() warn: potential spectre issue 'optptr' [r]

Old smatch warnings:
net/ncsi/ncsi-rsp.c:373 ncsi_rsp_handler_svf() warn: potential spectre issue 'ncf->vids' [w]
net/bluetooth/hci_event.c:5685 hci_le_adv_report_evt() warn: potential spectre issue 'ev->data' [r] (local cap)
net/bluetooth/hci_event.c:5687 hci_le_adv_report_evt() warn: possible spectre second half.  'rssi'
net/ipv4/ip_options.c:560 ip_forward_options() warn: potential spectre issue 'optptr' [w]
net/ipv4/ip_options.c:569 ip_forward_options() warn: possible spectre second half.  'srrptr'
net/ipv4/ip_options.c:569 ip_forward_options() warn: possible spectre second half.  'srrspace'

vim +471 net/ncsi/ncsi-rsp.c

138635cc27c9737 Gavin Shan           2016-07-19  434  
138635cc27c9737 Gavin Shan           2016-07-19  435  static int ncsi_rsp_handler_sma(struct ncsi_request *nr)
138635cc27c9737 Gavin Shan           2016-07-19  436  {
138635cc27c9737 Gavin Shan           2016-07-19  437  	struct ncsi_cmd_sma_pkt *cmd;
138635cc27c9737 Gavin Shan           2016-07-19  438  	struct ncsi_rsp_pkt *rsp;
138635cc27c9737 Gavin Shan           2016-07-19  439  	struct ncsi_dev_priv *ndp = nr->ndp;
138635cc27c9737 Gavin Shan           2016-07-19  440  	struct ncsi_channel *nc;
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17  441  	struct ncsi_channel_mac_filter *ncf;
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17  442  	unsigned long flags;
138635cc27c9737 Gavin Shan           2016-07-19  443  	void *bitmap;
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17  444  	bool enabled;
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17  445  	int index;
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17  446  
138635cc27c9737 Gavin Shan           2016-07-19  447  
138635cc27c9737 Gavin Shan           2016-07-19  448  	/* Find the package and channel */
138635cc27c9737 Gavin Shan           2016-07-19  449  	rsp = (struct ncsi_rsp_pkt *)skb_network_header(nr->rsp);
138635cc27c9737 Gavin Shan           2016-07-19  450  	ncsi_find_package_and_channel(ndp, rsp->rsp.common.channel,
138635cc27c9737 Gavin Shan           2016-07-19  451  				      NULL, &nc);
138635cc27c9737 Gavin Shan           2016-07-19  452  	if (!nc)
138635cc27c9737 Gavin Shan           2016-07-19  453  		return -ENODEV;
138635cc27c9737 Gavin Shan           2016-07-19  454  
138635cc27c9737 Gavin Shan           2016-07-19  455  	/* According to NCSI spec 1.01, the mixed filter table
138635cc27c9737 Gavin Shan           2016-07-19  456  	 * isn't supported yet.
138635cc27c9737 Gavin Shan           2016-07-19  457  	 */
138635cc27c9737 Gavin Shan           2016-07-19  458  	cmd = (struct ncsi_cmd_sma_pkt *)skb_network_header(nr->cmd);
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17  459  	enabled = cmd->at_e & 0x1;
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17  460  	ncf = &nc->mac_filter;
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17  461  	bitmap = &ncf->bitmap;
138635cc27c9737 Gavin Shan           2016-07-19  462  
990a9d4975c974b Dan Carpenter        2018-05-17  463  	if (cmd->index == 0 ||
990a9d4975c974b Dan Carpenter        2018-05-17  464  	    cmd->index > ncf->n_uc + ncf->n_mc + ncf->n_mixed)
138635cc27c9737 Gavin Shan           2016-07-19  465  		return -ERANGE;
138635cc27c9737 Gavin Shan           2016-07-19  466  
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17  467  	index = (cmd->index - 1) * ETH_ALEN;
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17  468  	spin_lock_irqsave(&nc->lock, flags);
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17  469  	if (enabled) {
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17  470  		set_bit(cmd->index - 1, bitmap);
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17 @471  		memcpy(&ncf->addrs[index], cmd->mac, ETH_ALEN);
138635cc27c9737 Gavin Shan           2016-07-19  472  	} else {
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17  473  		clear_bit(cmd->index - 1, bitmap);
49b0aa1b6585705 Miaohe Lin           2020-07-23  474  		eth_zero_addr(&ncf->addrs[index]);
138635cc27c9737 Gavin Shan           2016-07-19  475  	}
062b3e1b6d4f2a3 Samuel Mendoza-Jonas 2018-04-17  476  	spin_unlock_irqrestore(&nc->lock, flags);
138635cc27c9737 Gavin Shan           2016-07-19  477  
138635cc27c9737 Gavin Shan           2016-07-19  478  	return 0;
138635cc27c9737 Gavin Shan           2016-07-19  479  }
138635cc27c9737 Gavin Shan           2016-07-19  480  

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

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

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

end of thread, other threads:[~2021-08-13 19:45 UTC | newest]

Thread overview: 295+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-27 20:57 [PATCH 00/64] Introduce strict memcpy() bounds checking Kees Cook
2021-07-27 20:57 ` Kees Cook
2021-07-27 20:57 ` [PATCH 01/64] media: omap3isp: Extract struct group for memcpy() region Kees Cook
2021-07-27 20:57   ` Kees Cook
2021-07-28  0:55   ` Gustavo A. R. Silva
2021-07-28  0:55     ` Gustavo A. R. Silva
2021-07-28  1:50     ` Kees Cook
2021-07-28  1:50       ` Kees Cook
2021-07-28  8:59   ` David Sterba
2021-07-28  8:59     ` David Sterba
2021-07-28  9:14     ` Dan Carpenter
2021-07-28 21:37       ` Bart Van Assche
2021-07-28 21:37         ` David Sterba
2021-07-28 21:37           ` David Sterba
2021-07-29  5:56           ` Greg Kroah-Hartman
2021-07-29  8:20             ` Dan Carpenter
2021-07-29  8:20               ` Dan Carpenter
2021-07-30  6:00               ` Kees Cook
2021-07-30  6:00                 ` Kees Cook
2021-07-30  8:38                 ` David Sterba
2021-07-30  8:38                   ` David Sterba
2021-07-30  9:00                   ` Dan Carpenter
2021-07-30 16:44                     ` Kees Cook
2021-07-30 17:08                       ` Nick Desaulniers
2021-07-30 19:18                         ` Kees Cook
2021-07-27 20:57 ` [PATCH 02/64] mac80211: Use flex-array for radiotap header bitmap Kees Cook
2021-07-27 20:57   ` Kees Cook
2021-07-28  7:35   ` Dan Carpenter
2021-07-28  7:35     ` Dan Carpenter
2021-07-28  9:23     ` David Sterba
2021-07-28  9:23       ` David Sterba
2021-07-28 21:54       ` Kees Cook
2021-07-29 10:45         ` David Sterba
2021-07-29 10:45           ` David Sterba
2021-07-30  6:06           ` Kees Cook
2021-07-28 21:20     ` Kees Cook
2021-07-28 21:20       ` Kees Cook
2021-07-28 23:14     ` Kees Cook
2021-07-28 23:14       ` Kees Cook
2021-07-28 23:33     ` Kees Cook
2021-07-28 23:33       ` Kees Cook
2021-07-29  8:25       ` Dan Carpenter
2021-07-29  8:25         ` Dan Carpenter
2021-07-27 20:57 ` [PATCH 03/64] rpmsg: glink: Replace strncpy() with strscpy_pad() Kees Cook
2021-07-27 20:57   ` Kees Cook
2021-07-28  2:07   ` Gustavo A. R. Silva
2021-07-28  2:07     ` Gustavo A. R. Silva
2021-07-27 20:57 ` [PATCH 04/64] stddef: Introduce struct_group() helper macro Kees Cook
2021-07-27 20:57   ` Kees Cook
2021-07-28  2:32   ` Gustavo A. R. Silva
2021-07-28  2:32     ` Gustavo A. R. Silva
2021-07-28 10:54   ` Rasmus Villemoes
2021-07-28 10:54     ` Rasmus Villemoes
2021-07-28 21:59     ` Kees Cook
2021-07-28 21:59       ` Kees Cook
2021-07-30 22:19       ` Williams, Dan J
2021-07-31  2:59         ` Kees Cook
2021-07-31  5:24           ` Rasmus Villemoes
2021-07-31 15:10             ` Kees Cook
2021-07-27 20:57 ` [PATCH 05/64] skbuff: Switch structure bounds to struct_group() Kees Cook
2021-07-27 20:57   ` Kees Cook
2021-07-28  3:50   ` Gustavo A. R. Silva
2021-07-28  3:50     ` Gustavo A. R. Silva
2021-07-27 20:57 ` [PATCH 06/64] bnxt_en: Use struct_group_attr() for memcpy() region Kees Cook
2021-07-27 20:57   ` Kees Cook
2021-07-28  1:03   ` Michael Chan
2021-07-28  1:03     ` Michael Chan
2021-07-28  4:45   ` Gustavo A. R. Silva
2021-07-28  4:45     ` Gustavo A. R. Silva
2021-07-27 20:57 ` [PATCH 07/64] staging: rtl8192e: Use struct_group() " Kees Cook
2021-07-27 20:57   ` Kees Cook
2021-07-27 22:30   ` Larry Finger
2021-07-27 22:30     ` Larry Finger
2021-07-28  5:45   ` Greg Kroah-Hartman
2021-07-28  5:45     ` Greg Kroah-Hartman
2021-07-27 20:57 ` [PATCH 08/64] staging: rtl8192u: " Kees Cook
2021-07-27 20:57   ` Kees Cook
2021-07-28  5:45   ` Greg Kroah-Hartman
2021-07-28  5:45     ` Greg Kroah-Hartman
2021-07-27 20:58 ` [PATCH 09/64] staging: rtl8723bs: Avoid field-overflowing memcpy() Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-28  5:46   ` Greg Kroah-Hartman
2021-07-28  5:46     ` Greg Kroah-Hartman
2021-07-27 20:58 ` [PATCH 10/64] lib80211: Use struct_group() for memcpy() region Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-28  5:52   ` Greg Kroah-Hartman
2021-07-28  5:52     ` Greg Kroah-Hartman
2021-08-13  8:04   ` Johannes Berg
2021-08-13 15:49     ` Kees Cook
2021-08-13 19:44       ` Johannes Berg
2021-07-27 20:58 ` [PATCH 11/64] net/mlx5e: Avoid field-overflowing memcpy() Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 12/64] mwl8k: Use struct_group() for memcpy() region Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 13/64] libertas: " Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 14/64] libertas_tf: " Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 15/64] ipw2x00: " Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-28 18:55   ` Stanislav Yakovlev
2021-07-28 18:55     ` Stanislav Yakovlev
2021-07-27 20:58 ` [PATCH 16/64] thermal: intel: int340x_thermal: " Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 17/64] iommu/amd: " Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 18/64] cxgb3: " Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 19/64] ip: Use struct_group() for memcpy() regions Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-28  5:55   ` Greg Kroah-Hartman
2021-07-28  5:55     ` Greg Kroah-Hartman
2021-07-28  6:14     ` Gustavo A. R. Silva
2021-07-28  6:14       ` Gustavo A. R. Silva
2021-07-28  6:19       ` Greg Kroah-Hartman
2021-07-28  6:19         ` Greg Kroah-Hartman
2021-07-28  6:31         ` Gustavo A. R. Silva
2021-07-28  6:31           ` Gustavo A. R. Silva
2021-07-28  6:37           ` Gustavo A. R. Silva
2021-07-28  6:37             ` Gustavo A. R. Silva
2021-07-28  6:41           ` Greg Kroah-Hartman
2021-07-28  6:41             ` Greg Kroah-Hartman
2021-07-28 21:01     ` Kees Cook
2021-07-28 21:01       ` Kees Cook
2021-07-29  1:59       ` Bart Van Assche
2021-07-29  1:59         ` Bart Van Assche
2021-07-27 20:58 ` [PATCH 20/64] intersil: Use struct_group() for memcpy() region Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 21/64] cxgb4: " Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 22/64] bnx2x: " Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 23/64] drm/amd/pm: " Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-30  2:07   ` Alex Deucher
2021-07-30  2:07     ` Alex Deucher
2021-07-27 20:58 ` [PATCH 24/64] staging: wlan-ng: " Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-28  5:45   ` Greg Kroah-Hartman
2021-07-28  5:45     ` Greg Kroah-Hartman
2021-07-27 20:58 ` [PATCH 25/64] drm/mga/mga_ioc32: " Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-28  5:56   ` Greg Kroah-Hartman
2021-07-28  5:56     ` Greg Kroah-Hartman
2021-07-29 12:11     ` Daniel Vetter
2021-07-31  4:20       ` Kees Cook
2021-07-27 20:58 ` [PATCH 26/64] net/mlx5e: " Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 27/64] HID: cp2112: " Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 28/64] compiler_types.h: Remove __compiletime_object_size() Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 29/64] lib/string: Move helper functions out of string.c Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 30/64] fortify: Move remaining fortify helpers into fortify-string.h Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 31/64] fortify: Explicitly disable Clang support Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 21:18   ` Nathan Chancellor
2021-07-27 21:18     ` Nathan Chancellor
2021-07-27 21:47     ` Kees Cook
2021-07-27 21:47       ` Kees Cook
2021-07-27 20:58 ` [PATCH 32/64] fortify: Add compile-time FORTIFY_SOURCE tests Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 33/64] lib: Introduce CONFIG_TEST_MEMCPY Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 23:31   ` Bart Van Assche
2021-07-27 23:31     ` Bart Van Assche
2021-07-27 23:33     ` Randy Dunlap
2021-07-27 23:33       ` Randy Dunlap
2021-07-28  1:30     ` Kees Cook
2021-07-28  1:30       ` Kees Cook
2021-07-27 20:58 ` [PATCH 34/64] fortify: Detect struct member overflows in memcpy() at compile-time Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 22:43   ` Nick Desaulniers
2021-07-27 22:43     ` Nick Desaulniers
2021-07-28  1:47     ` Kees Cook
2021-07-28  1:47       ` Kees Cook
2021-07-28  0:34   ` kernel test robot
2021-07-28  3:24   ` kernel test robot
2021-07-28 11:19   ` Rasmus Villemoes
2021-07-28 11:19     ` Rasmus Villemoes
2021-07-30  2:39     ` Kees Cook
2021-07-30  2:39       ` Kees Cook
2021-07-28 11:44   ` kernel test robot
2021-07-28 15:22   ` kernel test robot
2021-07-28 22:06   ` kernel test robot
2021-07-27 20:58 ` [PATCH 35/64] fortify: Detect struct member overflows in memmove() " Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-08-02  5:08   ` kernel test robot
2021-07-27 20:58 ` [PATCH 36/64] scsi: ibmvscsi: Avoid multi-field memset() overflow by aiming at srp Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-28  1:39   ` Martin K. Petersen
2021-07-28  1:39     ` Martin K. Petersen
2021-07-28 18:57     ` Kees Cook
2021-07-28 18:57       ` Kees Cook
2021-07-29  3:35       ` Martin K. Petersen
2021-07-29  3:35         ` Martin K. Petersen
2021-07-30 19:11         ` Tyrel Datwyler
2021-07-30 18:16     ` Tyrel Datwyler
2021-07-27 20:58 ` [PATCH 37/64] string.h: Introduce memset_after() for wiping trailing members/padding Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 38/64] xfrm: Use memset_after() to clear padding Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 39/64] mac80211: Use memset_after() to clear tx status Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-31 15:55   ` Kees Cook
2021-08-13  7:40     ` Johannes Berg
2021-08-13 16:08       ` Kees Cook
2021-08-13 18:19         ` Johannes Berg
2021-08-13  7:41     ` Johannes Berg
2021-07-27 20:58 ` [PATCH 40/64] net: 802: Use memset_after() to clear struct fields Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 41/64] net: dccp: Use memset_after() for TP zeroing Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 42/64] net: qede: Use memset_after() for counters Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-31 16:07   ` Kees Cook
2021-07-27 20:58 ` [PATCH 43/64] ath11k: Use memset_after() for clearing queue descriptors Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 44/64] iw_cxgb4: Use memset_after() for cpl_t5_pass_accept_rpl Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 45/64] intel_th: msu: Use memset_after() for clearing hw header Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 46/64] IB/mthca: Use memset_after() for clearing mpt_entry Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 47/64] btrfs: Use memset_after() to clear end of struct Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-28  9:42   ` David Sterba
2021-07-28  9:42     ` David Sterba
2021-07-28 21:56     ` Kees Cook
2021-07-29 10:33       ` David Sterba
2021-07-29 10:33         ` David Sterba
2021-07-31 15:25         ` Kees Cook
2021-08-09 11:20           ` David Sterba
2021-07-27 20:58 ` [PATCH 48/64] drbd: Use struct_group() to zero algs Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-28 21:45   ` Bart Van Assche
2021-07-28 21:45     ` Bart Van Assche
2021-07-30  2:31     ` Kees Cook
2021-07-30  2:31       ` Kees Cook
2021-07-30  2:57       ` Bart Van Assche
2021-07-30  2:57         ` Bart Van Assche
2021-07-30  9:25         ` Lars Ellenberg
2021-07-30  9:25           ` Lars Ellenberg
2021-07-30 15:32       ` Nick Desaulniers
2021-07-27 20:58 ` [PATCH 49/64] cm4000_cs: Use struct_group() to zero struct cm4000_dev region Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-28  5:48   ` Greg Kroah-Hartman
2021-07-28  5:48     ` Greg Kroah-Hartman
2021-07-27 20:58 ` [PATCH 50/64] KVM: x86: Use struct_group() to zero decode cache Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 51/64] tracing: Use struct_group() to zero struct trace_iterator Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 52/64] dm integrity: Use struct_group() to zero struct journal_sector Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 53/64] HID: roccat: Use struct_group() to zero kone_mouse_event Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 54/64] ipv6: Use struct_group() to zero rt6_info Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-29 18:58   ` Jakub Kicinski
2021-07-29 18:58     ` Jakub Kicinski
2021-07-31 15:01     ` Kees Cook
2021-07-27 20:58 ` [PATCH 55/64] RDMA/mlx5: Use struct_group() to zero struct mlx5_ib_mr Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 56/64] ethtool: stats: Use struct_group() to clear all stats at once Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 57/64] netfilter: conntrack: Use struct_group() to zero struct nf_conn Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 58/64] powerpc: Split memset() to avoid multi-field overflow Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-08-05 11:36   ` Michael Ellerman
2021-07-27 20:58 ` [PATCH 59/64] fortify: Detect struct member overflows in memset() at compile-time Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-28  2:59   ` kernel test robot
2021-07-28 17:18   ` kernel test robot
2021-07-27 20:58 ` [PATCH 60/64] fortify: Work around Clang inlining bugs Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 61/64] Makefile: Enable -Warray-bounds Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 62/64] netlink: Avoid false-positive memcpy() warning Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-28  5:49   ` Greg Kroah-Hartman
2021-07-28  5:49     ` Greg Kroah-Hartman
2021-07-28 11:24     ` Rasmus Villemoes
2021-07-28 11:24       ` Rasmus Villemoes
2021-07-30  1:39       ` Kees Cook
2021-07-30  1:39         ` Kees Cook
2021-07-30  1:41     ` Kees Cook
2021-07-30  1:41       ` Kees Cook
2021-07-27 20:58 ` [PATCH 63/64] iwlwifi: dbg_ini: Split memcpy() to avoid multi-field write Kees Cook
2021-07-27 20:58   ` Kees Cook
2021-07-27 20:58 ` [PATCH 64/64] fortify: Add run-time WARN for cross-field memcpy() Kees Cook
2021-07-27 20:58   ` Kees Cook
  -- strict thread matches above, loose matches on Subject: below --
2021-07-28 19:44 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.