From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751476AbdKVATW (ORCPT ); Tue, 21 Nov 2017 19:19:22 -0500 Received: from mail-pf0-f193.google.com ([209.85.192.193]:43295 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751372AbdKVATT (ORCPT ); Tue, 21 Nov 2017 19:19:19 -0500 X-Google-Smtp-Source: AGs4zMYVDy4Gw6SXJFIpPvehz4SBCwMnENFVo51atYc/dgMZAXVYg4YgLf5BuxuSnIwmgbBFg9X0Jw== Date: Tue, 21 Nov 2017 16:19:15 -0800 From: Kees Cook To: Thomas Gleixner Cc: linux-kernel@vger.kernel.org Subject: [GIT PULL] final timer conversion update for v4.15-rc1 Message-ID: <20171122001915.GA55488@beast> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Thomas, Please pull and forward this final set of changes needed to finish the timer conversions, intended for v4.15-rc1. All the dependent trees have landed, so this is it. The bulk of the changes are the treewide bits in the middle. Their commit logs are rather long since Linus had recommended to me that I include the script in the log, and didn't seem to mind when I mentioned they might be very long. :) Thanks! -Kees The following changes since commit 0c86a6bd85ff0629cd2c5141027fc1c8bb6cde9c: Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (2017-11-21 05:56:12 -1000) are available in the git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git tags/for-linus-timers-conversion-final-v4.15-rc1 for you to fetch changes up to c10d4a0af0eb5d549193de2593791d1dd29895db: treewide: Remove TIMER_FUNC_TYPE cast (2017-11-21 15:57:16 -0800) ---------------------------------------------------------------- - final batch of "non trivial" timer conversions (multi-tree dependencies, things Coccinelle couldn't handle, etc). - treewide conversions via Coccinelle, in 4 steps: - DEFINE_TIMER() functions converted to struct timer_list * argument - init_timer() -> setup_timer() - setup_timer() -> timer_setup() - setup_timer() -> timer_setup() (with a single embedded structure) - deprecated timer API removals (init_timer(), setup_*timer()) - finalization of new API (remove global casts) ---------------------------------------------------------------- Kees Cook (22): drivers/firmware: psci: Convert timers to use timer_setup() usb: usbatm: Convert timers to use timer_setup() drm/i915/selftests: Convert timers to use timer_setup() net/atm/mpc: Avoid open-coded assignment of timer callback function block/laptop_mode: Convert timers to use timer_setup() drm/vc4: Convert timers to use timer_setup() drivers/net: cris: Convert timers to use timer_setup() lightnvm: Convert timers to use timer_setup() s390: cmm: Convert timers to use timer_setup() treewide: Switch DEFINE_TIMER callbacks to struct timer_list * treewide: init_timer() -> setup_timer() treewide: setup_timer() -> timer_setup() treewide: setup_timer() -> timer_setup() (2 field) timer: Remove init_timer() interface timer: Remove setup_*timer() interface Coccinelle: Remove setup_timer.cocci timer: Pass timer_list pointer to callbacks unconditionally timer: Switch callback prototype to take struct timer_list * argument timer: Remove unused data arguments from macros timer: Pass function down to initialization routines timer: Remove redundant __setup_timer*() macros treewide: Remove TIMER_FUNC_TYPE cast Documentation/core-api/local_ops.rst | 10 +- arch/alpha/kernel/srmcons.c | 7 +- arch/arm/mach-iop32x/n2100.c | 5 +- arch/arm/mach-ixp4xx/dsmg600-setup.c | 4 +- arch/arm/mach-ixp4xx/nas100d-setup.c | 4 +- arch/arm/mach-orion5x/db88f5281-setup.c | 4 +- arch/blackfin/kernel/nmi.c | 5 +- arch/m68k/amiga/amisound.c | 4 +- arch/m68k/mac/macboing.c | 4 +- arch/mips/lasat/picvue_proc.c | 4 +- arch/mips/mti-malta/malta-display.c | 4 +- arch/parisc/kernel/pdc_cons.c | 4 +- arch/powerpc/kernel/tau_6xx.c | 4 +- arch/powerpc/kvm/booke.c | 7 +- arch/powerpc/oprofile/op_model_cell.c | 8 +- arch/powerpc/platforms/cell/spufs/sched.c | 8 +- arch/powerpc/platforms/powermac/low_i2c.c | 6 +- arch/s390/kernel/time.c | 4 +- arch/s390/mm/cmm.c | 8 +- arch/sh/drivers/heartbeat.c | 6 +- arch/sh/drivers/pci/common.c | 16 +- arch/sh/drivers/push-switch.c | 9 +- block/blk-core.c | 10 +- block/blk-stat.c | 6 +- block/blk-throttle.c | 9 +- drivers/atm/ambassador.c | 9 +- drivers/atm/firestream.c | 8 +- drivers/atm/horizon.c | 8 +- drivers/atm/idt77105.c | 8 +- drivers/atm/idt77252.c | 6 +- drivers/atm/iphase.c | 4 +- drivers/atm/lanai.c | 8 +- drivers/atm/nicstar.c | 8 +- drivers/base/power/wakeup.c | 2 +- drivers/block/DAC960.c | 9 +- drivers/block/DAC960.h | 2 +- drivers/block/aoe/aoecmd.c | 2 +- drivers/block/ataflop.c | 16 +- drivers/block/rsxx/cregs.c | 7 +- drivers/block/rsxx/dma.c | 7 +- drivers/block/skd_main.c | 6 +- drivers/block/sunvdc.c | 9 +- drivers/block/swim3.c | 2 +- drivers/block/umem.c | 5 +- drivers/block/xsysace.c | 6 +- drivers/char/dtlk.c | 4 +- drivers/char/hangcheck-timer.c | 4 +- drivers/char/ipmi/bt-bmc.c | 7 +- drivers/char/ipmi/ipmi_msghandler.c | 4 +- drivers/char/ipmi/ipmi_si_intf.c | 6 +- drivers/char/ipmi/ipmi_ssif.c | 7 +- drivers/char/nwbutton.c | 4 +- drivers/char/nwbutton.h | 2 +- drivers/char/rtc.c | 4 +- drivers/char/tpm/tpm-dev-common.c | 7 +- drivers/firmware/psci_checker.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 8 +- drivers/gpu/drm/drm_vblank.c | 11 +- drivers/gpu/drm/exynos/exynos_drm_vidi.c | 6 +- drivers/gpu/drm/i2c/tda998x_drv.c | 7 +- drivers/gpu/drm/i915/selftests/lib_sw_fence.c | 6 +- drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 7 +- drivers/gpu/drm/msm/msm_gpu.c | 7 +- drivers/gpu/drm/omapdrm/dss/dsi.c | 6 +- drivers/gpu/drm/rockchip/rockchip_drm_psr.c | 6 +- drivers/gpu/drm/vc4/vc4_bo.c | 9 +- drivers/gpu/drm/vc4/vc4_gem.c | 10 +- drivers/gpu/drm/vgem/vgem_fence.c | 6 +- drivers/gpu/drm/via/via_dmablit.c | 7 +- drivers/hid/hid-appleir.c | 7 +- drivers/hid/hid-prodikeys.c | 7 +- drivers/hid/hid-wiimote-core.c | 6 +- drivers/iio/common/ssp_sensors/ssp_dev.c | 6 +- drivers/infiniband/hw/mlx5/mr.c | 6 +- drivers/infiniband/hw/mthca/mthca_catas.c | 8 +- drivers/infiniband/hw/nes/nes_verbs.c | 2 +- drivers/input/gameport/gameport.c | 7 +- drivers/input/input.c | 2 +- drivers/input/joystick/db9.c | 6 +- drivers/input/joystick/gamecon.c | 6 +- drivers/input/joystick/turbografx.c | 6 +- drivers/input/touchscreen/s3c2410_ts.c | 2 +- drivers/iommu/iova.c | 8 +- drivers/isdn/capi/capidrv.c | 6 +- drivers/isdn/divert/isdn_divert.c | 9 +- drivers/isdn/hardware/eicon/divasi.c | 9 +- drivers/isdn/hardware/mISDN/hfcmulti.c | 8 +- drivers/isdn/hardware/mISDN/hfcpci.c | 10 +- drivers/isdn/hardware/mISDN/mISDNisar.c | 10 +- drivers/isdn/i4l/isdn_common.c | 5 +- drivers/isdn/i4l/isdn_net.c | 9 +- drivers/isdn/i4l/isdn_ppp.c | 9 +- drivers/isdn/i4l/isdn_tty.c | 7 +- drivers/lightnvm/pblk-core.c | 4 +- drivers/lightnvm/pblk-gc.c | 6 +- drivers/lightnvm/pblk-init.c | 2 +- drivers/lightnvm/pblk-rl.c | 6 +- drivers/lightnvm/pblk.h | 2 +- drivers/lightnvm/rrpc.c | 6 +- drivers/media/common/saa7146/saa7146_vbi.c | 2 +- drivers/media/platform/fsl-viu.c | 7 +- drivers/media/platform/s5p-mfc/s5p_mfc.c | 8 +- .../media/platform/sti/c8sectpfe/c8sectpfe-core.c | 7 +- drivers/media/platform/vim2m.c | 6 +- drivers/media/usb/au0828/au0828-dvb.c | 8 +- drivers/media/usb/au0828/au0828-video.c | 14 +- drivers/memstick/core/ms_block.c | 7 +- drivers/mfd/rtsx_usb.c | 6 +- drivers/mmc/core/host.c | 6 +- drivers/mtd/sm_ftl.c | 6 +- drivers/net/caif/caif_hsi.c | 21 +- drivers/net/cris/eth_v10.c | 36 ++- drivers/net/dsa/mv88e6xxx/phy.c | 7 +- drivers/net/eql.c | 6 +- drivers/net/ethernet/adi/bfin_mac.c | 9 +- drivers/net/ethernet/agere/et131x.c | 7 +- drivers/net/ethernet/amazon/ena/ena_netdev.c | 7 +- drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 14 +- drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 8 +- drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 8 +- drivers/net/ethernet/atheros/atlx/atl1.c | 8 +- drivers/net/ethernet/atheros/atlx/atl2.c | 15 +- drivers/net/ethernet/broadcom/b44.c | 6 +- drivers/net/ethernet/broadcom/bnx2.c | 6 +- drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 6 +- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 6 +- drivers/net/ethernet/broadcom/tg3.c | 6 +- drivers/net/ethernet/cisco/enic/enic_clsf.c | 4 +- drivers/net/ethernet/cisco/enic/enic_clsf.h | 5 +- drivers/net/ethernet/cisco/enic/enic_main.c | 7 +- drivers/net/ethernet/marvell/mv643xx_eth.c | 13 +- drivers/net/ethernet/marvell/pxa168_eth.c | 7 +- drivers/net/ethernet/marvell/skge.c | 6 +- drivers/net/ethernet/marvell/sky2.c | 6 +- drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 7 +- .../net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 8 +- drivers/net/ethernet/pasemi/pasemi_mac.c | 7 +- drivers/net/ethernet/qlogic/qla3xxx.c | 6 +- drivers/net/ethernet/rocker/rocker_ofdpa.c | 7 +- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 15 +- drivers/net/ethernet/synopsys/dwc-xlgmac-net.c | 7 +- drivers/net/ethernet/ti/cpsw_ale.c | 6 +- drivers/net/ethernet/ti/netcp_ethss.c | 7 +- drivers/net/ethernet/ti/tlan.c | 6 +- drivers/net/ethernet/toshiba/spider_net.c | 16 +- drivers/net/hamradio/scc.c | 8 +- drivers/net/slip/slip.c | 16 +- drivers/net/tun.c | 8 +- drivers/net/wan/hdlc_ppp.c | 6 +- drivers/net/wireless/atmel/at76c50x-usb.c | 4 +- .../wireless/broadcom/brcm80211/brcmfmac/btcoex.c | 6 +- .../broadcom/brcm80211/brcmfmac/cfg80211.c | 7 +- .../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 7 +- drivers/net/wireless/intel/iwlwifi/dvm/main.c | 14 +- drivers/net/wireless/intel/iwlwifi/dvm/tt.c | 18 +- drivers/net/wireless/intel/iwlwifi/pcie/tx.c | 7 +- drivers/net/wireless/intersil/hostap/hostap_ap.c | 8 +- drivers/net/wireless/intersil/hostap/hostap_hw.c | 17 +- .../net/wireless/intersil/orinoco/orinoco_usb.c | 6 +- drivers/net/wireless/quantenna/qtnfmac/cfg80211.c | 2 +- drivers/net/wireless/quantenna/qtnfmac/core.c | 2 +- drivers/net/wireless/ray_cs.c | 12 +- drivers/net/wireless/ti/wlcore/main.c | 7 +- drivers/net/xen-netfront.c | 7 +- drivers/nfc/nfcmrvl/fw_dnld.c | 7 +- drivers/nfc/pn533/pn533.c | 8 +- drivers/nfc/st-nci/ndlc.c | 17 +- drivers/nfc/st-nci/se.c | 19 +- drivers/nfc/st21nfca/se.c | 19 +- drivers/ntb/test/ntb_pingpong.c | 8 +- drivers/platform/x86/sony-laptop.c | 4 +- drivers/pps/clients/pps-ktimer.c | 4 +- drivers/rtc/rtc-dev.c | 6 +- drivers/s390/block/dasd.c | 20 +- drivers/s390/char/sclp.c | 2 +- drivers/s390/net/fsm.c | 11 +- drivers/s390/scsi/zfcp_fsf.c | 4 +- drivers/scsi/aic94xx/aic94xx_hwi.c | 2 +- drivers/scsi/aic94xx/aic94xx_tmf.c | 2 +- drivers/scsi/arcmsr/arcmsr_hba.c | 14 +- drivers/scsi/arm/fas216.c | 8 +- drivers/scsi/be2iscsi/be_main.c | 4 +- drivers/scsi/bfa/bfad.c | 8 +- drivers/scsi/bfa/bfad_drv.h | 2 +- drivers/scsi/bnx2fc/bnx2fc_tgt.c | 16 +- drivers/scsi/cxgbi/cxgb3i/cxgb3i.c | 4 +- drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 4 +- drivers/scsi/esas2r/esas2r_main.c | 10 +- drivers/scsi/fcoe/fcoe_ctlr.c | 8 +- drivers/scsi/fnic/fnic_main.c | 14 +- drivers/scsi/hisi_sas/hisi_sas_main.c | 4 +- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 6 +- drivers/scsi/ipr.c | 8 +- drivers/scsi/libfc/fc_fcp.c | 6 +- drivers/scsi/libsas/sas_expander.c | 2 +- drivers/scsi/libsas/sas_scsi_host.c | 2 +- drivers/scsi/mvsas/mv_sas.c | 4 +- drivers/scsi/ncr53c8xx.c | 8 +- drivers/scsi/pm8001/pm8001_sas.c | 4 +- drivers/scsi/pmcraid.c | 10 +- drivers/scsi/sym53c8xx_2/sym_glue.c | 8 +- drivers/staging/greybus/operation.c | 7 +- drivers/staging/irda/include/net/irda/timer.h | 2 +- drivers/staging/lustre/lnet/lnet/net_fault.c | 6 +- drivers/staging/lustre/lustre/ptlrpc/service.c | 9 +- drivers/staging/media/imx/imx-ic-prpencvf.c | 7 +- drivers/staging/media/imx/imx-media-csi.c | 7 +- drivers/staging/most/hdm-usb/hdm_usb.c | 7 +- .../staging/rtl8192u/ieee80211/ieee80211_softmac.c | 16 +- drivers/staging/rtl8712/recv_linux.c | 9 +- drivers/staging/rtl8712/rtl8712_led.c | 9 +- drivers/staging/speakup/main.c | 4 +- drivers/staging/speakup/synth.c | 2 +- drivers/staging/unisys/visorbus/visorbus_main.c | 6 +- drivers/staging/unisys/visornic/visornic_main.c | 8 +- drivers/staging/wilc1000/wilc_wfi_cfgoperations.c | 8 +- drivers/target/target_core_user.c | 7 +- drivers/tty/cyclades.c | 4 +- drivers/tty/ipwireless/hardware.c | 11 +- drivers/tty/isicom.c | 4 +- drivers/tty/moxa.c | 4 +- drivers/tty/n_gsm.c | 12 +- drivers/tty/n_r3964.c | 8 +- drivers/tty/rocket.c | 4 +- drivers/tty/serial/8250/8250_core.c | 4 +- drivers/tty/serial/crisv10.c | 4 +- drivers/tty/serial/fsl_lpuart.c | 7 +- drivers/tty/serial/ifx6x60.c | 7 +- drivers/tty/serial/imx.c | 6 +- drivers/tty/serial/kgdb_nmi.c | 6 +- drivers/tty/serial/max3100.c | 7 +- drivers/tty/serial/mux.c | 4 +- drivers/tty/serial/pnx8xxx_uart.c | 7 +- drivers/tty/serial/sa1100.c | 7 +- drivers/tty/serial/sh-sci.c | 16 +- drivers/tty/serial/sn_console.c | 6 +- drivers/tty/synclink.c | 8 +- drivers/tty/synclink_gt.c | 16 +- drivers/tty/synclinkmp.c | 17 +- drivers/tty/vt/keyboard.c | 2 +- drivers/tty/vt/vt.c | 4 +- drivers/usb/atm/cxacru.c | 23 +- drivers/usb/atm/speedtch.c | 16 +- drivers/usb/atm/usbatm.c | 10 +- drivers/usb/core/hcd.c | 8 +- drivers/usb/dwc2/hcd.c | 7 +- drivers/usb/dwc2/hcd_queue.c | 7 +- drivers/usb/gadget/udc/at91_udc.c | 7 +- drivers/usb/gadget/udc/dummy_hcd.c | 8 +- drivers/usb/gadget/udc/m66592-udc.c | 6 +- drivers/usb/gadget/udc/omap_udc.c | 8 +- drivers/usb/gadget/udc/pxa25x_udc.c | 6 +- drivers/usb/gadget/udc/r8a66597-udc.c | 6 +- drivers/usb/host/ohci-hcd.c | 9 +- drivers/usb/host/oxu210hp-hcd.c | 6 +- drivers/usb/host/r8a66597-hcd.c | 7 +- drivers/usb/host/sl811-hcd.c | 6 +- drivers/usb/host/uhci-hcd.c | 3 +- drivers/usb/host/uhci-q.c | 4 +- drivers/usb/host/xhci.c | 8 +- drivers/usb/serial/mos7840.c | 15 +- drivers/usb/storage/realtek_cr.c | 7 +- drivers/uwb/drp.c | 6 +- drivers/uwb/neh.c | 8 +- drivers/uwb/rsv.c | 15 +- drivers/uwb/uwb-internal.h | 2 +- drivers/watchdog/alim7101_wdt.c | 4 +- drivers/watchdog/at91sam9_wdt.c | 6 +- drivers/watchdog/bcm47xx_wdt.c | 9 +- drivers/watchdog/bcm63xx_wdt.c | 4 +- drivers/watchdog/cpu5wdt.c | 4 +- drivers/watchdog/machzwd.c | 4 +- drivers/watchdog/mixcomwd.c | 4 +- drivers/watchdog/mpc8xxx_wdt.c | 7 +- drivers/watchdog/mtx-1_wdt.c | 4 +- drivers/watchdog/nuc900_wdt.c | 4 +- drivers/watchdog/pcwd.c | 4 +- drivers/watchdog/pika_wdt.c | 4 +- drivers/watchdog/rdc321x_wdt.c | 4 +- drivers/watchdog/sbc60xxwdt.c | 4 +- drivers/watchdog/sc520_wdt.c | 4 +- drivers/watchdog/shwdt.c | 6 +- drivers/watchdog/via_wdt.c | 4 +- drivers/watchdog/w83877f_wdt.c | 4 +- drivers/xen/grant-table.c | 4 +- fs/ocfs2/cluster/tcp.c | 9 +- fs/pstore/platform.c | 4 +- include/linux/kthread.h | 10 +- include/linux/timer.h | 120 +++------ include/linux/workqueue.h | 17 +- include/linux/writeback.h | 2 +- kernel/irq/spurious.c | 4 +- kernel/kthread.c | 2 +- kernel/padata.c | 6 +- kernel/time/clocksource.c | 5 +- kernel/time/timer.c | 40 +-- kernel/workqueue.c | 2 +- lib/random32.c | 4 +- mm/page-writeback.c | 7 +- net/802/garp.c | 6 +- net/802/mrp.c | 13 +- net/appletalk/aarp.c | 4 +- net/appletalk/ddp.c | 7 +- net/atm/lec.c | 6 +- net/atm/mpc.c | 3 +- net/batman-adv/tp_meter.c | 14 +- net/bluetooth/hidp/core.c | 7 +- net/bluetooth/rfcomm/core.c | 12 +- net/bluetooth/sco.c | 6 +- net/can/proc.c | 4 +- net/core/drop_monitor.c | 7 +- net/core/gen_estimator.c | 6 +- net/core/neighbour.c | 14 +- net/decnet/dn_route.c | 8 +- net/decnet/dn_timer.c | 8 +- net/ipv4/igmp.c | 20 +- net/ipv4/ipmr.c | 9 +- net/ipv6/addrconf.c | 9 +- net/ipv6/ip6_fib.c | 10 +- net/ipv6/ip6_flowlabel.c | 4 +- net/ipv6/ip6mr.c | 9 +- net/ipv6/mcast.c | 33 ++- net/lapb/lapb_timer.c | 4 +- net/ncsi/ncsi-manage.c | 15 +- net/netfilter/nf_conntrack_expect.c | 7 +- net/netfilter/nfnetlink_log.c | 8 +- net/netfilter/xt_IDLETIMER.c | 7 +- net/netfilter/xt_LED.c | 8 +- net/netrom/af_netrom.c | 2 +- net/netrom/nr_loopback.c | 4 +- net/netrom/nr_timer.c | 2 +- net/nfc/nci/core.c | 14 +- net/rose/rose_link.c | 4 +- net/rose/rose_timer.c | 12 +- net/rxrpc/call_object.c | 7 +- net/sunrpc/svc_xprt.c | 2 +- net/wireless/lib80211.c | 11 +- net/x25/af_x25.c | 2 +- net/x25/x25_link.c | 8 +- net/x25/x25_timer.c | 2 +- net/xfrm/xfrm_state.c | 9 +- scripts/coccinelle/api/setup_timer.cocci | 277 --------------------- security/keys/gc.c | 4 +- sound/usb/line6/driver.c | 2 +- 344 files changed, 1212 insertions(+), 1705 deletions(-) delete mode 100644 scripts/coccinelle/api/setup_timer.cocci -- Kees Cook Pixel Security