106 Commits

Author SHA1 Message Date
Michael Bestas
4cc75538c1 Merge tag 'v4.4.259' into android-msm-wahoo-4.4
This is the 4.4.259 stable release

# gpg: Signature made Wed Mar  3 17:45:51 2021 EET
# gpg:                using RSA key 647F28654894E3BD457199BE38DBBDC86092693E
# gpg: Good signature from "Greg Kroah-Hartman <gregkh@kernel.org>" [full]
# gpg: gregkh@kernel.org: Verified 10 signatures in the past 2 hours.  Encrypted
#      0 messages.

# By Dan Carpenter (7) and others
# Via Greg Kroah-Hartman
* tag 'v4.4.259':
  Linux 4.4.259
  dm era: Update in-core bitset after committing the metadata
  futex: Fix OWNER_DEAD fixup
  dm era: only resize metadata in preresume
  dm era: Reinitialize bitset cache before digesting a new writeset
  dm era: Use correct value size in equality function of writeset tree
  dm era: Fix bitset memory leaks
  dm era: Verify the data block size hasn't changed
  dm era: Recover committed writeset after crash
  gfs2: Don't skip dlm unlock if glock has an lvb
  sparc32: fix a user-triggerable oops in clear_user()
  f2fs: fix out-of-repair __setattr_copy()
  gpio: pcf857x: Fix missing first interrupt
  module: Ignore _GLOBAL_OFFSET_TABLE_ when warning for undefined symbols
  libnvdimm/dimm: Avoid race between probe and available_slots_show()
  usb: renesas_usbhs: Clear pipe running flag in usbhs_pkt_pop()
  mm: hugetlb: fix a race between freeing and dissolving the page
  floppy: reintroduce O_NDELAY fix
  x86/reboot: Force all cpus to exit VMX root if VMX is supported
  staging: rtl8188eu: Add Edimax EW-7811UN V2 to device table
  drivers/misc/vmw_vmci: restrict too big queue size in qp_host_alloc_queue
  btrfs: fix reloc root leak with 0 ref reloc roots on recovery
  KEYS: trusted: Fix migratable=1 failing
  usb: dwc3: gadget: Fix dep->interval for fullspeed interrupt
  usb: dwc3: gadget: Fix setting of DEPCFG.bInterval_m1
  USB: serial: mos7720: fix error code in mos7720_write()
  USB: serial: mos7840: fix error code in mos7840_write()
  USB: serial: option: update interface mapping for ZTE P685M
  Input: i8042 - add ASUS Zenbook Flip to noselftest list
  Input: joydev - prevent potential read overflow in ioctl
  Input: xpad - add support for PowerA Enhanced Wired Controller for Xbox Series X|S
  blk-settings: align max_sectors on "logical_block_size" boundary
  block: Move SECTOR_SIZE and SECTOR_SHIFT definitions into <linux/blkdev.h>
  scsi: bnx2fc: Fix Kconfig warning & CNIC build errors
  i2c: brcmstb: Fix brcmstd_send_i2c_cmd condition
  mm/hugetlb: fix potential double free in hugetlb_register_node() error path
  mm/memory.c: fix potential pte_unmap_unlock pte error
  PCI: Align checking of syscall user config accessors
  VMCI: Use set_page_dirty_lock() when unregistering guest memory
  misc: eeprom_93xx46: Add module alias to avoid breaking support for non device tree users
  misc: eeprom_93xx46: Fix module alias to enable module autoprobe
  sparc64: only select COMPAT_BINFMT_ELF if BINFMT_ELF is set
  Input: elo - fix an error code in elo_connect()
  perf test: Fix unaligned access in sample parsing test
  perf intel-pt: Fix missing CYC processing in PSB
  powerpc/pseries/dlpar: handle ibm, configure-connector delay status
  mfd: wm831x-auxadc: Prevent use after free in wm831x_auxadc_read_irq()
  tracepoint: Do not fail unregistering a probe due to memory failure
  amba: Fix resource leak for drivers without .remove
  ARM: 9046/1: decompressor: Do not clear SCTLR.nTLSMD for ARMv7+ cores
  mmc: usdhi6rol0: Fix a resource leak in the error handling path of the probe
  powerpc/47x: Disable 256k page size
  IB/umad: Return EIO in case of when device disassociated
  isofs: release buffer head before return
  regulator: axp20x: Fix reference cout leak
  clocksource/drivers/mxs_timer: Add missing semicolon when DEBUG is defined
  dmaengine: fsldma: Fix a resource leak in an error handling path of the probe function
  dmaengine: fsldma: Fix a resource leak in the remove function
  HID: core: detect and skip invalid inputs to snto32()
  clk: meson: clk-pll: fix initializing the old rate (fallback) for a PLL
  jffs2: fix use after free in jffs2_sum_write_data()
  fs/jfs: fix potential integer overflow on shift of a int
  btrfs: clarify error returns values in __load_free_space_cache
  media: uvcvideo: Accept invalid bFormatIndex and bFrameIndex values
  media: cx25821: Fix a bug when reallocating some dma memory
  media: lmedm04: Fix misuse of comma
  ASoC: cs42l56: fix up error handling in probe
  media: tm6000: Fix memleak in tm6000_start_stream
  media: media/pci: Fix memleak in empress_init
  MIPS: lantiq: Explicitly compare LTQ_EBU_PCC_ISTAT against 0
  MIPS: c-r4k: Fix section mismatch for loongson2_sc_init
  gma500: clean up error handling in init
  drm/gma500: Fix error return code in psb_driver_load()
  fbdev: aty: SPARC64 requires FB_ATY_CT
  b43: N-PHY: Fix the update of coef for the PHY revision >= 3case
  xen/netback: fix spurious event detection for common event case
  bnxt_en: reverse order of TX disable and carrier off
  ARM: s3c: fix fiq for clang IAS
  usb: dwc2: Make "trimming xfer length" a debug message
  usb: dwc2: Abort transaction after errors with unknown reason
  Bluetooth: Put HCI device if inquiry procedure interrupts
  Bluetooth: drop HCI device reference before return
  ARM: dts: exynos: correct PMIC interrupt trigger level on Arndale Octa
  ARM: dts: exynos: correct PMIC interrupt trigger level on Spring
  Bluetooth: Fix initializing response id after clearing struct
  MIPS: vmlinux.lds.S: add missing PAGE_ALIGNED_DATA() section
  kdb: Make memory allocations more robust
  scripts/recordmcount.pl: support big endian for ARCH sh
  igb: Remove incorrect "unexpected SYS WRAP" log message
  ntfs: check for valid standard information attribute
  xen-netback: delete NAPI instance when queue fails to initialize
  usb: quirks: add quirk to start video capture on ELMO L-12F document camera reliable
  HID: make arrays usage and value to be the same

Change-Id: I1e89f14870d9386ef5ad211a4d421745e6b29f89
2021-07-24 19:19:07 +03:00
Sumit Garg
f1c9225ad3 kdb: Make memory allocations more robust
commit 93f7a6d818deef69d0ba652d46bae6fbabbf365c upstream.

Currently kdb uses in_interrupt() to determine whether its library
code has been called from the kgdb trap handler or from a saner calling
context such as driver init. This approach is broken because
in_interrupt() alone isn't able to determine kgdb trap handler entry from
normal task context. This can happen during normal use of basic features
such as breakpoints and can also be trivially reproduced using:
echo g > /proc/sysrq-trigger

We can improve this by adding check for in_dbg_master() instead which
explicitly determines if we are running in debugger context.

Cc: stable@vger.kernel.org
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Link: https://lore.kernel.org/r/1611313556-4004-1-git-send-email-sumit.garg@linaro.org
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-03 16:44:15 +01:00
Nathan Chancellor
58adc31dac Merge 4.4.241 into android-msm-wahoo-4.4
Changes in 4.4.241: (113 commits)
        ibmveth: Identify ingress large send packets.
        tipc: fix the skb_unshare() in tipc_buf_append()
        net/ipv4: always honour route mtu during forwarding
        r8169: fix data corruption issue on RTL8402
        ALSA: bebob: potential info leak in hwdep_read()
        mm/kasan: print name of mem[set,cpy,move]() caller in report
        mm/kasan: add API to check memory regions
        compiler.h, kasan: Avoid duplicating __read_once_size_nocheck()
        compiler.h: Add read_word_at_a_time() function.
        lib/strscpy: Shut up KASAN false-positives in strscpy()
        x86/mm/ptdump: Fix soft lockup in page table walker
        net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device
        net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling ether_setup
        nfc: Ensure presence of NFC_ATTR_FIRMWARE_NAME attribute in nfc_genl_fw_download()
        tcp: fix to update snd_wl1 in bulk receiver fast path
        icmp: randomize the global rate limiter
        cifs: remove bogus debug code
        ima: Don't ignore errors from crypto_shash_update()
        EDAC/i5100: Fix error handling order in i5100_init_one()
        crypto: ixp4xx - Fix the size used in a 'dma_free_coherent()' call
        media: Revert "media: exynos4-is: Add missed check for pinctrl_lookup_state()"
        media: m5mols: Check function pointer in m5mols_sensor_power
        media: omap3isp: Fix memleak in isp_probe
        crypto: omap-sham - fix digcnt register handling with export/import
        media: tc358743: initialize variable
        media: ti-vpe: Fix a missing check and reference count leak
        ath6kl: prevent potential array overflow in ath6kl_add_new_sta()
        ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb()
        wcn36xx: Fix reported 802.11n rx_highest rate wcn3660/wcn3680
        mwifiex: Do not use GFP_KERNEL in atomic context
        drm/gma500: fix error check
        scsi: qla4xxx: Fix an error handling path in 'qla4xxx_get_host_stats()'
        scsi: csiostor: Fix wrong return value in csio_hw_prep_fw()
        backlight: sky81452-backlight: Fix refcount imbalance on error
        VMCI: check return value of get_user_pages_fast() for errors
        tty: serial: earlycon dependency
        tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup()
        pty: do tty_flip_buffer_push without port->lock in pty_write
        drivers/virt/fsl_hypervisor: Fix error handling path
        video: fbdev: vga16fb: fix setting of pixclock because a pass-by-value error
        video: fbdev: sis: fix null ptr dereference
        HID: roccat: add bounds checking in kone_sysfs_write_settings()
        ath6kl: wmi: prevent a shift wrapping bug in ath6kl_wmi_delete_pstream_cmd()
        misc: mic: scif: Fix error handling path
        ALSA: seq: oss: Avoid mutex lock for a long-time ioctl
        quota: clear padding in v2r1_mem2diskdqb()
        net: enic: Cure the enic api locking trainwreck
        mfd: sm501: Fix leaks in probe()
        usb: gadget: u_ether: enable qmult on SuperSpeed Plus as well
        nl80211: fix non-split wiphy information
        mwifiex: fix double free
        net: korina: fix kfree of rx/tx descriptor array
        IB/mlx4: Adjust delayed work when a dup is observed
        powerpc/pseries: Fix missing of_node_put() in rng_init()
        powerpc/icp-hv: Fix missing of_node_put() in success path
        mtd: lpddr: fix excessive stack usage with clang
        mtd: mtdoops: Don't write panic data twice
        ARM: 9007/1: l2c: fix prefetch bits init in L2X0_AUX_CTRL using DT values
        powerpc/tau: Use appropriate temperature sample interval
        powerpc/tau: Remove duplicated set_thresholds() call
        powerpc/tau: Disable TAU between measurements
        perf intel-pt: Fix "context_switch event has no tid" error
        kdb: Fix pager search for multi-line strings
        powerpc/perf/hv-gpci: Fix starting index value
        cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_reboot_notifier
        lib/crc32.c: fix trivial typo in preprocessor condition
        vfio/pci: Clear token on bypass registration failure
        Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()
        Input: ep93xx_keypad - fix handling of platform_get_irq() error
        Input: omap4-keypad - fix handling of platform_get_irq() error
        Input: sun4i-ps2 - fix handling of platform_get_irq() error
        KVM: x86: emulating RDPID failure shall return #UD rather than #GP
        memory: omap-gpmc: Fix a couple off by ones
        memory: fsl-corenet-cf: Fix handling of platform_get_irq() error
        arm64: dts: zynqmp: Remove additional compatible string for i2c IPs
        powerpc/powernv/dump: Fix race while processing OPAL dump
        media: firewire: fix memory leak
        media: ati_remote: sanity check for both endpoints
        media: exynos4-is: Fix several reference count leaks due to pm_runtime_get_sync
        media: exynos4-is: Fix a reference count leak due to pm_runtime_get_sync
        media: exynos4-is: Fix a reference count leak
        media: bdisp: Fix runtime PM imbalance on error
        media: media/pci: prevent memory leak in bttv_probe
        media: uvcvideo: Ensure all probed info is returned to v4l2
        mmc: sdio: Check for CISTPL_VERS_1 buffer size
        media: saa7134: avoid a shift overflow
        ntfs: add check for mft record size in superblock
        PM: hibernate: remove the bogus call to get_gendisk() in software_resume()
        scsi: mvumi: Fix error return in mvumi_io_attach()
        scsi: target: core: Add CONTROL field for trace events
        usb: gadget: function: printer: fix use-after-free in __lock_acquire
        udf: Limit sparing table size
        udf: Avoid accessing uninitialized data on failed inode read
        ath9k: hif_usb: fix race condition between usb_get_urb() and usb_kill_anchored_urbs()
        misc: rtsx: Fix memory leak in rtsx_pci_probe
        reiserfs: only call unlock_new_inode() if I_NEW
        xfs: make sure the rt allocator doesn't run off the end
        usb: ohci: Default to per-port over-current protection
        Bluetooth: Only mark socket zapped after unlocking
        scsi: ibmvfc: Fix error return in ibmvfc_probe()
        brcmsmac: fix memory leak in wlc_phy_attach_lcnphy
        rtl8xxxu: prevent potential memory leak
        Fix use after free in get_capset_info callback.
        tty: ipwireless: fix error handling
        ipvs: Fix uninit-value in do_ip_vs_set_ctl()
        reiserfs: Fix memory leak in reiserfs_parse_options()
        brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach
        usb: core: Solve race condition in anchor cleanup functions
        ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n()
        net: korina: cast KSEG0 address to pointer in kfree
        usb: cdc-acm: add quirk to blacklist ETAS ES58X devices
        USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync().
        Linux 4.4.241

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2020-10-29 13:14:11 -07:00
Daniel Thompson
a7c1b557e6 kdb: Fix pager search for multi-line strings
[ Upstream commit d081a6e353168f15e63eb9e9334757f20343319f ]

Currently using forward search doesn't handle multi-line strings correctly.
The search routine replaces line breaks with \0 during the search and, for
regular searches ("help | grep Common\n"), there is code after the line
has been discarded or printed to replace the break character.

