This is the start of the stable review cycle for the 4.19.199 release. There are 119 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know. Responses should be made by Thu, 29 Jul 2021 11:20:50 +0000. Anything received after that time might be too late. The whole patch series can be found in one patch at: https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.19.199-rc3.gz or in the git tree and branch at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y and the diffstat can be found below. thanks, greg k-h ------------- Pseudo-Shortlog of commits: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Linux 4.19.199-rc3 Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> xhci: add xhci_get_virt_ep() helper Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> spi: spi-fsl-dspi: Fix a resource leak in an error handling path Evan Quan <evan.quan@xxxxxxx> PCI: Mark AMD Navi14 GPU ATS as broken David Sterba <dsterba@xxxxxxxx> btrfs: compression: don't try to compress if we don't have enough pages Stephan Gerhold <stephan@xxxxxxxxxxx> iio: accel: bma180: Fix BMA25x bandwidth register values Linus Walleij <linus.walleij@xxxxxxxxxx> iio: accel: bma180: Use explicit member assignment Doug Berger <opendmb@xxxxxxxxx> net: bcmgenet: ensure EXT_ENERGY_DET_MASK is clear Marek Behún <kabel@xxxxxxxxxx> net: dsa: mv88e6xxx: use correct .stats_set_histogram() on Topaz Sean Christopherson <seanjc@xxxxxxxxxx> KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped() Nicholas Piggin <npiggin@xxxxxxxxx> KVM: do not allow mapping valid but non-reference-counted pages Paolo Bonzini <pbonzini@xxxxxxxxxx> KVM: do not assume PTE is writable after follow_pfn Charles Baylis <cb-kernel@xxxxxxxxxxxxx> drm: Return -ENOTTY for non-drm ioctls Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> nds32: fix up stack guard gap Peter Collingbourne <pcc@xxxxxxxxxx> selftest: use mmap instead of posix_memalign to allocate memory Markus Boehme <markubo@xxxxxxxxxx> ixgbe: Fix packet corruption due to missing DMA sync Gustavo A. R. Silva <gustavoars@xxxxxxxxxx> media: ngene: Fix out-of-bounds bug in ngene_command_config_free_buf() Haoran Luo <www@xxxxxxxxxxxxxx> tracing: Fix bug in rb_per_cpu_empty() that might cause deadloop. Minas Harutyunyan <Minas.Harutyunyan@xxxxxxxxxxxx> usb: dwc2: gadget: Fix sending zero length packet in DDMA mode. John Keeping <john@xxxxxxxxxxxx> USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick Ian Ray <ian.ray@xxxxxx> USB: serial: cp210x: fix comments for GE CS1000 Marco De Marco <marco.demarco@xxxxxxxxxx> USB: serial: option: add support for u-blox LARA-R6 family Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> usb: renesas_usbhs: Fix superfluous irqs happen after usb_pkt_pop() Mark Tomlinson <mark.tomlinson@xxxxxxxxxxxxxxxxxxx> usb: max-3421: Prevent corruption of freed memory Julian Sikorski <belegdol@xxxxxxxxx> USB: usb-storage: Add LaCie Rugged USB3-FW to IGNORE_UAS Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> usb: hub: Fix link power management max exit latency (MEL) calculations Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> usb: hub: Disable USB 3 device initiated lpm if exit latency is too high Nicholas Piggin <npiggin@xxxxxxxxx> KVM: PPC: Book3S: Fix H_RTAS rets buffer overflow Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> xhci: Fix lost USB 2 remote wake Takashi Iwai <tiwai@xxxxxxx> ALSA: sb: Fix potential ABBA deadlock in CSP driver Alexander Tsoy <alexander@xxxxxxx> ALSA: usb-audio: Add registration quirk for JBL Quantum headsets Vasily Gorbik <gor@xxxxxxxxxxxxx> s390/ftrace: fix ftrace_update_ftrace_func implementation Huang Pei <huangpei@xxxxxxxxxxx> Revert "MIPS: add PMD table accounting into MIPS'pmd_alloc_one" Marcelo Henrique Cerri <marcelo.cerri@xxxxxxxxxxxxx> proc: Avoid mixing integer types in mem_rw() Maxime Ripard <maxime@xxxxxxxxxx> drm/panel: raspberrypi-touchscreen: Prevent double-free Yajun Deng <yajun.deng@xxxxxxxxx> net: sched: cls_api: Fix the the wrong parameter Xin Long <lucien.xin@xxxxxxxxx> sctp: update active_key for asoc when old key is being replaced Vincent Palatin <vpalatin@xxxxxxxxxxxx> Revert "USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem" Zhihao Cheng <chengzhihao1@xxxxxxxxxx> nvme-pci: don't WARN_ON in nvme_reset_work if ctrl.state is not RESETTING Peilin Ye <peilin.ye@xxxxxxxxxxxxx> net/sched: act_skbmod: Skip non-Ethernet packets Eric Dumazet <edumazet@xxxxxxxxxx> net/tcp_fastopen: fix data races around tfo_active_disable_stamp Marek Vasut <marex@xxxxxxx> spi: cadence: Correct initialisation of runtime PM again Dmitry Bogdanov <d.bogdanov@xxxxxxxxx> scsi: target: Fix protect handling in WRITE SAME(32) Mike Christie <michael.christie@xxxxxxxxxx> scsi: iscsi: Fix iface sysfs attr detection Nguyen Dinh Phi <phind.uet@xxxxxxxxx> netrom: Decrease sock refcount when sock timers expire Nicholas Piggin <npiggin@xxxxxxxxx> KVM: PPC: Fix kvm_arch_vcpu_ioctl vcpu_load leak Yajun Deng <yajun.deng@xxxxxxxxx> net: decnet: Fix sleeping inside in af_decnet Ziyang Xuan <william.xuanziyang@xxxxxxxxxx> net: fix uninit-value in caif_seqpkt_sendmsg Tobias Klauser <tklauser@xxxxxxxxxx> bpftool: Check malloc return value in mount_bpffs_for_pin Colin Ian King <colin.king@xxxxxxxxxxxxx> s390/bpf: Perform r1 range checking before accessing jit->seen_reg[r1] Colin Ian King <colin.king@xxxxxxxxxxxxx> liquidio: Fix unintentional sign extension issue on left shift of u16 Peter Hess <peter.hess@xxxxxxxxxx> spi: mediatek: fix fifo rx mode Riccardo Mancini <rickyman7@xxxxxxxxx> perf probe-file: Delete namelist in del_events() on the error path Riccardo Mancini <rickyman7@xxxxxxxxx> perf test bpf: Free obj_buf Riccardo Mancini <rickyman7@xxxxxxxxx> perf lzma: Close lzma stream on exit Riccardo Mancini <rickyman7@xxxxxxxxx> perf dso: Fix memory leak in dso__new_map() Riccardo Mancini <rickyman7@xxxxxxxxx> perf probe: Fix dso->nsinfo refcounting Riccardo Mancini <rickyman7@xxxxxxxxx> perf map: Fix dso->nsinfo refcounting Casey Chen <cachen@xxxxxxxxxxxxxxx> nvme-pci: do not call nvme_dev_remove_admin from nvme_remove Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> ipv6: fix 'disable_policy' for fwd packets Jedrzej Jagielski <jedrzej.jagielski@xxxxxxxxx> igb: Fix position of assignment to *ring Aleksandr Loktionov <aleksandr.loktionov@xxxxxxxxx> igb: Check if num of q_vectors is smaller than max before array access Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> iavf: Fix an error handling path in 'iavf_probe()' Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> e1000e: Fix an error handling path in 'e1000_probe()' Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> fm10k: Fix an error handling path in 'fm10k_probe()' Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> igb: Fix an error handling path in 'igb_probe()' Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> ixgbe: Fix an error handling path in 'ixgbe_probe()' Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxx> igb: Fix use-after-free error during reset Hangbin Liu <liuhangbin@xxxxxxxxx> net: ip_tunnel: fix mtu calculation for ETHER tunnel devices Eric Dumazet <edumazet@xxxxxxxxxx> udp: annotate data races around unix_sk(sk)->gso_size Gu Shengxian <gushengxian@xxxxxxxxxx> bpftool: Properly close va_list 'ap' by va_end() on error Eric Dumazet <edumazet@xxxxxxxxxx> ipv6: tcp: drop silly ICMPv6 packet too big messages Eric Dumazet <edumazet@xxxxxxxxxx> tcp: annotate data races around tp->mtu_info Jason Ekstrand <jason@xxxxxxxxxxxxxx> dma-buf/sync_file: Don't leak fences on merge failure Taehee Yoo <ap420073@xxxxxxxxx> net: validate lwtstate->data before returning from skb_tunnel_info() Alexander Ovechkin <ovov@xxxxxxxxxxxxxx> net: send SYNACK packet with accepted fwmark Pavel Skripkin <paskripkin@xxxxxxxxx> net: ti: fix UAF in tlan_remove_one Pavel Skripkin <paskripkin@xxxxxxxxx> net: qcom/emac: fix UAF in emac_remove Pavel Skripkin <paskripkin@xxxxxxxxx> net: moxa: fix UAF in moxart_mac_probe Florian Fainelli <f.fainelli@xxxxxxxxx> net: bcmgenet: Ensure all TX/RX queues DMAs are disabled Wolfgang Bumiller <w.bumiller@xxxxxxxxxxx> net: bridge: sync fdb to new unicast-filtering ports Vasily Averin <vvs@xxxxxxxxxxxxx> netfilter: ctnetlink: suspicious RCU usage in ctnetlink_dump_helpinfo Vadim Fedorenko <vfedorenko@xxxxxxxx> net: ipv6: fix return value of ip6_skb_dst_mtu Marek Behún <kabel@xxxxxxxxxx> net: dsa: mv88e6xxx: enable .rmu_disable() on Topaz Mikulas Patocka <mpatocka@xxxxxxxxxx> dm writecache: fix writing beyond end of underlying device when shrinking Mikulas Patocka <mpatocka@xxxxxxxxxx> dm writecache: return the exact table values that were set Nanyong Sun <sunnanyong@xxxxxxxxxx> mm: slab: fix kmem_cache_create failed when sysfs node not destroyed Odin Ugedal <odin@xxxxxxx> sched/fair: Fix CFS bandwidth hrtimer expiry type Javed Hasan <jhasan@xxxxxxxxxxx> scsi: libfc: Fix array index out of bound exception Yufen Yu <yuyufen@xxxxxxxxxx> scsi: libsas: Add LUN number check in .slave_alloc callback Colin Ian King <colin.king@xxxxxxxxxxxxx> scsi: aic7xxx: Fix unintentional sign extension issue on left shift of u8 Krzysztof Kozlowski <krzk@xxxxxxxxxx> rtc: max77686: Do not enforce (incorrect) interrupt trigger type Matthias Maennich <maennich@xxxxxxxxxx> kbuild: mkcompile_h: consider timestamp if KBUILD_BUILD_TIMESTAMP is set Yang Yingliang <yangyingliang@xxxxxxxxxx> thermal/core: Correct function name thermal_zone_device_unregister() Mian Yousaf Kaukab <ykaukab@xxxxxxx> arm64: dts: ls208xa: remove bus-num from dspi node Thierry Reding <treding@xxxxxxxxxx> soc/tegra: fuse: Fix Tegra234-only builds Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx> ARM: dts: stm32: move stmmac axi config in ethernet node on stm32mp15 Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx> ARM: dts: stm32: fix i2c node name on stm32f746 to prevent warnings Johan Jonker <jbx6244@xxxxxxxxx> ARM: dts: rockchip: fix supply properties in io-domains nodes Sudeep Holla <sudeep.holla@xxxxxxx> arm64: dts: juno: Update SCPI nodes as per the YAML schema Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx> ARM: dts: stm32: fix timer nodes on STM32 MCU to prevent warnings Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx> ARM: dts: stm32: fix RCC node name on stm32f429 MCU Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx> ARM: dts: stm32: fix gpio-keys node on STM32 MCU boards Bixuan Cui <cuibixuan@xxxxxxxxxx> rtc: mxc_v2: add missing MODULE_DEVICE_TABLE Jonathan Neuschäfer <j.neuschaefer@xxxxxxx> ARM: imx: pm-imx5: Fix references to imx5_cpu_suspend_info Primoz Fiser <primoz.fiser@xxxxxxxxx> ARM: dts: imx6: phyFLEX: Fix UART hardware flow control Rafał Miłecki <rafal@xxxxxxxxxx> ARM: dts: Hurricane 2: Fix NAND nodes names Rafał Miłecki <rafal@xxxxxxxxxx> ARM: dts: BCM63xx: Fix NAND nodes names Rafał Miłecki <rafal@xxxxxxxxxx> ARM: NSP: dts: fix NAND nodes names Rafał Miłecki <rafal@xxxxxxxxxx> ARM: Cygnus: dts: fix NAND nodes names Rafał Miłecki <rafal@xxxxxxxxxx> ARM: brcmstb: dts: fix NAND nodes names Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> reset: ti-syscon: fix to_ti_syscon_reset_data macro Elaine Zhang <zhangqing@xxxxxxxxxxxxxx> arm64: dts: rockchip: Fix power-controller node names for rk3328 Elaine Zhang <zhangqing@xxxxxxxxxxxxxx> ARM: dts: rockchip: Fix power-controller node names for rk3288 Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxxxxx> ARM: dts: rockchip: Fix IOMMU nodes properties on rk322x Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx> ARM: dts: rockchip: Fix the timer clocks order Johan Jonker <jbx6244@xxxxxxxxx> arm64: dts: rockchip: fix pinctrl sleep nodename for rk3399.dtsi Johan Jonker <jbx6244@xxxxxxxxx> ARM: dts: rockchip: fix pinctrl sleep nodename for rk3036-kylin and rk3288 Corentin Labbe <clabbe@xxxxxxxxxxxx> ARM: dts: gemini: add device_type on pci Corentin Labbe <clabbe@xxxxxxxxxxxx> ARM: dts: gemini: rename mdio to the right name ------------- Diffstat: Makefile | 4 +- arch/arm/boot/dts/bcm-cygnus.dtsi | 2 +- arch/arm/boot/dts/bcm-hr2.dtsi | 2 +- arch/arm/boot/dts/bcm-nsp.dtsi | 2 +- arch/arm/boot/dts/bcm63138.dtsi | 2 +- arch/arm/boot/dts/bcm7445-bcm97445svmb.dts | 4 +- arch/arm/boot/dts/bcm7445.dtsi | 2 +- arch/arm/boot/dts/bcm911360_entphn.dts | 4 +- arch/arm/boot/dts/bcm958300k.dts | 4 +- arch/arm/boot/dts/bcm958305k.dts | 4 +- arch/arm/boot/dts/bcm958522er.dts | 4 +- arch/arm/boot/dts/bcm958525er.dts | 4 +- arch/arm/boot/dts/bcm958525xmc.dts | 4 +- arch/arm/boot/dts/bcm958622hr.dts | 4 +- arch/arm/boot/dts/bcm958623hr.dts | 4 +- arch/arm/boot/dts/bcm958625hr.dts | 4 +- arch/arm/boot/dts/bcm958625k.dts | 4 +- arch/arm/boot/dts/bcm963138dvt.dts | 4 +- arch/arm/boot/dts/bcm988312hr.dts | 4 +- arch/arm/boot/dts/gemini-dlink-dns-313.dts | 2 +- arch/arm/boot/dts/gemini-nas4220b.dts | 2 +- arch/arm/boot/dts/gemini-rut1xx.dts | 2 +- arch/arm/boot/dts/gemini-wbd111.dts | 2 +- arch/arm/boot/dts/gemini-wbd222.dts | 2 +- arch/arm/boot/dts/gemini.dtsi | 1 + arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi | 5 +- arch/arm/boot/dts/rk3036-kylin.dts | 2 +- arch/arm/boot/dts/rk3188.dtsi | 8 +- arch/arm/boot/dts/rk322x.dtsi | 10 +- arch/arm/boot/dts/rk3288-rock2-som.dtsi | 2 +- arch/arm/boot/dts/rk3288-vyasa.dts | 4 +- arch/arm/boot/dts/rk3288.dtsi | 14 +-- arch/arm/boot/dts/stm32429i-eval.dts | 8 +- arch/arm/boot/dts/stm32746g-eval.dts | 6 +- arch/arm/boot/dts/stm32f429-disco.dts | 6 +- arch/arm/boot/dts/stm32f429.dtsi | 10 +- arch/arm/boot/dts/stm32f469-disco.dts | 6 +- arch/arm/boot/dts/stm32f746.dtsi | 12 +-- arch/arm/boot/dts/stm32f769-disco.dts | 6 +- arch/arm/boot/dts/stm32h743.dtsi | 4 - arch/arm/boot/dts/stm32mp157c.dtsi | 12 +-- arch/arm/mach-imx/suspend-imx53.S | 4 +- arch/arm64/boot/dts/arm/juno-base.dtsi | 6 +- arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 1 - arch/arm64/boot/dts/rockchip/rk3328.dtsi | 6 +- arch/arm64/boot/dts/rockchip/rk3399.dtsi | 2 +- arch/mips/include/asm/pgalloc.h | 10 +- arch/nds32/mm/mmap.c | 2 +- arch/powerpc/kvm/book3s_rtas.c | 25 ++++- arch/powerpc/kvm/powerpc.c | 4 +- arch/s390/include/asm/ftrace.h | 1 + arch/s390/kernel/ftrace.c | 2 + arch/s390/kernel/mcount.S | 4 +- arch/s390/net/bpf_jit_comp.c | 2 +- drivers/dma-buf/sync_file.c | 13 +-- drivers/gpu/drm/drm_ioctl.c | 3 + .../gpu/drm/panel/panel-raspberrypi-touchscreen.c | 1 - drivers/iio/accel/bma180.c | 75 ++++++++----- drivers/md/dm-writecache.c | 50 ++++++--- drivers/media/pci/ngene/ngene-core.c | 2 +- drivers/media/pci/ngene/ngene.h | 14 +-- drivers/net/dsa/mv88e6xxx/chip.c | 6 +- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 22 ++-- drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c | 6 -- .../ethernet/cavium/liquidio/cn23xx_pf_device.c | 2 +- drivers/net/ethernet/intel/e1000e/netdev.c | 1 + drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 1 + drivers/net/ethernet/intel/i40evf/i40evf_main.c | 1 + drivers/net/ethernet/intel/igb/igb_main.c | 15 ++- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 +- drivers/net/ethernet/moxa/moxart_ether.c | 4 +- drivers/net/ethernet/qualcomm/emac/emac.c | 3 +- drivers/net/ethernet/ti/tlan.c | 3 +- drivers/nvme/host/pci.c | 5 +- drivers/pci/quirks.c | 4 +- drivers/reset/reset-ti-syscon.c | 4 +- drivers/rtc/rtc-max77686.c | 4 +- drivers/rtc/rtc-mxc_v2.c | 1 + drivers/scsi/aic7xxx/aic7xxx_core.c | 2 +- drivers/scsi/aic94xx/aic94xx_init.c | 1 + drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 1 + drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 1 + drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 1 + drivers/scsi/isci/init.c | 1 + drivers/scsi/libfc/fc_rport.c | 13 ++- drivers/scsi/libsas/sas_scsi_host.c | 9 ++ drivers/scsi/mvsas/mv_init.c | 1 + drivers/scsi/pm8001/pm8001_init.c | 1 + drivers/scsi/scsi_transport_iscsi.c | 90 ++++++---------- drivers/soc/tegra/fuse/fuse-tegra30.c | 3 +- drivers/spi/spi-cadence.c | 14 ++- drivers/spi/spi-fsl-dspi.c | 4 +- drivers/spi/spi-mt65xx.c | 16 ++- drivers/target/target_core_sbc.c | 35 +++--- drivers/thermal/thermal_core.c | 2 +- drivers/usb/core/hub.c | 120 ++++++++++++++------- drivers/usb/core/quirks.c | 4 - drivers/usb/dwc2/gadget.c | 10 +- drivers/usb/host/max3421-hcd.c | 44 +++----- drivers/usb/host/xhci-hub.c | 3 +- drivers/usb/host/xhci-ring.c | 58 +++++++--- drivers/usb/host/xhci.h | 3 +- drivers/usb/renesas_usbhs/fifo.c | 7 ++ drivers/usb/serial/cp210x.c | 5 +- drivers/usb/serial/option.c | 3 + drivers/usb/storage/unusual_uas.h | 7 ++ fs/btrfs/inode.c | 2 +- fs/proc/base.c | 2 +- include/drm/drm_ioctl.h | 1 + include/net/dst_metadata.h | 4 +- include/net/ip6_route.h | 2 +- kernel/sched/fair.c | 4 +- kernel/trace/ring_buffer.c | 28 ++++- mm/slab_common.c | 18 ++-- net/bridge/br_if.c | 17 ++- net/caif/caif_socket.c | 3 +- net/decnet/af_decnet.c | 27 +++-- net/ipv4/ip_tunnel.c | 22 +++- net/ipv4/tcp_fastopen.c | 19 +++- net/ipv4/tcp_ipv4.c | 4 +- net/ipv4/tcp_output.c | 1 + net/ipv4/udp.c | 6 +- net/ipv6/ip6_output.c | 4 +- net/ipv6/tcp_ipv6.c | 22 +++- net/ipv6/udp.c | 2 +- net/ipv6/xfrm6_output.c | 2 +- net/netfilter/nf_conntrack_netlink.c | 3 + net/netrom/nr_timer.c | 20 ++-- net/sched/act_skbmod.c | 12 ++- net/sched/cls_api.c | 2 +- net/sctp/auth.c | 2 + scripts/mkcompile_h | 14 ++- sound/isa/sb/sb16_csp.c | 4 + sound/usb/quirks.c | 3 + tools/bpf/bpftool/common.c | 5 + tools/bpf/bpftool/jit_disasm.c | 6 +- tools/perf/tests/bpf.c | 2 + tools/perf/util/dso.c | 4 +- tools/perf/util/lzma.c | 8 +- tools/perf/util/map.c | 2 + tools/perf/util/probe-event.c | 4 +- tools/perf/util/probe-file.c | 4 +- tools/testing/selftests/vm/userfaultfd.c | 6 +- virt/kvm/kvm_main.c | 36 +++++-- 144 files changed, 789 insertions(+), 502 deletions(-)