However during a pager search ("help\n" followed by "/Common\n") when the
string is matched we will immediately return to normal output and the code
that should restore the \n becomes unreachable. Fix this by restoring the
replaced character when we disable the search mode and update the comment
accordingly.

Fixes: fb6daa7520 ("kdb: Provide forward search at more prompt")
Link: https://lore.kernel.org/r/20200909141708.338273-1-daniel.thompson@linaro.org
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-10-29 09:03:06 +01:00
Nathan Chancellor
4cf66c0bce Merge 4.4.212 into android-msm-wahoo-4.4
Changes in 4.4.212: (184 commits)
        xfs: Sanity check flags of Q_XQUOTARM call
        powerpc/archrandom: fix arch_get_random_seed_int()
        mt7601u: fix bbp version check in mt7601u_wait_bbp_ready
        drm/virtio: fix bounds check in virtio_gpu_cmd_get_capset()
        ALSA: hda: fix unused variable warning
        ALSA: usb-audio: update quirk for B&W PX to remove microphone
        staging: comedi: ni_mio_common: protect register write overflow
        pcrypt: use format specifier in kobject_add
        exportfs: fix 'passing zero to ERR_PTR()' warning
        drm/dp_mst: Skip validating ports during destruction, just ref
        pinctrl: sh-pfc: r8a7740: Add missing REF125CK pin to gether_gmii group
        pinctrl: sh-pfc: r8a7740: Add missing LCD0 marks to lcd0_data24_1 group
        pinctrl: sh-pfc: r8a7791: Remove bogus ctrl marks from qspi_data4_b group
        pinctrl: sh-pfc: r8a7791: Remove bogus marks from vin1_b_data18 group
        pinctrl: sh-pfc: sh73a0: Add missing TO pin to tpu4_to3 group
        pinctrl: sh-pfc: r8a7794: Remove bogus IPSR9 field
        pinctrl: sh-pfc: sh7734: Add missing IPSR11 field
        pinctrl: sh-pfc: sh7269: Add missing PCIOR0 field
        pinctrl: sh-pfc: sh7734: Remove bogus IPSR10 value
        Input: nomadik-ske-keypad - fix a loop timeout test
        clk: highbank: fix refcount leak in hb_clk_init()
        clk: qoriq: fix refcount leak in clockgen_init()
        clk: socfpga: fix refcount leak
        clk: samsung: exynos4: fix refcount leak in exynos4_get_xom()
        clk: imx6q: fix refcount leak in imx6q_clocks_init()
        clk: imx6sx: fix refcount leak in imx6sx_clocks_init()
        clk: imx7d: fix refcount leak in imx7d_clocks_init()
        clk: vf610: fix refcount leak in vf610_clocks_init()
        clk: armada-370: fix refcount leak in a370_clk_init()
        clk: kirkwood: fix refcount leak in kirkwood_clk_init()
        clk: armada-xp: fix refcount leak in axp_clk_init()
        IB/usnic: Fix out of bounds index check in query pkey
        RDMA/ocrdma: Fix out of bounds index check in query pkey
        media: s5p-jpeg: Correct step and max values for V4L2_CID_JPEG_RESTART_INTERVAL
        crypto: tgr192 - fix unaligned memory access
        ASoC: imx-sgtl5000: put of nodes if finding codec fails
        rtc: cmos: ignore bogus century byte
        tty: ipwireless: Fix potential NULL pointer dereference
        rtc: ds1672: fix unintended sign extension
        rtc: 88pm860x: fix unintended sign extension
        rtc: 88pm80x: fix unintended sign extension
        rtc: pm8xxx: fix unintended sign extension
        fbdev: chipsfb: remove set but not used variable 'size'
        pinctrl: sh-pfc: emev2: Add missing pinmux functions
        pinctrl: sh-pfc: r8a7791: Fix scifb2_data_c pin group
        pinctrl: sh-pfc: sh73a0: Fix fsic_spdif pin groups
        block: don't use bio->bi_vcnt to figure out segment number
        vfio_pci: Enable memory accesses before calling pci_map_rom
        cdc-wdm: pass return value of recover_from_urb_loss
        drm/nouveau/bios/ramcfg: fix missing parentheses when calculating RON
        drm/nouveau/pmu: don't print reply values if exec is false
        ASoC: qcom: Fix of-node refcount unbalance in apq8016_sbc_parse_of()
        fs/nfs: Fix nfs_parse_devname to not modify it's argument
        clocksource/drivers/sun5i: Fail gracefully when clock rate is unavailable
        ARM: 8847/1: pm: fix HYP/SVC mode mismatch when MCPM is used
        regulator: wm831x-dcdc: Fix list of wm831x_dcdc_ilim from mA to uA
        nios2: ksyms: Add missing symbol exports
        scsi: megaraid_sas: reduce module load time
        xen, cpu_hotplug: Prevent an out of bounds access
        net: sh_eth: fix a missing check of of_get_phy_mode
        media: ivtv: update *pos correctly in ivtv_read_pos()
        media: cx18: update *pos correctly in cx18_read_pos()
        media: wl128x: Fix an error code in fm_download_firmware()
        media: cx23885: check allocation return
        jfs: fix bogus variable self-initialization
        m68k: mac: Fix VIA timer counter accesses
        ARM: OMAP2+: Fix potentially uninitialized return value for _setup_reset()
        media: davinci-isif: avoid uninitialized variable use
        spi: tegra114: clear packed bit for unpacked mode
        spi: tegra114: fix for unpacked mode transfers
        soc/fsl/qe: Fix an error code in qe_pin_request()
        spi: bcm2835aux: fix driver to not allow 65535 (=-1) cs-gpios
        ehea: Fix a copy-paste err in ehea_init_port_res
        scsi: qla2xxx: Unregister chrdev if module initialization fails
        ARM: pxa: ssp: Fix "WARNING: invalid free of devm_ allocated data"
        hwmon: (w83627hf) Use request_muxed_region for Super-IO accesses
        tipc: set sysctl_tipc_rmem and named_timeout right range
        powerpc: vdso: Make vdso32 installation conditional in vdso_install
        media: ov2659: fix unbalanced mutex_lock/unlock
        6lowpan: Off by one handling ->nexthdr
        dmaengine: axi-dmac: Don't check the number of frames for alignment
        ALSA: usb-audio: Handle the error from snd_usb_mixer_apply_create_quirk()
        packet: in recvmsg msg_name return at least sizeof sockaddr_ll
        ASoC: fix valid stream condition
        IB/mlx5: Add missing XRC options to QP optional params mask
        iommu/vt-d: Make kernel parameter igfx_off work with vIOMMU
        media: omap_vout: potential buffer overflow in vidioc_dqbuf()
        media: davinci/vpbe: array underflow in vpbe_enum_outputs()
        platform/x86: alienware-wmi: printing the wrong error code
        netfilter: ebtables: CONFIG_COMPAT: reject trailing data after last rule
        ARM: riscpc: fix lack of keyboard interrupts after irq conversion
        kdb: do a sanity check on the cpu in kdb_per_cpu()
        backlight: lm3630a: Return 0 on success in update_status functions
        thermal: cpu_cooling: Actually trace CPU load in thermal_power_cpu_get_power
        spi: spi-fsl-spi: call spi_finalize_current_message() at the end
        misc: sgi-xp: Properly initialize buf in xpc_get_rsvd_page_pa
        iommu: Use right function to get group for device
        signal/cifs: Fix cifs_put_tcp_session to call send_sig instead of force_sig
        inet: frags: call inet_frags_fini() after unregister_pernet_subsys()
        media: vivid: fix incorrect assignment operation when setting video mode
        powerpc/cacheinfo: add cacheinfo_teardown, cacheinfo_rebuild
        drm/msm/mdp5: Fix mdp5_cfg_init error return
        net/af_iucv: always register net_device notifier
        ASoC: ti: davinci-mcasp: Fix slot mask settings when using multiple AXRs
        rtc: pcf8563: Clear event flags and disable interrupts before requesting irq
        drm/msm/a3xx: remove TPL1 regs from snapshot
        iommu/amd: Make iommu_disable safer
        mfd: intel-lpss: Release IDA resources
        devres: allow const resource arguments
        net: pasemi: fix an use-after-free in pasemi_mac_phy_init()
        scsi: libfc: fix null pointer dereference on a null lport
        libertas_tf: Use correct channel range in lbtf_geo_init
        usb: host: xhci-hub: fix extra endianness conversion
        mic: avoid statically declaring a 'struct device'.
        x86/kgbd: Use NMI_VECTOR not APIC_DM_NMI
        ALSA: aoa: onyx: always initialize register read value
        cifs: fix rmmod regression in cifs.ko caused by force_sig changes
        crypto: caam - free resources in case caam_rng registration failed
        ext4: set error return correctly when ext4_htree_store_dirent fails
        ASoC: es8328: Fix copy-paste error in es8328_right_line_controls
        ASoC: cs4349: Use PM ops 'cs4349_runtime_pm'
        ASoC: wm8737: Fix copy-paste error in wm8737_snd_controls
        signal: Allow cifs and drbd to receive their terminating signals
        dmaengine: dw: platform: Switch to acpi_dma_controller_register()
        mac80211: minstrel_ht: fix per-group max throughput rate initialization
        mips: avoid explicit UB in assignment of mips_io_port_base
        ahci: Do not export local variable ahci_em_messages
        Partially revert "kfifo: fix kfifo_alloc() and kfifo_init()"
        power: supply: Init device wakeup after device_add()
        x86, perf: Fix the dependency of the x86 insn decoder selftest
        bcma: fix incorrect update of BCMA_CORE_PCI_MDIO_DATA
        iio: dac: ad5380: fix incorrect assignment to val
        ath9k: dynack: fix possible deadlock in ath_dynack_node_{de}init
        net: sonic: return NETDEV_TX_OK if failed to map buffer
        Btrfs: fix hang when loading existing inode cache off disk
        hwmon: (shtc1) fix shtc1 and shtw1 id mask
        net: sonic: replace dev_kfree_skb in sonic_send_packet
        net/rds: Fix 'ib_evt_handler_call' element in 'rds_ib_stat_names'
        iommu/amd: Wait for completion of IOTLB flush in attach_device
        net: hisilicon: Fix signedness bug in hix5hd2_dev_probe()
        net: broadcom/bcmsysport: Fix signedness in bcm_sysport_probe()
        net: ethernet: stmmac: Fix signedness bug in ipq806x_gmac_of_parse()
        mac80211: accept deauth frames in IBSS mode
        llc: fix another potential sk_buff leak in llc_ui_sendmsg()
        llc: fix sk_buff refcounting in llc_conn_state_process()
        net: stmmac: fix length of PTP clock's name string
        drm/msm/dsi: Implement reset correctly
        dmaengine: imx-sdma: fix size check for sdma script_number
        net: qca_spi: Move reset_count to struct qcaspi
        media: ov6650: Fix incorrect use of JPEG colorspace
        media: ov6650: Fix some format attributes not under control
        media: ov6650: Fix .get_fmt() V4L2_SUBDEV_FORMAT_TRY support
        MIPS: Loongson: Fix return value of loongson_hwmon_init
        net: neigh: use long type to store jiffies delta
        packet: fix data-race in fanout_flow_is_huge()
        dmaengine: ti: edma: fix missed failure handling
        drm/radeon: fix bad DMA from INTERRUPT_CNTL2
        arm64: dts: juno: Fix UART frequency
        m68k: Call timer_interrupt() with interrupts disabled
        can, slip: Protect tty->disc_data in write_wakeup and close with RCU
        firestream: fix memory leaks
        net: cxgb3_main: Add CAP_NET_ADMIN check to CHELSIO_GET_MEM
        net, ip_tunnel: fix namespaces move
        net_sched: fix datalen for ematch
        net: usb: lan78xx: Add .ndo_features_check
        hwmon: (adt7475) Make volt2reg return same reg as reg2volt input
        Input: keyspan-remote - fix control-message timeouts
        ARM: 8950/1: ftrace/recordmcount: filter relocation types
        mmc: sdhci: fix minimum clock rate for v3 controller
        Input: sur40 - fix interface sanity checks
        Input: gtco - fix endpoint sanity check
        Input: aiptek - fix endpoint sanity check
        hwmon: (nct7802) Fix voltage limits to wrong registers
        scsi: RDMA/isert: Fix a recently introduced regression related to logout
        tracing: xen: Ordered comparison of function pointers
        do_last(): fetch directory ->i_mode and ->i_uid before it's too late
        iio: buffer: align the size of scan bytes to size of the largest element
        scsi: iscsi: Avoid potential deadlock in iscsi_if_rx func
        md: Avoid namespace collision with bitmap API
        bitmap: Add bitmap_alloc(), bitmap_zalloc() and bitmap_free()
        netfilter: ipset: use bitmap infrastructure completely
        net/x25: fix nonblocking connect
        libertas: Fix two buffer overflows at parsing bss descriptor
        Linux 4.4.212

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2020-01-29 17:10:10 -07:00
Dan Carpenter
bfe9388e57 kdb: do a sanity check on the cpu in kdb_per_cpu()
[ Upstream commit b586627e10f57ee3aa8f0cfab0d6f7dc4ae63760 ]

The "whichcpu" comes from argv[3].  The cpu_online() macro looks up the
cpu in a bitmap of online cpus, but if the value is too high then it
could read beyond the end of the bitmap and possibly Oops.

Fixes: 5d5314d679 ("kdb: core for kgdb back end (1 of 2)")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-01-29 10:21:43 +01:00
Nathan Chancellor
59095fd3b1 Merge 4.4.167 into android-msm-wahoo-4.4
Changes in 4.4.167: (91 commits)
        media: em28xx: Fix use-after-free when disconnecting
        Revert "wlcore: Add missing PM call for wlcore_cmd_wait_for_event_or_timeout()"
        rapidio/rionet: do not free skb before reading its length
        s390/qeth: fix length check in SNMP processing
        usbnet: ipheth: fix potential recvmsg bug and recvmsg bug 2
        kvm: mmu: Fix race in emulated page table writes
        xtensa: enable coprocessors that are being flushed
        xtensa: fix coprocessor context offset definitions
        Btrfs: ensure path name is null terminated at btrfs_control_ioctl
        ALSA: wss: Fix invalid snd_free_pages() at error path
        ALSA: ac97: Fix incorrect bit shift at AC97-SPSA control write
        ALSA: control: Fix race between adding and removing a user element
        ALSA: sparc: Fix invalid snd_free_pages() at error path
        ext2: fix potential use after free
        dmaengine: at_hdmac: fix memory leak in at_dma_xlate()
        dmaengine: at_hdmac: fix module unloading
        btrfs: release metadata before running delayed refs
        USB: usb-storage: Add new IDs to ums-realtek
        usb: core: quirks: add RESET_RESUME quirk for Cherry G230 Stream series
        misc: mic/scif: fix copy-paste error in scif_create_remote_lookup
        Kbuild: suppress packed-not-aligned warning for default setting only
        exec: avoid gcc-8 warning for get_task_comm
        disable stringop truncation warnings for now
        kobject: Replace strncpy with memcpy
        unifdef: use memcpy instead of strncpy
        kernfs: Replace strncpy with memcpy
        ip_tunnel: Fix name string concatenate in __ip_tunnel_create()
        drm: gma500: fix logic error
        scsi: bfa: convert to strlcpy/strlcat
        staging: rts5208: fix gcc-8 logic error warning
        kdb: use memmove instead of overlapping memcpy
        iser: set sector for ambiguous mr status errors
        uprobes: Fix handle_swbp() vs. unregister() + register() race once more
        MIPS: ralink: Fix mt7620 nd_sd pinmux
        mips: fix mips_get_syscall_arg o32 check
        drm/ast: Fix incorrect free on ioregs
        scsi: scsi_devinfo: cleanly zero-pad devinfo strings
        ALSA: trident: Suppress gcc string warning
        scsi: csiostor: Avoid content leaks and casts
        kgdboc: Fix restrict error
        kgdboc: Fix warning with module build
        leds: call led_pwm_set() in leds-pwm to enforce default LED_OFF
        leds: turn off the LED and wait for completion on unregistering LED class device
        leds: leds-gpio: Fix return value check in create_gpio_led()
        Input: xpad - quirk all PDP Xbox One gamepads
        Input: matrix_keypad - check for errors from of_get_named_gpio()
        Input: elan_i2c - add ELAN0620 to the ACPI table
        Input: elan_i2c - add ACPI ID for Lenovo IdeaPad 330-15ARR
        Input: elan_i2c - add support for ELAN0621 touchpad
        btrfs: Always try all copies when reading extent buffers
        Btrfs: fix use-after-free when dumping free space
        ARC: change defconfig defaults to ARCv2
        arc: [devboards] Add support of NFSv3 ACL
        mm: cleancache: fix corruption on missed inode invalidation
        mm: mlock: avoid increase mm->locked_vm on mlock() when already mlock2(,MLOCK_ONFAULT)
        usb: gadget: dummy: fix nonsensical comparisons
        iommu/vt-d: Fix NULL pointer dereference in prq_event_thread()
        iommu/ipmmu-vmsa: Fix crash on early domain free
        can: rcar_can: Fix erroneous registration
        batman-adv: Expand merged fragment buffer for full packet
        bnx2x: Assign unique DMAE channel number for FW DMAE transactions.
        qed: Fix PTT leak in qed_drain()
        qed: Fix reading wrong value in loop condition
        net/mlx4_core: Zero out lkey field in SW2HW_MPT fw command
        net/mlx4_core: Fix uninitialized variable compilation warning
        net/mlx4: Fix UBSAN warning of signed integer overflow
        net: faraday: ftmac100: remove netif_running(netdev) check before disabling interrupts
        iommu/vt-d: Use memunmap to free memremap
        net: amd: add missing of_node_put()
        usb: quirk: add no-LPM quirk on SanDisk Ultra Flair device
        usb: appledisplay: Add 27" Apple Cinema Display
        USB: check usb_get_extra_descriptor for proper size
        ALSA: usb-audio: Fix UAF decrement if card has no live interfaces in card.c
        ALSA: hda: Add support for AMD Stoney Ridge
        ALSA: pcm: Fix starvation on down_write_nonblock()
        ALSA: pcm: Call snd_pcm_unlink() conditionally at closing
        ALSA: pcm: Fix interval evaluation with openmin/max
        virtio/s390: avoid race on vcdev->config
        virtio/s390: fix race in ccw_io_helper()
        SUNRPC: Fix leak of krb5p encode pages
        xhci: Prevent U1/U2 link pm states if exit latency is too long
        Staging: lustre: remove two build warnings
        cifs: Fix separator when building path from dentry
        tty: serial: 8250_mtk: always resume the device in probe.
        kgdboc: fix KASAN global-out-of-bounds bug in param_set_kgdboc_var()
        mac80211_hwsim: Timer should be initialized before device registered
        mac80211: Clear beacon_int in ieee80211_do_stop
        mac80211: ignore tx status for PS stations in ieee80211_tx_status_ext
        mac80211: fix reordering of buffered broadcast packets
        mac80211: ignore NullFunc frames in the duplicate detection
        Linux 4.4.167

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-12-13 08:13:40 -07:00
Arnd Bergmann
e1885163d5 kdb: use memmove instead of overlapping memcpy
commit 2cf2f0d5b91fd1b06a6ae260462fc7945ea84add upstream.

gcc discovered that the memcpy() arguments in kdbnearsym() overlap, so
we should really use memmove(), which is defined to handle that correctly:

In function 'memcpy',
    inlined from 'kdbnearsym' at /git/arm-soc/kernel/debug/kdb/kdb_support.c:132:4:
/git/arm-soc/include/linux/string.h:353:9: error: '__builtin_memcpy' accessing 792 bytes at offsets 0 and 8 overlaps 784 bytes at offset 8 [-Werror=restrict]
  return __builtin_memcpy(p, q, size);

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-12-13 09:21:29 +01:00
Nathan Chancellor
402b344be5 Merge 4.4.166 into android-msm-wahoo-4.4
Changes in 4.4.166: (85 commits)
        usb: core: Fix hub port connection events lost
        usb: xhci: fix timeout for transition from RExit to U0
        MAINTAINERS: Add Sasha as a stable branch maintainer
        iwlwifi: mvm: support sta_statistics() even on older firmware
        v9fs_dir_readdir: fix double-free on p9stat_read error
        bfs: add sanity check at bfs_fill_super()
        sctp: clear the transport of some out_chunk_list chunks in sctp_assoc_rm_peer
        gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd
        llc: do not use sk_eat_skb()
        drm/ast: change resolution may cause screen blurred
        drm/ast: fixed cursor may disappear sometimes
        can: dev: can_get_echo_skb(): factor out non sending code to __can_get_echo_skb()
        can: dev: __can_get_echo_skb(): replace struct can_frame by canfd_frame to access frame length
        can: dev: __can_get_echo_skb(): Don't crash the kernel if can_priv::echo_skb is accessed out of bounds
        can: dev: __can_get_echo_skb(): print error message, if trying to echo non existing skb
        usb: xhci: Prevent bus suspend if a port connect change or polling state is detected
        KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE
        cpufreq: imx6q: add return value check for voltage scale
        SUNRPC: Fix a bogus get/put in generic_key_to_expire()
        kdb: Use strscpy with destination buffer size
        powerpc/numa: Suppress "VPHN is not supported" messages
        tmpfs: make lseek(SEEK_DATA/SEK_HOLE) return ENXIO with a negative offset
        of: add helper to lookup compatible child node
        NFC: nfcmrvl_uart: fix OF child-node lookup
        net: bcmgenet: fix OF child-node lookup
        x86/entry: spell EBX register correctly in documentation
        x86/entry/64: Remove %ebx handling from error_entry/exit
        arm64: remove no-op -p linker flag
        ath10k: fix kernel panic due to race in accessing arvif list
        Input: xpad - remove spurious events of wireless xpad 360 controller
        Input: xpad - handle "present" and "gone" correctly
        Input: xpad - update Xbox One Force Feedback Support
        Input: xpad - workaround dead irq_out after suspend/ resume
        Input: xpad - use LED API when identifying wireless controllers
        Input: xpad - correct xbox one pad device name
        Input: xpad - remove unused function
        Input: xpad - add Mad Catz FightStick TE 2 VID/PID
        Input: xpad - prevent spurious input from wired Xbox 360 controllers
        Input: xpad - add more third-party controllers
        Input: xpad - xbox one elite controller support
        Input: xpad - fix rumble on Xbox One controllers with 2015 firmware
        Input: xpad - power off wireless 360 controllers on suspend
        Input: xpad - add product ID for Xbox One S pad
        Input: xpad - fix Xbox One rumble stopping after 2.5 secs
        Input: xpad - correctly sort vendor id's
        Input: xpad - move reporting xbox one home button to common function
        Input: xpad - simplify error condition in init_output
        Input: xpad - don't depend on endpoint order
        Input: xpad - fix stuck mode button on Xbox One S pad
        Input: xpad - restore LED state after device resume
        Input: xpad - support some quirky Xbox One pads
        Input: xpad - sort supported devices by USB ID
        Input: xpad - sync supported devices with xboxdrv
        Input: xpad - add USB IDs for Mad Catz Brawlstick and Razer Sabertooth
        Input: xpad - sync supported devices with 360Controller
        Input: xpad - sync supported devices with XBCD
        Input: xpad - constify usb_device_id
        Input: xpad - fix PowerA init quirk for some gamepad models
        Input: xpad - validate USB endpoint type during probe
        Input: xpad - add support for PDP Xbox One controllers
        Input: xpad - add PDP device id 0x02a4
        Input: xpad - fix some coding style issues
        Input: xpad - avoid using __set_bit() for capabilities
        Input: xpad - add GPD Win 2 Controller USB IDs
        Input: xpad - fix GPD Win 2 controller name
        Input: xpad - add support for Xbox1 PDP Camo series gamepad
        cw1200: Don't leak memory if krealloc failes
        mwifiex: Fix NULL pointer dereference in skb_dequeue()
        mwifiex: fix p2p device doesn't find in scan problem
        netfilter: nf_tables: fix oops when inserting an element into a verdict map
        scsi: ufs: fix bugs related to null pointer access and array size
        scsi: ufshcd: Fix race between clk scaling and ungate work
        scsi: ufs: fix race between clock gating and devfreq scaling work
        scsi: ufshcd: release resources if probe fails
        scsi: qla2xxx: do not queue commands when unloading
        iwlwifi: mvm: fix regulatory domain update when the firmware starts
        tty: wipe buffer.
        tty: wipe buffer if not echoing data
        usb: xhci: fix uninitialized completion when USB3 port got wrong status
        btrfs: Ensure btrfs_trim_fs can trim the whole filesystem
        sched/core: Allow __sched_setscheduler() in interrupts when PI is not used
        namei: allow restricted O_CREAT of FIFOs and regular files
        s390/mm: Check for valid vma before zapping in gmap_discard
        drm/ast: Remove existing framebuffers before loading driver
        Linux 4.4.166

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	drivers/scsi/ufs/ufshcd.c
	kernel/debug/kdb/kdb_io.c
2018-12-01 08:06:44 -07:00
Prarit Bhargava
a4cfd4595d kdb: Use strscpy with destination buffer size
[ Upstream commit c2b94c72d93d0929f48157eef128c4f9d2e603ce ]

gcc 8.1.0 warns with:

kernel/debug/kdb/kdb_support.c: In function ‘kallsyms_symbol_next’:
kernel/debug/kdb/kdb_support.c:239:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
     strncpy(prefix_name, name, strlen(name)+1);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/debug/kdb/kdb_support.c:239:31: note: length computed here

Use strscpy() with the destination buffer size, and use ellipses when
displaying truncated symbols.

v2: Use strscpy()

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Cc: Jonathan Toppins <jtoppins@redhat.com>
Cc: Jason Wessel <jason.wessel@windriver.com>
Cc: Daniel Thompson <daniel.thompson@linaro.org>
Cc: kgdb-bugreport@lists.sourceforge.net
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2018-12-01 09:46:35 +01:00
Nathan Chancellor
65117ae3b8 Merge 4.4.134 into android-msm-wahoo-4.4
Changes in 4.4.134: (267 commits)
        MIPS: ptrace: Expose FIR register through FP regset
        MIPS: Fix ptrace(2) PTRACE_PEEKUSR and PTRACE_POKEUSR accesses to o32 FGRs
        KVM: Fix spelling mistake: "cop_unsuable" -> "cop_unusable"
        affs_lookup(): close a race with affs_remove_link()
        aio: fix io_destroy(2) vs. lookup_ioctx() race
        ALSA: timer: Fix pause event notification
        mmc: sdhci-iproc: fix 32bit writes for TRANSFER_MODE register
        libata: Blacklist some Sandisk SSDs for NCQ
        libata: blacklist Micron 500IT SSD with MU01 firmware
        xen-swiotlb: fix the check condition for xen_swiotlb_free_coherent
        Revert "ipc/shm: Fix shmat mmap nil-page protection"
        ipc/shm: fix shmat() nil address after round-down when remapping
        kasan: fix memory hotplug during boot
        kernel/sys.c: fix potential Spectre v1 issue
        kernel/signal.c: avoid undefined behaviour in kill_something_info
        xfs: remove racy hasattr check from attr ops
        do d_instantiate/unlock_new_inode combinations safely
        firewire-ohci: work around oversized DMA reads on JMicron controllers
        NFSv4: always set NFS_LOCK_LOST when a lock is lost.
        ALSA: hda - Use IS_REACHABLE() for dependency on input
        ASoC: au1x: Fix timeout tests in au1xac97c_ac97_read()
        kvm: x86: fix KVM_XEN_HVM_CONFIG ioctl
        tracing/hrtimer: Fix tracing bugs by taking all clock bases and modes into account
        PCI: Add function 1 DMA alias quirk for Marvell 9128
        tools lib traceevent: Simplify pointer print logic and fix %pF
        perf callchain: Fix attr.sample_max_stack setting
        tools lib traceevent: Fix get_field_str() for dynamic strings
        dm thin: fix documentation relative to low water mark threshold
        nfs: Do not convert nfs_idmap_cache_timeout to jiffies
        watchdog: sp5100_tco: Fix watchdog disable bit
        kconfig: Don't leak main menus during parsing
        kconfig: Fix automatic menu creation mem leak
        kconfig: Fix expr_free() E_NOT leak
        mac80211_hwsim: fix possible memory leak in hwsim_new_radio_nl()
        ipmi/powernv: Fix error return code in ipmi_powernv_probe()
        Btrfs: set plug for fsync
        btrfs: Fix out of bounds access in btrfs_search_slot
        Btrfs: fix scrub to repair raid6 corruption
        scsi: fas216: fix sense buffer initialization
        HID: roccat: prevent an out of bounds read in kovaplus_profile_activated()
        jffs2: Fix use-after-free bug in jffs2_iget()'s error handling path
        powerpc/numa: Use ibm,max-associativity-domains to discover possible nodes
        powerpc/numa: Ensure nodes initialized for hotplug
        RDMA/mlx5: Avoid memory leak in case of XRCD dealloc failure
        ntb_transport: Fix bug with max_mw_size parameter
        ocfs2: return -EROFS to mount.ocfs2 if inode block is invalid
        ocfs2/acl: use 'ip_xattr_sem' to protect getting extended attribute
        ocfs2: return error when we attempt to access a dirty bh in jbd2
        mm/mempolicy: fix the check of nodemask from user
        mm/mempolicy: add nodes_empty check in SYSC_migrate_pages
        asm-generic: provide generic_pmdp_establish()
        mm: pin address_space before dereferencing it while isolating an LRU page
        IB/ipoib: Fix for potential no-carrier state
        x86/power: Fix swsusp_arch_resume prototype
        firmware: dmi_scan: Fix handling of empty DMI strings
        ACPI: processor_perflib: Do not send _PPC change notification if not ready
        bpf: fix selftests/bpf test_kmod.sh failure when CONFIG_BPF_JIT_ALWAYS_ON=y
        MIPS: TXx9: use IS_BUILTIN() for CONFIG_LEDS_CLASS
        xen-netfront: Fix race between device setup and open
        xen/grant-table: Use put_page instead of free_page
        RDS: IB: Fix null pointer issue
        arm64: spinlock: Fix theoretical trylock() A-B-A with LSE atomics
        proc: fix /proc/*/map_files lookup
        cifs: silence compiler warnings showing up with gcc-8.0.0
        bcache: properly set task state in bch_writeback_thread()
        bcache: fix for allocator and register thread race
        bcache: fix for data collapse after re-attaching an attached device
        bcache: return attach error when no cache set exist
        tools/libbpf: handle issues with bpf ELF objects containing .eh_frames
        locking/qspinlock: Ensure node->count is updated before initialising node
        irqchip/gic-v3: Change pr_debug message to pr_devel
        scsi: ufs: Enable quirk to ignore sending WRITE_SAME command
        scsi: bnx2fc: Fix check in SCSI completion handler for timed out request
        scsi: sym53c8xx_2: iterator underflow in sym_getsync()
        scsi: mptfusion: Add bounds check in mptctl_hp_targetinfo()
        scsi: qla2xxx: Avoid triggering undefined behavior in qla2x00_mbx_completion()
        ARC: Fix malformed ARC_EMUL_UNALIGNED default
        usb: gadget: f_uac2: fix bFirstInterface in composite gadget
        usb: gadget: fsl_udc_core: fix ep valid checks
        usb: dwc2: Fix dwc2_hsotg_core_init_disconnected()
        selftests: memfd: add config fragment for fuse
        scsi: storvsc: Increase cmd_per_lun for higher speed devices
        scsi: aacraid: fix shutdown crash when init fails
        scsi: qla4xxx: skip error recovery in case of register disconnect.
        ARM: OMAP2+: timer: fix a kmemleak caused in omap_get_timer_dt
        ARM: OMAP3: Fix prm wake interrupt for resume
        ARM: OMAP1: clock: Fix debugfs_create_*() usage
        NFC: llcp: Limit size of SDP URI
        mac80211: round IEEE80211_TX_STATUS_HEADROOM up to multiple of 4
        md raid10: fix NULL deference in handle_write_completed()
        drm/exynos: fix comparison to bitshift when dealing with a mask
        usb: musb: fix enumeration after resume
        locking/xchg/alpha: Add unconditional memory barrier to cmpxchg()
        md: raid5: avoid string overflow warning
        kernel/relay.c: limit kmalloc size to KMALLOC_MAX_SIZE
        powerpc/bpf/jit: Fix 32-bit JIT for seccomp_data access
        s390/cio: fix return code after missing interrupt
        s390/cio: clear timer when terminating driver I/O
        ARM: OMAP: Fix dmtimer init for omap1
        smsc75xx: fix smsc75xx_set_features()
        regulatory: add NUL to request alpha2
        locking/xchg/alpha: Fix xchg() and cmpxchg() memory ordering bugs
        x86/topology: Update the 'cpu cores' field in /proc/cpuinfo correctly across CPU hotplug operations
        media: dmxdev: fix error code for invalid ioctls
        md/raid1: fix NULL pointer dereference
        batman-adv: fix packet checksum in receive path
        batman-adv: invalidate checksum on fragment reassembly
        netfilter: ebtables: convert BUG_ONs to WARN_ONs
        nvme-pci: Fix nvme queue cleanup if IRQ setup fails
        clocksource/drivers/fsl_ftm_timer: Fix error return checking
        r8152: fix tx packets accounting
        virtio-gpu: fix ioctl and expose the fixed status to userspace.
        dmaengine: rcar-dmac: fix max_chunk_size for R-Car Gen3
        bcache: fix kcrashes with fio in RAID5 backend dev
        sit: fix IFLA_MTU ignored on NEWLINK
        gianfar: Fix Rx byte accounting for ndev stats
        net/tcp/illinois: replace broken algorithm reference link
        xen/pirq: fix error path cleanup when binding MSIs
        Btrfs: send, fix issuing write op when processing hole in no data mode
        selftests/powerpc: Skip the subpage_prot tests if the syscall is unavailable
        KVM: PPC: Book3S HV: Fix VRMA initialization with 2MB or 1GB memory backing
        watchdog: f71808e_wdt: Fix magic close handling
        e1000e: Fix check_for_link return value with autoneg off
        e1000e: allocate ring descriptors with dma_zalloc_coherent
        usb: musb: call pm_runtime_{get,put}_sync before reading vbus registers
        scsi: mpt3sas: Do not mark fw_event workqueue as WQ_MEM_RECLAIM
        scsi: sd: Keep disk read-only when re-reading partition
        fbdev: Fixing arbitrary kernel leak in case FBIOGETCMAP_SPARC in sbusfb_ioctl_helper().
        xen: xenbus: use put_device() instead of kfree()
        USB: OHCI: Fix NULL dereference in HCDs using HCD_LOCAL_MEM
        netfilter: ebtables: fix erroneous reject of last rule
        bnxt_en: Check valid VNIC ID in bnxt_hwrm_vnic_set_tpa().
        workqueue: use put_device() instead of kfree()
        ipv4: lock mtu in fnhe when received PMTU < net.ipv4.route.min_pmtu
        sunvnet: does not support GSO for sctp
        net: Fix vlan untag for bridge and vlan_dev with reorder_hdr off
        batman-adv: fix header size check in batadv_dbg_arp()
        vti4: Don't count header length twice on tunnel setup
        vti4: Don't override MTU passed on link creation via IFLA_MTU
        perf/cgroup: Fix child event counting bug
        RDMA/ucma: Correct option size check using optlen
        mm/mempolicy.c: avoid use uninitialized preferred_node
        selftests: ftrace: Add probe event argument syntax testcase
        selftests: ftrace: Add a testcase for string type with kprobe_event
        selftests: ftrace: Add a testcase for probepoint
        batman-adv: fix multicast-via-unicast transmission with AP isolation
        batman-adv: fix packet loss for broadcasted DHCP packets to a server
        ARM: 8748/1: mm: Define vdso_start, vdso_end as array
        net: qmi_wwan: add BroadMobi BM806U 2020:2033
        net/usb/qmi_wwan.c: Add USB id for lt4120 modem
        net-usb: add qmi_wwan if on lte modem wistron neweb d18q1
        llc: properly handle dev_queue_xmit() return value
        mm/kmemleak.c: wait for scan completion before disabling free
        net: Fix untag for vlan packets without ethernet header
        net: mvneta: fix enable of all initialized RXQs
        sh: fix debug trap failure to process signals before return to user
        x86/pgtable: Don't set huge PUD/PMD on non-leaf entries
        fs/proc/proc_sysctl.c: fix potential page fault while unregistering sysctl table
        swap: divide-by-zero when zero length swap file on ssd
        sr: get/drop reference to device in revalidate and check_events
        Force log to disk before reading the AGF during a fstrim
        cpufreq: CPPC: Initialize shared perf capabilities of CPUs
        scsi: aacraid: Insure command thread is not recursively stopped
        dp83640: Ensure against premature access to PHY registers after reset
        mm/ksm: fix interaction with THP
        mm: fix races between address_space dereference and free in page_evicatable
        Btrfs: bail out on error during replay_dir_deletes
        Btrfs: fix NULL pointer dereference in log_dir_items
        btrfs: Fix possible softlock on single core machines
        ocfs2/dlm: don't handle migrate lockres if already in shutdown
        sched/rt: Fix rq->clock_update_flags < RQCF_ACT_SKIP warning
        KVM: VMX: raise internal error for exception during invalid protected mode state
        fscache: Fix hanging wait on page discarded by writeback
        sparc64: Make atomic_xchg() an inline function rather than a macro.
        rtc: snvs: Fix usage of snvs_rtc_enable
        net: bgmac: Fix endian access in bgmac_dma_tx_ring_free()
        Bluetooth: btusb: Add USB ID 7392:a611 for Edimax EW-7611ULB
        btrfs: tests/qgroup: Fix wrong tree backref level
        Btrfs: fix copy_items() return value when logging an inode
        btrfs: fix lockdep splat in btrfs_alloc_subvolume_writers
        xen/acpi: off by one in read_acpi_id()
        ACPI: acpi_pad: Fix memory leak in power saving threads
        powerpc/mpic: Check if cpu_possible() in mpic_physmask()
        m68k: set dma and coherent masks for platform FEC ethernets
        parisc/pci: Switch LBA PCI bus from Hard Fail to Soft Fail mode
        hwmon: (nct6775) Fix writing pwmX_mode
        rtc: hctosys: Ensure system time doesn't overflow time_t
        powerpc/perf: Prevent kernel address leak to userspace via BHRB buffer
        powerpc/perf: Fix kernel address leak via sampling registers
        tools/thermal: tmon: fix for segfault
        selftests: Print the test we're running to /dev/kmsg
        net/mlx5: Protect from command bit overflow
        ath10k: Fix kernel panic while using worker (ath10k_sta_rc_update_wk)
        ima: Fix Kconfig to select TPM 2.0 CRB interface
        ima: Fallback to the builtin hash algorithm
        virtio-net: Fix operstate for virtio when no VIRTIO_NET_F_STATUS
        arm: dts: socfpga: fix GIC PPI warning
        usb: dwc3: Update DWC_usb31 GTXFIFOSIZ reg fields
        cpufreq: cppc_cpufreq: Fix cppc_cpufreq_init() failure path
        clk: Don't show the incorrect clock phase
        zorro: Set up z->dev.dma_mask for the DMA API
        bcache: quit dc->writeback_thread when BCACHE_DEV_DETACHING is set
        ACPICA: Events: add a return on failure from acpi_hw_register_read
        ACPICA: acpi: acpica: fix acpi operand cache leak in nseval.c
        i2c: mv64xxx: Apply errata delay only in standard mode
        KVM: lapic: stop advertising DIRECTED_EOI when in-kernel IOAPIC is in use
        xhci: zero usb device slot_id member when disabling and freeing a xhci slot
        MIPS: ath79: Fix AR724X_PLL_REG_PCIE_CONFIG offset
        PCI: Restore config space on runtime resume despite being unbound
        ipmi_ssif: Fix kernel panic at msg_done_handler
        usb: dwc2: Fix interval type issue
        usb: gadget: ffs: Let setup() return USB_GADGET_DELAYED_STATUS
        usb: gadget: ffs: Execute copy_to_user() with USER_DS set
        powerpc: Add missing prototype for arch_irq_work_raise()
        ASoC: topology: create TLV data for dapm widgets
        perf/core: Fix perf_output_read_group()
        hwmon: (pmbus/max8688) Accept negative page register values
        hwmon: (pmbus/adm1275) Accept negative page register values
        cdrom: do not call check_disk_change() inside cdrom_open()
        gfs2: Fix fallocate chunk size
        usb: gadget: udc: change comparison to bitshift when dealing with a mask
        usb: gadget: composite: fix incorrect handling of OS desc requests
        x86/devicetree: Initialize device tree before using it
        x86/devicetree: Fix device IRQ settings in DT
        ALSA: vmaster: Propagate slave error
        media: cx23885: Override 888 ImpactVCBe crystal frequency
        media: cx23885: Set subdev host data to clk_freq pointer
        media: s3c-camif: fix out-of-bounds array access
        dmaengine: pl330: fix a race condition in case of threaded irqs
        media: em28xx: USB bulk packet size fix
        clk: rockchip: Prevent calculating mmc phase if clock rate is zero
        enic: enable rq before updating rq descriptors
        hwrng: stm32 - add reset during probe
        staging: rtl8192u: return -ENOMEM on failed allocation of priv->oldaddr
        rtc: tx4939: avoid unintended sign extension on a 24 bit shift
        serial: xuartps: Fix out-of-bounds access through DT alias
        serial: samsung: Fix out-of-bounds access through serial port index
        serial: mxs-auart: Fix out-of-bounds access through serial port index
        serial: imx: Fix out-of-bounds access through serial port index
        serial: fsl_lpuart: Fix out-of-bounds access through DT alias
        serial: arc_uart: Fix out-of-bounds access through DT alias
        PCI: Add function 1 DMA alias quirk for Marvell 88SE9220
        udf: Provide saner default for invalid uid / gid
        media: cx25821: prevent out-of-bounds read on array card
        clk: samsung: s3c2410: Fix PLL rates
        clk: samsung: exynos5260: Fix PLL rates
        clk: samsung: exynos5433: Fix PLL rates
        clk: samsung: exynos5250: Fix PLL rates
        clk: samsung: exynos3250: Fix PLL rates
        crypto: sunxi-ss - Add MODULE_ALIAS to sun4i-ss
        audit: return on memory error to avoid null pointer dereference
        MIPS: Octeon: Fix logging messages with spurious periods after newlines
        drm/rockchip: Respect page offset for PRIME mmap calls
        x86/apic: Set up through-local-APIC mode on the boot CPU if 'noapic' specified
        perf tests: Use arch__compare_symbol_names to compare symbols
        perf report: Fix memory corruption in --branch-history mode --branch-history
        selftests/net: fixes psock_fanout eBPF test case
        netlabel: If PF_INET6, check sk_buff ip header version
        scsi: lpfc: Fix issue_lip if link is disabled
        scsi: lpfc: Fix soft lockup in lpfc worker thread during LIP testing
        scsi: lpfc: Fix frequency of Release WQE CQEs
        regulator: of: Add a missing 'of_node_put()' in an error handling path of 'of_regulator_match()'
        ASoC: samsung: i2s: Ensure the RCLK rate is properly determined
        Bluetooth: btusb: Add device ID for RTL8822BE
        kdb: make "mdr" command repeat
        s390/ftrace: use expoline for indirect branches
        Linux 4.4.134

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	drivers/media/dvb-core/dmxdev.c
	drivers/scsi/sd.c
	drivers/scsi/ufs/ufshcd.c
	drivers/usb/gadget/function/f_fs.c
	fs/ecryptfs/inode.c
2018-05-30 00:55:08 -07:00
Randy Dunlap
e612f1ce05 kdb: make "mdr" command repeat
[ Upstream commit 1e0ce03bf142454f38a5fc050bf4fd698d2d36d8 ]

The "mdr" command should repeat (continue) when only Enter/Return
is pressed, so make it do so.

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Cc: kgdb-bugreport@lists.sourceforge.net
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-05-30 07:49:17 +02:00
Nathan Chancellor
e8abf4dcf6 Merge 4.4.106 into android-msm-wahoo-4.4-oreo-mr1
Changes in 4.4.106: (106 commits)
        can: ti_hecc: Fix napi poll return value for repoll
        can: kvaser_usb: free buf in error paths
        can: kvaser_usb: Fix comparison bug in kvaser_usb_read_bulk_callback()
        can: kvaser_usb: ratelimit errors if incomplete messages are received
        can: kvaser_usb: cancel urb on -EPIPE and -EPROTO
        can: ems_usb: cancel urb on -EPIPE and -EPROTO
        can: esd_usb2: cancel urb on -EPIPE and -EPROTO
        can: usb_8dev: cancel urb on -EPIPE and -EPROTO
        virtio: release virtio index when fail to device_register
        hv: kvp: Avoid reading past allocated blocks from KVP file
        isa: Prevent NULL dereference in isa_bus driver callbacks
        scsi: libsas: align sata_device's rps_resp on a cacheline
        efi: Move some sysfs files to be read-only by root
        ASN.1: fix out-of-bounds read when parsing indefinite length item
        ASN.1: check for error from ASN1_OP_END__ACT actions
        X.509: reject invalid BIT STRING for subjectPublicKey
        x86/PCI: Make broadcom_postcore_init() check acpi_disabled
        ALSA: pcm: prevent UAF in snd_pcm_info
        ALSA: seq: Remove spurious WARN_ON() at timer check
        ALSA: usb-audio: Fix out-of-bound error
        ALSA: usb-audio: Add check return value for usb_string()
        iommu/vt-d: Fix scatterlist offset handling
        s390: fix compat system call table
        kdb: Fix handling of kallsyms_symbol_next() return value
        drm: extra printk() wrapper macros
        drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU
        media: dvb: i2c transfers over usb cannot be done from stack
        arm64: KVM: fix VTTBR_BADDR_MASK BUG_ON off-by-one
        KVM: VMX: remove I/O port 0x80 bypass on Intel hosts
        arm64: fpsimd: Prevent registers leaking from dead tasks
        ARM: BUG if jumping to usermode address in kernel mode
        ARM: avoid faulting on qemu
        scsi: storvsc: Workaround for virtual DVD SCSI version
        thp: reduce indentation level in change_huge_pmd()
        thp: fix MADV_DONTNEED vs. numa balancing race
        mm: drop unused pmdp_huge_get_and_clear_notify()
        Revert "drm/armada: Fix compile fail"
        Revert "spi: SPI_FSL_DSPI should depend on HAS_DMA"
        Revert "s390/kbuild: enable modversions for symbols exported from asm"
        vti6: Don't report path MTU below IPV6_MIN_MTU.
        ARM: OMAP2+: gpmc-onenand: propagate error on initialization failure
        x86/hpet: Prevent might sleep splat on resume
        selftest/powerpc: Fix false failures for skipped tests
        module: set __jump_table alignment to 8
        ARM: OMAP2+: Fix device node reference counts
        ARM: OMAP2+: Release device node after it is no longer needed.
        gpio: altera: Use handle_level_irq when configured as a level_high
        HID: chicony: Add support for another ASUS Zen AiO keyboard
        usb: gadget: configs: plug memory leak
        USB: gadgetfs: Fix a potential memory leak in 'dev_config()'
        kvm: nVMX: VMCLEAR should not cause the vCPU to shut down
        libata: drop WARN from protocol error in ata_sff_qc_issue()
        workqueue: trigger WARN if queue_delayed_work() is called with NULL @wq
        scsi: lpfc: Fix crash during Hardware error recovery on SLI3 adapters
        irqchip/crossbar: Fix incorrect type of register size
        KVM: nVMX: reset nested_run_pending if the vCPU is going to be reset
        arm: KVM: Survive unknown traps from guests
        arm64: KVM: Survive unknown traps from guests
        spi_ks8995: fix "BUG: key accdaa28 not in .data!"
        bnx2x: prevent crash when accessing PTP with interface down
        bnx2x: fix possible overrun of VFPF multicast addresses array
        bnx2x: do not rollback VF MAC/VLAN filters we did not configure
        ipv6: reorder icmpv6_init() and ip6_mr_init()
        crypto: s5p-sss - Fix completing crypto request in IRQ handler
        i2c: riic: fix restart condition
        zram: set physical queue limits to avoid array out of bounds accesses
        netfilter: don't track fragmented packets
        axonram: Fix gendisk handling
        drm/amd/amdgpu: fix console deadlock if late init failed
        powerpc/powernv/ioda2: Gracefully fail if too many TCE levels requested
        EDAC, i5000, i5400: Fix use of MTR_DRAM_WIDTH macro
        EDAC, i5000, i5400: Fix definition of NRECMEMB register
        kbuild: pkg: use --transform option to prefix paths in tar
        mac80211_hwsim: Fix memory leak in hwsim_new_radio_nl()
        route: also update fnhe_genid when updating a route cache
        route: update fnhe_expires for redirect when the fnhe exists
        lib/genalloc.c: make the avail variable an atomic_long_t
        dynamic-debug-howto: fix optional/omitted ending line number to be LARGE instead of 0
        NFS: Fix a typo in nfs_rename()
        sunrpc: Fix rpc_task_begin trace point
        block: wake up all tasks blocked in get_request()
        sparc64/mm: set fields in deferred pages
        sctp: do not free asoc when it is already dead in sctp_sendmsg
        sctp: use the right sk after waking up from wait_buf sleep
        atm: horizon: Fix irq release error
        jump_label: Invoke jump_label_test() via early_initcall()
        xfrm: Copy policy family in clone_policy
        IB/mlx4: Increase maximal message size under UD QP
        IB/mlx5: Assign send CQ and recv CQ of UMR QP
        afs: Connect up the CB.ProbeUuid
        ipvlan: fix ipv6 outbound device
        audit: ensure that 'audit=1' actually enables audit for PID 1
        ipmi: Stop timers before cleaning up the module
        s390: always save and restore all registers on context switch
        more bio_map_user_iov() leak fixes
        tipc: fix memory leak in tipc_accept_from_sock()
        rds: Fix NULL pointer dereference in __rds_rdma_map
        sit: update frag_off info
        packet: fix crash in fanout_demux_rollover()
        net/packet: fix a race in packet_bind() and packet_notifier()
        Revert "x86/efi: Build our own page table structures"
        Revert "x86/efi: Hoist page table switching code into efi_call_virt()"
        Revert "x86/mm/pat: Ensure cpa->pfn only contains page frame numbers"
        arm: KVM: Fix VTTBR_BADDR_MASK BUG_ON off-by-one
        usb: gadget: ffs: Forbid usb_ep_alloc_request from sleeping
        Linux 4.4.106

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	arch/arm/include/asm/kvm_arm.h
2017-12-16 08:34:22 -07:00
Daniel Thompson
d6ff4cce9a kdb: Fix handling of kallsyms_symbol_next() return value
commit c07d35338081d107e57cf37572d8cc931a8e32e2 upstream.

kallsyms_symbol_next() returns a boolean (true on success). Currently
kdb_read() tests the return value with an inequality that
unconditionally evaluates to true.

This is fixed in the obvious way and, since the conditional branch is
supposed to be unreachable, we also add a WARN_ON().

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-12-16 10:33:49 +01:00
Runmin Wang
750075feff Merge remote-tracking branch 'origin/tmp-917a9a9133a6' into lsk
* tmp-917a9:
  ARM/vdso: Mark the vDSO code read-only after init
  x86/vdso: Mark the vDSO code read-only after init
  lkdtm: Verify that '__ro_after_init' works correctly
  arch: Introduce post-init read-only memory
  x86/mm: Always enable CONFIG_DEBUG_RODATA and remove the Kconfig option
  mm/init: Add 'rodata=off' boot cmdline parameter to disable read-only kernel mappings
  asm-generic: Consolidate mark_rodata_ro()
  Linux 4.4.6
  ld-version: Fix awk regex compile failure
  target: Drop incorrect ABORT_TASK put for completed commands
  block: don't optimize for non-cloned bio in bio_get_last_bvec()
  MIPS: smp.c: Fix uninitialised temp_foreign_map
  MIPS: Fix build error when SMP is used without GIC
  ovl: fix getcwd() failure after unsuccessful rmdir
  ovl: copy new uid/gid into overlayfs runtime inode
  userfaultfd: don't block on the last VM updates at exit time
  powerpc/powernv: Fix OPAL_CONSOLE_FLUSH prototype and usages
  powerpc/powernv: Add a kmsg_dumper that flushes console output on panic
  powerpc: Fix dedotify for binutils >= 2.26
  Revert "drm/radeon/pm: adjust display configuration after powerstate"
  drm/radeon: Fix error handling in radeon_flip_work_func.
  drm/amdgpu: Fix error handling in amdgpu_flip_work_func.
  Revert "drm/radeon: call hpd_irq_event on resume"
  x86/mm: Fix slow_virt_to_phys() for X86_PAE again
  gpu: ipu-v3: Do not bail out on missing optional port nodes
  mac80211: Fix Public Action frame RX in AP mode
  mac80211: check PN correctly for GCMP-encrypted fragmented MPDUs
  mac80211: minstrel_ht: fix a logic error in RTS/CTS handling
  mac80211: minstrel_ht: set default tx aggregation timeout to 0
  mac80211: fix use of uninitialised values in RX aggregation
  mac80211: minstrel: Change expected throughput unit back to Kbps
  iwlwifi: mvm: inc pending frames counter also when txing non-sta
  can: gs_usb: fixed disconnect bug by removing erroneous use of kfree()
  cfg80211/wext: fix message ordering
  wext: fix message delay/ordering
  ovl: fix working on distributed fs as lower layer
  ovl: ignore lower entries when checking purity of non-directory entries
  ASoC: wm8958: Fix enum ctl accesses in a wrong type
  ASoC: wm8994: Fix enum ctl accesses in a wrong type
  ASoC: samsung: Use IRQ safe spin lock calls
  ASoC: dapm: Fix ctl value accesses in a wrong type
  ncpfs: fix a braino in OOM handling in ncp_fill_cache()
  jffs2: reduce the breakage on recovery from halfway failed rename()
  dmaengine: at_xdmac: fix residue computation
  tracing: Fix check for cpu online when event is disabled
  s390/dasd: fix diag 0x250 inline assembly
  s390/mm: four page table levels vs. fork
  KVM: MMU: fix reserved bit check for ept=0/CR0.WP=0/CR4.SMEP=1/EFER.NX=0
  KVM: MMU: fix ept=0/pte.u=1/pte.w=0/CR0.WP=0/CR4.SMEP=1/EFER.NX=0 combo
  KVM: PPC: Book3S HV: Sanitize special-purpose register values on guest exit
  KVM: s390: correct fprs on SIGP (STOP AND) STORE STATUS
  KVM: VMX: disable PEBS before a guest entry
  kvm: cap halt polling at exactly halt_poll_ns
  PCI: Allow a NULL "parent" pointer in pci_bus_assign_domain_nr()
  ARM: OMAP2+: hwmod: Introduce ti,no-idle dt property
  ARM: dts: dra7: do not gate cpsw clock due to errata i877
  ARM: mvebu: fix overlap of Crypto SRAM with PCIe memory window
  arm64: account for sparsemem section alignment when choosing vmemmap offset
  Linux 4.4.5
  drm/amdgpu: fix topaz/tonga gmc assignment in 4.4 stable
  modules: fix longstanding /proc/kallsyms vs module insertion race.
  drm/i915: refine qemu south bridge detection
  drm/i915: more virtual south bridge detection
  block: get the 1st and last bvec via helpers
  block: check virt boundary in bio_will_gap()
  drm/amdgpu: Use drm_calloc_large for VM page_tables array
  thermal: cpu_cooling: fix out of bounds access in time_in_idle
  i2c: brcmstb: allocate correct amount of memory for regmap
  ubi: Fix out of bounds write in volume update code
  cxl: Fix PSL timebase synchronization detection
  MIPS: traps: Fix SIGFPE information leak from `do_ov' and `do_trap_or_bp'
  MIPS: scache: Fix scache init with invalid line size.
  USB: serial: option: add support for Quectel UC20
  USB: serial: option: add support for Telit LE922 PID 0x1045
  USB: qcserial: add Sierra Wireless EM74xx device ID
  USB: qcserial: add Dell Wireless 5809e Gobi 4G HSPA+ (rev3)
  USB: cp210x: Add ID for Parrot NMEA GPS Flight Recorder
  usb: chipidea: otg: change workqueue ci_otg as freezable
  ALSA: timer: Fix broken compat timer user status ioctl
  ALSA: hdspm: Fix zero-division
  ALSA: hdsp: Fix wrong boolean ctl value accesses
  ALSA: hdspm: Fix wrong boolean ctl value accesses
  ALSA: seq: oss: Don't drain at closing a client
  ALSA: pcm: Fix ioctls for X32 ABI
  ALSA: timer: Fix ioctls for X32 ABI
  ALSA: rawmidi: Fix ioctls X32 ABI
  ALSA: hda - Fix mic issues on Acer Aspire E1-472
  ALSA: ctl: Fix ioctls for X32 ABI
  ALSA: usb-audio: Add a quirk for Plantronics DA45
  adv7604: fix tx 5v detect regression
  dmaengine: pxa_dma: fix cyclic transfers
  Fix directory hardlinks from deleted directories
  jffs2: Fix page lock / f->sem deadlock
  Revert "jffs2: Fix lock acquisition order bug in jffs2_write_begin"
  Btrfs: fix loading of orphan roots leading to BUG_ON
  pata-rb532-cf: get rid of the irq_to_gpio() call
  tracing: Do not have 'comm' filter override event 'comm' field
  ata: ahci: don't mark HotPlugCapable Ports as external/removable
  PM / sleep / x86: Fix crash on graph trace through x86 suspend
  arm64: vmemmap: use virtual projection of linear region
  Adding Intel Lewisburg device IDs for SATA
  writeback: flush inode cgroup wb switches instead of pinning super_block
  block: bio: introduce helpers to get the 1st and last bvec
  libata: Align ata_device's id on a cacheline
  libata: fix HDIO_GET_32BIT ioctl
  drm/amdgpu: return from atombios_dp_get_dpcd only when error
  drm/amdgpu/gfx8: specify which engine to wait before vm flush
  drm/amdgpu: apply gfx_v8 fixes to gfx_v7 as well
  drm/amdgpu/pm: update current crtc info after setting the powerstate
  drm/radeon/pm: update current crtc info after setting the powerstate
  drm/ast: Fix incorrect register check for DRAM width
  target: Fix WRITE_SAME/DISCARD conversion to linux 512b sectors
  iommu/vt-d: Use BUS_NOTIFY_REMOVED_DEVICE in hotplug path
  iommu/amd: Fix boot warning when device 00:00.0 is not iommu covered
  iommu/amd: Apply workaround for ATS write permission check
  arm/arm64: KVM: Fix ioctl error handling
  KVM: x86: fix root cause for missed hardware breakpoints
  vfio: fix ioctl error handling
  Fix cifs_uniqueid_to_ino_t() function for s390x
  CIFS: Fix SMB2+ interim response processing for read requests
  cifs: fix out-of-bounds access in lease parsing
  fbcon: set a default value to blink interval
  kvm: x86: Update tsc multiplier on change.
  mips/kvm: fix ioctl error handling
  parisc: Fix ptrace syscall number and return value modification
  PCI: keystone: Fix MSI code that retrieves struct pcie_port pointer
  block: Initialize max_dev_sectors to 0
  drm/amdgpu: mask out WC from BO on unsupported arches
  btrfs: async-thread: Fix a use-after-free error for trace
  btrfs: Fix no_space in write and rm loop
  Btrfs: fix deadlock running delayed iputs at transaction commit time
  drivers: sh: Restore legacy clock domain on SuperH platforms
  use ->d_seq to get coherency between ->d_inode and ->d_flags
  Linux 4.4.4
  iwlwifi: mvm: don't allow sched scans without matches to be started
  iwlwifi: update and fix 7265 series PCI IDs
  iwlwifi: pcie: properly configure the debug buffer size for 8000
  iwlwifi: dvm: fix WoWLAN
  security: let security modules use PTRACE_MODE_* with bitmasks
  IB/cma: Fix RDMA port validation for iWarp
  x86/irq: Plug vector cleanup race
  x86/irq: Call irq_force_move_complete with irq descriptor
  x86/irq: Remove outgoing CPU from vector cleanup mask
  x86/irq: Remove the cpumask allocation from send_cleanup_vector()
  x86/irq: Clear move_in_progress before sending cleanup IPI
  x86/irq: Remove offline cpus from vector cleanup
  x86/irq: Get rid of code duplication
  x86/irq: Copy vectormask instead of an AND operation
  x86/irq: Check vector allocation early
  x86/irq: Reorganize the search in assign_irq_vector
  x86/irq: Reorganize the return path in assign_irq_vector
  x86/irq: Do not use apic_chip_data.old_domain as temporary buffer
  x86/irq: Validate that irq descriptor is still active
  x86/irq: Fix a race in x86_vector_free_irqs()
  x86/irq: Call chip->irq_set_affinity in proper context
  x86/entry/compat: Add missing CLAC to entry_INT80_32
  x86/mpx: Fix off-by-one comparison with nr_registers
  hpfs: don't truncate the file when delete fails
  do_last(): ELOOP failure exit should be done after leaving RCU mode
  should_follow_link(): validate ->d_seq after having decided to follow
  xen/pcifront: Fix mysterious crashes when NUMA locality information was extracted.
  xen/pciback: Save the number of MSI-X entries to be copied later.
  xen/pciback: Check PF instead of VF for PCI_COMMAND_MEMORY
  xen/scsiback: correct frontend counting
  xen/arm: correctly handle DMA mapping of compound pages
  ARM: at91/dt: fix typo in sama5d2 pinmux descriptions
  ARM: OMAP2+: Fix onenand initialization to avoid filesystem corruption
  do_last(): don't let a bogus return value from ->open() et.al. to confuse us
  kernel/resource.c: fix muxed resource handling in __request_region()
  sunrpc/cache: fix off-by-one in qword_get()
  tracing: Fix showing function event in available_events
  powerpc/eeh: Fix partial hotplug criterion
  KVM: x86: MMU: fix ubsan index-out-of-range warning
  KVM: x86: fix conversion of addresses to linear in 32-bit protected mode
  KVM: x86: fix missed hardware breakpoints
  KVM: arm/arm64: vgic: Ensure bitmaps are long enough
  KVM: async_pf: do not warn on page allocation failures
  of/irq: Fix msi-map calculation for nonzero rid-base
  NFSv4: Fix a dentry leak on alias use
  nfs: fix nfs_size_to_loff_t
  block: fix use-after-free in dio_bio_complete
  bio: return EINTR if copying to user space got interrupted
  i2c: i801: Adding Intel Lewisburg support for iTCO
  phy: core: fix wrong err handle for phy_power_on
  writeback: keep superblock pinned during cgroup writeback association switches
  cgroup: make sure a parent css isn't offlined before its children
  cpuset: make mm migration asynchronous
  PCI/AER: Flush workqueue on device remove to avoid use-after-free
  ARCv2: SMP: Emulate IPI to self using software triggered interrupt
  ARCv2: STAR 9000950267: Handle return from intr to Delay Slot #2
  libata: fix sff host state machine locking while polling
  qla2xxx: Fix stale pointer access.
  spi: atmel: fix gpio chip-select in case of non-DT platform
  target: Fix race with SCF_SEND_DELAYED_TAS handling
  target: Fix remote-port TMR ABORT + se_cmd fabric stop
  target: Fix TAS handling for multi-session se_node_acls
  target: Fix LUN_RESET active TMR descriptor handling
  target: Fix LUN_RESET active I/O handling for ACK_KREF
  ALSA: hda - Fixing background noise on Dell Inspiron 3162
  ALSA: hda - Apply clock gate workaround to Skylake, too
  Revert "workqueue: make sure delayed work run in local cpu"
  workqueue: handle NUMA_NO_NODE for unbound pool_workqueue lookup
  mac80211: Requeue work after scan complete for all VIF types.
  rfkill: fix rfkill_fop_read wait_event usage
  tick/nohz: Set the correct expiry when switching to nohz/lowres mode
  perf stat: Do not clean event's private stats
  cdc-acm:exclude Samsung phone 04e8:685d
  Revert "Staging: panel: usleep_range is preferred over udelay"
  Staging: speakup: Fix getting port information
  sd: Optimal I/O size is in bytes, not sectors
  libceph: don't spam dmesg with stray reply warnings
  libceph: use the right footer size when skipping a message
  libceph: don't bail early from try_read() when skipping a message
  libceph: fix ceph_msg_revoke()
  seccomp: always propagate NO_NEW_PRIVS on tsync
  cpufreq: Fix NULL reference crash while accessing policy->governor_data
  cpufreq: pxa2xx: fix pxa_cpufreq_change_voltage prototype
  hwmon: (ads1015) Handle negative conversion values correctly
  hwmon: (gpio-fan) Remove un-necessary speed_index lookup for thermal hook
  hwmon: (dell-smm) Blacklist Dell Studio XPS 8000
  Thermal: do thermal zone update after a cooling device registered
  Thermal: handle thermal zone device properly during system sleep
  Thermal: initialize thermal zone device correctly
  IB/mlx5: Expose correct maximum number of CQE capacity
  IB/qib: Support creating qps with GFP_NOIO flag
  IB/qib: fix mcast detach when qp not attached
  IB/cm: Fix a recently introduced deadlock
  dmaengine: dw: disable BLOCK IRQs for non-cyclic xfer
  dmaengine: at_xdmac: fix resume for cyclic transfers
  dmaengine: dw: fix cyclic transfer callbacks
  dmaengine: dw: fix cyclic transfer setup
  nfit: fix multi-interface dimm handling, acpi6.1 compatibility
  ACPI / PCI / hotplug: unlock in error path in acpiphp_enable_slot()
  ACPI: Revert "ACPI / video: Add Dell Inspiron 5737 to the blacklist"
  ACPI / video: Add disable_backlight_sysfs_if quirk for the Toshiba Satellite R830
  ACPI / video: Add disable_backlight_sysfs_if quirk for the Toshiba Portege R700
  lib: sw842: select crc32
  uapi: update install list after nvme.h rename
  ideapad-laptop: Add Lenovo Yoga 700 to no_hw_rfkill dmi list
  ideapad-laptop: Add Lenovo ideapad Y700-17ISK to no_hw_rfkill dmi list
  toshiba_acpi: Fix blank screen at boot if transflective backlight is supported
  make sure that freeing shmem fast symlinks is RCU-delayed
  drm/radeon/pm: adjust display configuration after powerstate
  drm/radeon: Don't hang in radeon_flip_work_func on disabled crtc. (v2)
  drm: Fix treatment of drm_vblank_offdelay in drm_vblank_on() (v2)
  drm: Fix drm_vblank_pre/post_modeset regression from Linux 4.4
  drm: Prevent vblank counter bumps > 1 with active vblank clients. (v2)
  drm: No-Op redundant calls to drm_vblank_off() (v2)
  drm/radeon: use post-decrement in error handling
  drm/qxl: use kmalloc_array to alloc reloc_info in qxl_process_single_command
  drm/i915: fix error path in intel_setup_gmbus()
  drm/i915/dsi: don't pass arbitrary data to sideband
  drm/i915/dsi: defend gpio table against out of bounds access
  drm/i915/skl: Don't skip mst encoders in skl_ddi_pll_select()
  drm/i915: Don't reject primary plane windowing with color keying enabled on SKL+
  drm/i915/dp: fall back to 18 bpp when sink capability is unknown
  drm/i915: Make sure DC writes are coherent on flush.
  drm/i915: Init power domains early in driver load
  drm/i915: intel_hpd_init(): Fix suspend/resume reprobing
  drm/i915: Restore inhibiting the load of the default context
  drm: fix missing reference counting decrease
  drm/radeon: hold reference to fences in radeon_sa_bo_new
  drm/radeon: mask out WC from BO on unsupported arches
  drm: add helper to check for wc memory support
  drm/radeon: fix DP audio support for APU with DCE4.1 display engine
  drm/radeon: Add a common function for DFS handling
  drm/radeon: cleaned up VCO output settings for DP audio
  drm/radeon: properly byte swap vce firmware setup
  drm/radeon: clean up fujitsu quirks
  drm/radeon: Fix "slow" audio over DP on DCE8+
  drm/radeon: call hpd_irq_event on resume
  drm/radeon: Fix off-by-one errors in radeon_vm_bo_set_addr
  drm/dp/mst: deallocate payload on port destruction
  drm/dp/mst: Reverse order of MST enable and clearing VC payload table.
  drm/dp/mst: move GUID storage from mgr, port to only mst branch
  drm/dp/mst: Calculate MST PBN with 31.32 fixed point
  drm: Add drm_fixp_from_fraction and drm_fixp2int_ceil
  drm/dp/mst: fix in RAD element access
  drm/dp/mst: fix in MSTB RAD initialization
  drm/dp/mst: always send reply for UP request
  drm/dp/mst: process broadcast messages correctly
  drm/nouveau: platform: Fix deferred probe
  drm/nouveau/disp/dp: ensure sink is powered up before attempting link training
  drm/nouveau/display: Enable vblank irqs after display engine is on again.
  drm/nouveau/kms: take mode_config mutex in connector hotplug path
  drm/amdgpu/pm: adjust display configuration after powerstate
  drm/amdgpu: Don't hang in amdgpu_flip_work_func on disabled crtc.
  drm/amdgpu: use post-decrement in error handling
  drm/amdgpu: fix issue with overlapping userptrs
  drm/amdgpu: hold reference to fences in amdgpu_sa_bo_new (v2)
  drm/amdgpu: remove unnecessary forward declaration
  drm/amdgpu: fix s4 resume
  drm/amdgpu: remove exp hardware support from iceland
  drm/amdgpu: don't load MEC2 on topaz
  drm/amdgpu: drop topaz support from gmc8 module
  drm/amdgpu: pull topaz gmc bits into gmc_v7
  drm/amdgpu: The VI specific EXE bit should only apply to GMC v8.0 above
  drm/amdgpu: iceland use CI based MC IP
  drm/amdgpu: move gmc7 support out of CIK dependency
  drm/amdgpu: no need to load MC firmware on fiji
  drm/amdgpu: fix amdgpu_bo_pin_restricted VRAM placing v2
  drm/amdgpu: fix tonga smu resume
  drm/amdgpu: fix lost sync_to if scheduler is enabled.
  drm/amdgpu: call hpd_irq_event on resume
  drm/amdgpu: Fix off-by-one errors in amdgpu_vm_bo_map
  drm/vmwgfx: respect 'nomodeset'
  drm/vmwgfx: Fix a width / pitch mismatch on framebuffer updates
  drm/vmwgfx: Fix an incorrect lock check
  virtio_pci: fix use after free on release
  virtio_balloon: fix race between migration and ballooning
  virtio_balloon: fix race by fill and leak
  regulator: mt6311: MT6311_REGULATOR needs to select REGMAP_I2C
  regulator: axp20x: Fix GPIO LDO enable value for AXP22x
  clk: exynos: use irqsave version of spin_lock to avoid deadlock with irqs
  cxl: use correct operator when writing pcie config space values
  sparc64: fix incorrect sign extension in sys_sparc64_personality
  EDAC, mc_sysfs: Fix freeing bus' name
  EDAC: Robustify workqueues destruction
  MIPS: Fix buffer overflow in syscall_get_arguments()
  MIPS: Fix some missing CONFIG_CPU_MIPSR6 #ifdefs
  MIPS: hpet: Choose a safe value for the ETIME check
  MIPS: Loongson-3: Fix SMP_ASK_C0COUNT IPI handler
  Revert "MIPS: Fix PAGE_MASK definition"
  cputime: Prevent 32bit overflow in time[val|spec]_to_cputime()
  time: Avoid signed overflow in timekeeping_get_ns()
  Bluetooth: 6lowpan: Fix handling of uncompressed IPv6 packets
  Bluetooth: 6lowpan: Fix kernel NULL pointer dereferences
  Bluetooth: Fix incorrect removing of IRKs
  Bluetooth: Add support of Toshiba Broadcom based devices
  Bluetooth: Use continuous scanning when creating LE connections
  Drivers: hv: vmbus: Fix a Host signaling bug
  tools: hv: vss: fix the write()'s argument: error -> vss_msg
  mmc: sdhci: Allow override of get_cd() called from sdhci_request()
  mmc: sdhci: Allow override of mmc host operations
  mmc: sdhci-pci: Fix card detect race for Intel BXT/APL
  mmc: pxamci: fix again read-only gpio detection polarity
  mmc: sdhci-acpi: Fix card detect race for Intel BXT/APL
  mmc: mmci: fix an ages old detection error
  mmc: core: Enable tuning according to the actual timing
  mmc: sdhci: Fix sdhci_runtime_pm_bus_on/off()
  mmc: mmc: Fix incorrect use of driver strength switching HS200 and HS400
  mmc: sdio: Fix invalid vdd in voltage switch power cycle
  mmc: sdhci: Fix DMA descriptor with zero data length
  mmc: sdhci-pci: Do not default to 33 Ohm driver strength for Intel SPT
  mmc: usdhi6rol0: handle NULL data in timeout
  clockevents/tcb_clksrc: Prevent disabling an already disabled clock
  posix-clock: Fix return code on the poll method's error path
  irqchip/gic-v3-its: Fix double ICC_EOIR write for LPI in EOImode==1
  irqchip/atmel-aic: Fix wrong bit operation for IRQ priority
  irqchip/mxs: Add missing set_handle_irq()
  irqchip/omap-intc: Add support for spurious irq handling
  coresight: checking for NULL string in coresight_name_match()
  dm: fix dm_rq_target_io leak on faults with .request_fn DM w/ blk-mq paths
  dm snapshot: fix hung bios when copy error occurs
  dm space map metadata: remove unused variable in brb_pop()
  tda1004x: only update the frontend properties if locked
  vb2: fix a regression in poll() behavior for output,streams
  gspca: ov534/topro: prevent a division by 0
  si2157: return -EINVAL if firmware blob is too big
  media: dvb-core: Don't force CAN_INVERSION_AUTO in oneshot mode
  rc: sunxi-cir: Initialize the spinlock properly
  namei: ->d_inode of a pinned dentry is stable only for positives
  mei: validate request value in client notify request ioctl
  mei: fix fasync return value on error
  rtlwifi: rtl8723be: Fix module parameter initialization
  rtlwifi: rtl8188ee: Fix module parameter initialization
  rtlwifi: rtl8192se: Fix module parameter initialization
  rtlwifi: rtl8723ae: Fix initialization of module parameters
  rtlwifi: rtl8192de: Fix incorrect module parameter descriptions
  rtlwifi: rtl8192ce: Fix handling of module parameters
  rtlwifi: rtl8192cu: Add missing parameter setup
  rtlwifi: rtl_pci: Fix kernel panic
  locks: fix unlock when fcntl_setlk races with a close
  um: link with -lpthread
  uml: fix hostfs mknod()
  uml: flush stdout before forking
  s390/fpu: signals vs. floating point control register
  s390/compat: correct restore of high gprs on signal return
  s390/dasd: fix performance drop
  s390/dasd: fix refcount for PAV reassignment
  s390/dasd: prevent incorrect length error under z/VM after PAV changes
  s390: fix normalization bug in exception table sorting
  btrfs: initialize the seq counter in struct btrfs_device
  Btrfs: Initialize btrfs_root->highest_objectid when loading tree root and subvolume roots
  Btrfs: fix transaction handle leak on failure to create hard link
  Btrfs: fix number of transaction units required to create symlink
  Btrfs: send, don't BUG_ON() when an empty symlink is found
  btrfs: statfs: report zero available if metadata are exhausted
  Btrfs: igrab inode in writepage
  Btrfs: add missing brelse when superblock checksum fails
  KVM: s390: fix memory overwrites when vx is disabled
  s390/kvm: remove dependency on struct save_area definition
  clocksource/drivers/vt8500: Increase the minimum delta
  genirq: Validate action before dereferencing it in handle_irq_event_percpu()
  mm: numa: quickly fail allocations for NUMA balancing on full nodes
  mm: thp: fix SMP race condition between THP page fault and MADV_DONTNEED
  ocfs2: unlock inode if deleting inode from orphan fails
  drm/i915: shut up gen8+ SDE irq dmesg noise
  iw_cxgb3: Fix incorrectly returning error on success
  spi: omap2-mcspi: Prevent duplicate gpio_request
  drivers: android: correct the size of struct binder_uintptr_t for BC_DEAD_BINDER_DONE
  USB: option: add "4G LTE usb-modem U901"
  USB: option: add support for SIM7100E
  USB: cp210x: add IDs for GE B650V3 and B850V3 boards
  usb: dwc3: Fix assignment of EP transfer resources
  can: ems_usb: Fix possible tx overflow
  dm thin: fix race condition when destroying thin pool workqueue
  bcache: Change refill_dirty() to always scan entire disk if necessary
  bcache: prevent crash on changing writeback_running
  bcache: allows use of register in udev to avoid "device_busy" error.
  bcache: unregister reboot notifier if bcache fails to unregister device
  bcache: fix a leak in bch_cached_dev_run()
  bcache: clear BCACHE_DEV_UNLINK_DONE flag when attaching a backing device
  bcache: Add a cond_resched() call to gc
  bcache: fix a livelock when we cause a huge number of cache misses
  lib/ucs2_string: Correct ucs2 -> utf8 conversion
  efi: Add pstore variables to the deletion whitelist
  efi: Make efivarfs entries immutable by default
  efi: Make our variable validation list include the guid
  efi: Do variable name validation tests in utf8
  efi: Use ucs2_as_utf8 in efivarfs instead of open coding a bad version
  lib/ucs2_string: Add ucs2 -> utf8 helper functions
  ARM: 8457/1: psci-smp is built only for SMP
  drm/gma500: Use correct unref in the gem bo create function
  devm_memremap: Fix error value when memremap failed
  KVM: s390: fix guest fprs memory leak
  arm64: errata: Add -mpc-relative-literal-loads to build flags
  ARM: debug-ll: fix BCM63xx entry for multiplatform
  ext4: fix bh->b_state corruption
  sctp: Fix port hash table size computation
  unix_diag: fix incorrect sign extension in unix_lookup_by_ino
  tipc: unlock in error path
  rtnl: RTM_GETNETCONF: fix wrong return value
  IFF_NO_QUEUE: Fix for drivers not calling ether_setup()
  tcp/dccp: fix another race at listener dismantle
  route: check and remove route cache when we get route
  net_sched fix: reclassification needs to consider ether protocol changes
  pppoe: fix reference counting in PPPoE proxy
  l2tp: Fix error creating L2TP tunnels
  net/mlx4_en: Avoid changing dev->features directly in run-time
  net/mlx4_en: Choose time-stamping shift value according to HW frequency
  net/mlx4_en: Count HW buffer overrun only once
  qmi_wwan: add "4G LTE usb-modem U901"
  tcp: md5: release request socket instead of listener
  tipc: fix premature addition of node to lookup table
  af_unix: Guard against other == sk in unix_dgram_sendmsg
  af_unix: Don't set err in unix_stream_read_generic unless there was an error
  ipv4: fix memory leaks in ip_cmsg_send() callers
  bonding: Fix ARP monitor validation
  bpf: fix branch offset adjustment on backjumps after patching ctx expansion
  flow_dissector: Fix unaligned access in __skb_flow_dissector when used by eth_get_headlen
  net: Copy inner L3 and L4 headers as unaligned on GRE TEB
  sctp: translate network order to host order when users get a hmacid
  enic: increment devcmd2 result ring in case of timeout
  tg3: Fix for tg3 transmit queue 0 timed out when too many gso_segs
  net:Add sysctl_max_skb_frags
  tcp: do not drop syn_recv on all icmp reports
  unix: correctly track in-flight fds in sending process user_struct
  ipv6: fix a lockdep splat
  ipv6: addrconf: Fix recursive spin lock call
  ipv6/udp: use sticky pktinfo egress ifindex on connect()
  ipv6: enforce flowi6_oif usage in ip6_dst_lookup_tail()
  tcp: beware of alignments in tcp_get_info()
  switchdev: Require RTNL mutex to be held when sending FDB notifications
  inet: frag: Always orphan skbs inside ip_defrag()
  tipc: fix connection abort during subscription cancel
  net: dsa: fix mv88e6xxx switches
  sctp: allow setting SCTP_SACK_IMMEDIATELY by the application
  pptp: fix illegal memory access caused by multiple bind()s
  af_unix: fix struct pid memory leak
  tcp: fix NULL deref in tcp_v4_send_ack()
  lwt: fix rx checksum setting for lwt devices tunneling over ipv6
  tunnels: Allow IPv6 UDP checksums to be correctly controlled.
  net: dp83640: Fix tx timestamp overflow handling.
  gro: Make GRO aware of lightweight tunnels.
  af_iucv: Validate socket address length in iucv_sock_bind()

Conflicts:
	arch/arm64/Makefile
	arch/arm64/include/asm/cacheflush.h
	drivers/mmc/host/sdhci.c
	drivers/usb/dwc3/ep0.c
	drivers/usb/dwc3/gadget.c
	kernel/module.c
	sound/core/pcm_compat.c

CRs-Fixed: 1010239
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Change-Id: I41a28636fc9ad91f9d979b191784609476294cdf
2016-07-12 11:40:49 -07:00
Kees Cook
97db5772c0 mm/init: Add 'rodata=off' boot cmdline parameter to disable read-only kernel mappings
commit d2aa1acad22f1bdd0cfa67b3861800e392254454 upstream.

It may be useful to debug writes to the readonly sections of memory,
so provide a cmdline "rodata=off" to allow for this. This can be
expanded in the future to support "log" and "write" modes, but that
will need to be architecture-specific.

This also makes KDB software breakpoints more usable, as read-only
mappings can now be disabled on any kernel.

Suggested-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: David Brown <david.brown@linaro.org>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Emese Revfy <re.emese@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mathias Krause <minipli@googlemail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: PaX Team <pageexec@freemail.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: kernel-hardening@lists.openwall.com
Cc: linux-arch <linux-arch@vger.kernel.org>
Link: http://lkml.kernel.org/r/1455748879-21872-3-git-send-email-keescook@chromium.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: David Brown <david.brown@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-17 18:51:51 +00:00
Colin Cross
c70fe44edf kdb: support new lines without carriage returns
kdb expects carriage returns through the serial port to terminate
commands.  Modify it to accept the first seen carriage return or
new line as a terminator, but not treat \r\n as two terminators.

Change-Id: I06166017e7703d24310eefcb71c3a7d427088db7
Signed-off-by: Colin Cross <ccross@android.com>
2016-02-16 13:52:21 -08:00
Daniel Thompson
32d375f6f2 kdb: Const qualifier for kdb_getstr's prompt argument
All current callers of kdb_getstr() can pass constant pointers via the
prompt argument. This patch adds a const qualification to make explicit
the fact that this is safe.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2015-02-19 12:39:03 -06:00
Daniel Thompson
fb6daa7520 kdb: Provide forward search at more prompt
Currently kdb allows the output of comamnds to be filtered using the
| grep feature. This is useful but does not permit the output emitted
shortly after a string match to be examined without wading through the
entire unfiltered output of the command. Such a feature is particularly
useful to navigate function traces because these traces often have a
useful trigger string *before* the point of interest.

This patch reuses the existing filtering logic to introduce a simple
forward search to kdb that can be triggered from the more prompt.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2015-02-19 12:39:03 -06:00
Daniel Thompson
ab08e464a2 kdb: Fix a prompt management bug when using | grep
Currently when the "| grep" feature is used to filter the output of a
command then the prompt is not displayed for the subsequent command.
Likewise any characters typed by the user are also not echoed to the
display. This rather disconcerting problem eventually corrects itself
when the user presses Enter and the kdb_grepping_flag is cleared as
kdb_parse() tries to make sense of whatever they typed.

This patch resolves the problem by moving the clearing of this flag
from the middle of command processing to the beginning.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2015-02-19 12:39:03 -06:00
Daniel Thompson
5454388113 kdb: Remove stack dump when entering kgdb due to NMI
Issuing a stack dump feels ergonomically wrong when entering due to NMI.

Entering due to NMI is normally a reaction to a user request, either the
NMI button on a server or a "magic knock" on a UART. Therefore the
backtrace behaviour on entry due to NMI should be like SysRq-g (no stack
dump) rather than like oops.

Note also that the stack dump does not offer any information that
cannot be trivial retrieved using the 'bt' command.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2015-02-19 12:39:02 -06:00
Daniel Thompson
f7d4ca8bbf kdb: Avoid printing KERN_ levels to consoles
Currently when kdb traps printk messages then the raw log level prefix
(consisting of '\001' followed by a numeral) does not get stripped off
before the message is issued to the various I/O handlers supported by
kdb. This causes annoying visual noise as well as causing problems
grepping for ^. It is also a change of behaviour compared to normal usage
of printk() usage. For example <SysRq>-h ends up with different output to
that of kdb's "sr h".

This patch addresses the problem by stripping log levels from messages
before they are issued to the I/O handlers. printk() which can also
act as an i/o handler in some cases is special cased; if the caller
provided a log level then the prefix will be preserved when sent to
printk().

The addition of non-printable characters to the output of kdb commands is a
regression, albeit and extremely elderly one, introduced by commit
04d2c8c83d ("printk: convert the format for KERN_<LEVEL> to a 2 byte
pattern"). Note also that this patch does *not* restore the original
behaviour from v3.5. Instead it makes printk() from within a kdb command
display the message without any prefix (i.e. like printk() normally does).

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Joe Perches <joe@perches.com>
Cc: stable@vger.kernel.org
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2015-02-19 12:39:02 -06:00
Jason Wessel
df0036d117 kdb: Fix off by one error in kdb_cpu()
There was a follow on replacement patch against the prior
"kgdb: Timeout if secondary CPUs ignore the roundup".

See: https://lkml.org/lkml/2015/1/7/442

This patch is the delta vs the patch that was committed upstream:
  * Fix an off-by-one error in kdb_cpu().
  * Replace NR_CPUS with CONFIG_NR_CPUS to tell checkpatch that we
    really want a static limit.
  * Removed the "KGDB: " prefix from the pr_crit() in debug_core.c
    (kgdb-next contains a patch which introduced pr_fmt() to this file
    to the tag will now be applied automatically).

Cc: Daniel Thompson <daniel.thompson@linaro.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2015-02-19 12:39:02 -06:00
Jay Lan
1467559232 kdb: fix incorrect counts in KDB summary command output
The output of KDB 'summary' command should report MemTotal, MemFree
and Buffers output in kB. Current codes report in unit of pages.

A define of K(x) as
is defined in the code, but not used.

This patch would apply the define to convert the values to kB.
Please include me on Cc on replies. I do not subscribe to linux-kernel.

Signed-off-by: Jay Lan <jlan@sgi.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2015-02-19 12:39:02 -06:00
Linus Torvalds
193934123c Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
Pull module and param fixes from Rusty Russell:
 "Surprising number of fixes this merge window :(

  The first two are minor fallout from the param rework which went in
  this merge window.

  The next three are a series which fixes a longstanding (but never
  previously reported and unlikely , so no CC stable) race between
  kallsyms and freeing the init section.

  Finally, a minor cleanup as our module refcount will now be -1 during
  unload"

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
  module: make module_refcount() a signed integer.
  module: fix race in kallsyms resolution during module load success.
  module: remove mod arg from module_free, rename module_memfree().
  module_arch_freeing_init(): new hook for archs before module->module_init freed.
  param: fix uninitialized read with CONFIG_DEBUG_LOCK_ALLOC
  param: initialize store function to NULL if not available.
2015-01-23 06:40:36 +12:00
Rusty Russell
d5db139ab3 module: make module_refcount() a signed integer.
James Bottomley points out that it will be -1 during unload.  It's
only used for diagnostics, so let's not hide that as it could be a
clue as to what's gone wrong.

Cc: Jason Wessel <jason.wessel@windriver.com>
Acked-and-documention-added-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Reviewed-by: Masami Hiramatsu <maasami.hiramatsu.pt@hitachi.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-01-22 11:15:54 +10:30
Daniel Thompson
a1465d2f39 kgdb: timeout if secondary CPUs ignore the roundup
Currently if an active CPU fails to respond to a roundup request the CPU
that requested the roundup will become stuck.  This needlessly reduces the
robustness of the debugger.

This patch introduces a timeout allowing the system state to be examined
even when the system contains unresponsive processors.  It also modifies
kdb's cpu command to make it censor attempts to switch to unresponsive
processors and to report their state as (D)ead.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2014-11-11 09:31:53 -06:00
Daniel Thompson
b8017177cd kdb: Allow access to sensitive commands to be restricted by default
Currently kiosk mode must be explicitly requested by the bootloader or
userspace. It is convenient to be able to change the default value in a
similar manner to CONFIG_MAGIC_SYSRQ_DEFAULT_MASK.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2014-11-11 09:31:52 -06:00
Anton Vorontsov
420c2b1b0d kdb: Add enable mask for groups of commands
Currently all kdb commands are enabled whenever kdb is deployed. This
makes it difficult to deploy kdb to help debug certain types of
systems.

Android phones provide one example; the FIQ debugger found on some
Android devices has a deliberately weak set of commands to allow the
debugger to enabled very late in the production cycle.

Certain kiosk environments offer another interesting case where an
engineer might wish to probe the system state using passive inspection
commands without providing sufficient power for a passer by to root it.

Without any restrictions, obtaining the root rights via KDB is a matter of
a few commands, and works everywhere. For example, log in as a normal
user:

cbou:~$ id
uid=1001(cbou) gid=1001(cbou) groups=1001(cbou)

Now enter KDB (for example via sysrq):

Entering kdb (current=0xffff8800065bc740, pid 920) due to Keyboard Entry
kdb> ps
23 sleeping system daemon (state M) processes suppressed,
use 'ps A' to see all.
Task Addr               Pid   Parent [*] cpu State Thread             Command
0xffff8800065bc740      920      919  1    0   R  0xffff8800065bca20 *bash

0xffff880007078000        1        0  0    0   S  0xffff8800070782e0  init
[...snip...]
0xffff8800065be3c0      918        1  0    0   S  0xffff8800065be6a0  getty
0xffff8800065b9c80      919        1  0    0   S  0xffff8800065b9f60  login
0xffff8800065bc740      920      919  1    0   R  0xffff8800065bca20 *bash

All we need is the offset of cred pointers. We can look up the offset in
the distro's kernel source, but it is unnecessary. We can just start
dumping init's task_struct, until we see the process name:

kdb> md 0xffff880007078000
0xffff880007078000 0000000000000001 ffff88000703c000   ................
0xffff880007078010 0040210000000002 0000000000000000   .....!@.........
[...snip...]
0xffff8800070782b0 ffff8800073e0580 ffff8800073e0580   ..>.......>.....
0xffff8800070782c0 0000000074696e69 0000000000000000   init............

^ Here, 'init'. Creds are just above it, so the offset is 0x02b0.

Now we set up init's creds for our non-privileged shell:

kdb> mm 0xffff8800065bc740+0x02b0 0xffff8800073e0580
0xffff8800065bc9f0 = 0xffff8800073e0580
kdb> mm 0xffff8800065bc740+0x02b8 0xffff8800073e0580
0xffff8800065bc9f8 = 0xffff8800073e0580

And thus gaining the root:

kdb> go
cbou:~$ id
uid=0(root) gid=0(root) groups=0(root)
cbou:~$ bash
root:~#

p.s. No distro enables kdb by default (although, with a nice KDB-over-KMS
feature availability, I would expect at least some would enable it), so
it's not actually some kind of a major issue.

Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2014-11-11 09:31:52 -06:00
Daniel Thompson
9452e977ac kdb: Categorize kdb commands (similar to SysRq categorization)
This patch introduces several new flags to collect kdb commands into
groups (later allowing them to be optionally disabled).

This follows similar prior art to enable/disable magic sysrq
commands.

The commands have been categorized as follows:

Always on:  go (w/o args), env, set, help, ?, cpu (w/o args), sr,
            dmesg, disable_nmi, defcmd, summary, grephelp
Mem read:   md, mdr, mdp, mds, ef, bt (with args), per_cpu
Mem write:  mm
Reg read:   rd
Reg write:  go (with args), rm
Inspect:    bt (w/o args), btp, bta, btc, btt, ps, pid, lsmod
Flow ctrl:  bp, bl, bph, bc, be, bd, ss
Signal:     kill
Reboot:     reboot
All:        cpu, kgdb, (and all of the above), nmi_console

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2014-11-11 09:31:52 -06:00
Anton Vorontsov
e8ab24d9b0 kdb: Remove KDB_REPEAT_NONE flag
Since we now treat KDB_REPEAT_* as flags, there is no need to
pass KDB_REPEAT_NONE. It's just the default behaviour when no
flags are specified.

Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2014-11-11 09:31:52 -06:00
Anton Vorontsov
04bb171e7a kdb: Use KDB_REPEAT_* values as flags
The actual values of KDB_REPEAT_* enum values and overall logic stayed
the same, but we now treat the values as flags.

This makes it possible to add other flags and combine them, plus makes
the code a lot simpler and shorter. But functionality-wise, there should
be no changes.

Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2014-11-11 09:31:51 -06:00
Anton Vorontsov
42c884c10b kdb: Rename kdb_register_repeat() to kdb_register_flags()
We're about to add more options for commands behaviour, so let's give
a more generic name to the low-level kdb command registration function.

There are just various renames, no functional changes.

Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2014-11-11 09:31:51 -06:00
Anton Vorontsov
15a42a9bc9 kdb: Rename kdb_repeat_t to kdb_cmdflags_t, cmd_repeat to cmd_flags
We're about to add more options for command behaviour, so let's expand
the meaning of kdb_repeat_t.

So far we just do various renames, there should be no functional changes.

Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2014-11-11 09:31:51 -06:00
Anton Vorontsov
a2e5d188aa kdb: Remove currently unused kdbtab_t->cmd_flags
The struct member is never used in the code, so we can remove it.

We will introduce real flags soon by renaming cmd_repeat to cmd_flags.

Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2014-11-11 09:31:51 -06:00
Rasmus Villemoes
f9f2bac27c kdb: replace strnicmp with strncasecmp
The kernel used to contain two functions for length-delimited,
case-insensitive string comparison, strnicmp with correct semantics and
a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
was renamed to strncasecmp, and strnicmp made into a wrapper for the new
strncasecmp to avoid breaking existing users.

To allow the compat wrapper strnicmp to be removed at some point in the
future, and to avoid the extra indirection cost, do
s/strnicmp/strncasecmp/g.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-10-14 02:18:25 +02:00
Thomas Gleixner
a9821c741c kdb: Use ktime_get_ts()
do_posix_clock_monotonic_gettime() is a leftover from the initial
posix timer implementation which maps to ktime_get_ts().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Link: http://lkml.kernel.org/r/20140611234607.261629142@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2014-06-12 16:18:45 +02:00
Borislav Petkov
a8fe19ebfb kernel/printk: use symbolic defines for console loglevels
... instead of naked numbers.

Stuff in sysrq.c used to set it to 8 which is supposed to mean above
default level so set it to DEBUG instead as we're terminating/killing all
tasks and we want to be verbose there.

Also, correct the check in x86_64_start_kernel which should be >= as
we're clearly issuing the string there for all debug levels, not only
the magical 10.

Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Kees Cook <keescook@chromium.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Joe Perches <joe@perches.com>
Cc: Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-06-04 16:54:17 -07:00
Mike Travis
8daaa5f826 kdb: Add support for external NMI handler to call KGDB/KDB
This patch adds a kgdb_nmicallin() interface that can be used by
external NMI handlers to call the KGDB/KDB handler.  The primary
need for this is for those types of NMI interrupts where all the
CPUs have already received the NMI signal.  Therefore no
send_IPI(NMI) is required, and in fact it will cause a 2nd
unhandled NMI to occur. This generates the "Dazed and Confuzed"
messages.

Since all the CPUs are getting the NMI at roughly the same time,
it's not guaranteed that the first CPU that hits the NMI handler
will manage to enter KGDB and set the dbg_master_lock before the
slaves start entering. The new argument "send_ready" was added
for KGDB to signal the NMI handler to release the slave CPUs for
entry into KGDB.

Signed-off-by: Mike Travis <travis@sgi.com>
Acked-by: Jason Wessel <jason.wessel@windriver.com>
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com>
Reviewed-by: Hedi Berriche <hedi@sgi.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Link: http://lkml.kernel.org/r/20131002151417.928886849@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2013-10-03 18:47:54 +02:00
Vincent
36dfea42cc kdb: Remove unhandled ssb command
The 'ssb' command can only be handled when we have a disassembler, to check for
branches, so remove the 'ssb' command for now.

Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2013-03-02 08:52:20 -06:00
Jason Wessel
a37372f6c3 kdb: Prevent kernel oops with kdb_defcmd
The kdb_defcmd can only be used to display the available command aliases
while using the kernel debug shell.  If you try to define a new macro
while the kernel debugger is active it will oops.  The debug shell
macros must use pre-allocated memory set aside at the time kdb_init()
is run, and the kdb_defcmd is restricted to only working at the time
that the kdb_init sequence is being run, which only occurs if you
actually activate the kernel debugger.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2013-03-02 08:52:19 -06:00
Jason Wessel
1b2caa2dcb kdb: Remove the ll command
Recently some code inspection was done after fixing a problem with
kmalloc used while in the kernel debugger context (which is not
legal), and it turned up the fact that kdb ll command will oops the
kernel.

Given that there have been zero bug reports on the command combined
with the fact it will oops the kernel it is clearly not being used.
Instead of fixing it, it will be removed.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2013-03-02 08:52:19 -06:00
Jason Wessel
074604af21 kdb_main: fix help print
The help command was chopping all the usage instructions such that
they were not readable.

Example:

bta             [D|R|S|T|C|Z|E|U|I| Backtrace all processes matching state flag
per_cpu         <sym> [<bytes>] [<c Display per_cpu variables

Where as it should look like:

bta             [D|R|S|T|C|Z|E|U|I|M|A]
                                    Backtrace all processes matching state flag
per_cpu         <sym> [<bytes>] [<cpu>]
                                    Display per_cpu variables

All that is needed is to check the how long the cmd_usage is and jump
to the next line when appropriate.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2013-03-02 08:52:18 -06:00
Jason Wessel
4eb7a66d94 kdb: Fix overlap in buffers with strcpy
Maxime reported that strcpy(s->usage, s->usage+1) has no definitive
guarantee that it will work on all archs the same way when you have
overlapping memory.  The fix is simple for the kdb code because we
still have the original string memory in the function scope, so we
just have to use that as the argument instead.

Reported-by: Maxime Villard <rustyBSD@gmx.fr>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2013-03-02 08:52:18 -06:00
Matt Klein
00370b8f8d kdb: Setup basic kdb state before invoking commands via kgdb
Although invasive kdb commands are not supported via kgdb, some useful
non-invasive commands like bt* require basic kdb state to be setup before
calling into the kdb code. Factor out some of this code and call it before
and after executing kdb commands via kgdb.

Signed-off-by: Matt Klein <mklein@twitter.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2013-03-02 08:52:17 -06:00
Sasha Levin
5f784f798c kdb: use ARRAY_SIZE where possible
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2013-03-02 08:52:17 -06:00
John Blackwood
f7c82d5a3c kdb: A fix for kdb command table expansion
When locally adding in some additional kdb commands, I stumbled
across an issue with the dynamic expansion of the kdb command table.
When the number of kdb commands exceeds the size of the statically
allocated kdb_base_commands[] array, additional space is allocated in
the kdb_register_repeat() routine.

The unused portion of the newly allocated array was not being initialized
to zero properly and this would result in segfaults when help '?' was
executed or when a search for a non-existing command would traverse the
command table beyond the end of valid command entries and then attempt
to use the non-zeroed area as actual command entries.

Signed-off-by: John Blackwood <john.blackwood@ccur.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2013-03-02 08:52:16 -06:00
Rusty Russell
0d21b0e347 module: add new state MODULE_STATE_UNFORMED.
You should never look at such a module, so it's excised from all paths
which traverse the modules list.

We add the state at the end, to avoid gratuitous ABI break (ksplice).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2013-01-12 13:27:05 +10:30
Linus Torvalds
6c536a17fa Merge tag 'for_linus-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb
Pull KGDB/KDB fixes and cleanups from Jason Wessel:
 "Cleanups
   - Clean up compile warnings in kgdboc.c and x86/kernel/kgdb.c
   - Add module event hooks for simplified debugging with gdb
 Fixes
   - Fix kdb to stop paging with 'q' on bta and dmesg
   - Fix for data that scrolls off the vga console due to line wrapping
     when using the kdb pager
 New
   - The debug core registers for kernel module events which allows a
     kernel aware gdb to automatically load symbols and break on entry
     to a kernel module
   - Allow kgdboc=kdb to setup kdb on the vga console"

* tag 'for_linus-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb:
  tty/console: fix warnings in drivers/tty/serial/kgdboc.c
  kdb,vt_console: Fix missed data due to pager overruns
  kdb: Fix dmesg/bta scroll to quit with 'q'
  kgdboc: Accept either kbd or kdb to activate the vga + keyboard kdb shell
  kgdb,x86: fix warning about unused variable
  mips,kgdb: fix recursive page fault with CONFIG_KPROBES
  kgdb: Add module event hooks
2012-10-13 11:16:58 +09:00
Jason Wessel
17b572e820 kdb,vt_console: Fix missed data due to pager overruns
It is possible to miss data when using the kdb pager.  The kdb pager
does not pay attention to the maximum column constraint of the screen
or serial terminal.  This result is not incrementing the shown lines
correctly and the pager will print more lines that fit on the screen.
Obviously that is less than useful when using a VGA console where you
cannot scroll back.

The pager will now look at the kdb_buffer string to see how many
characters are printed.  It might not be perfect considering you can
output ASCII that might move the cursor position, but it is a
substantially better approximation for viewing dmesg and trace logs.

This also means that the vt screen needs to set the kdb COLUMNS
variable.

Cc: <stable@vger.kernel.org>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2012-10-12 06:37:35 -05:00