Merge 4.14.149 into android-4.14-q
Linux 4.14.149
ASoC: sgtl5000: Improve VAG power and mute control
* nl80211: validate beacon head
net/wireless/nl80211.c
* cfg80211: Use const more consistently in for_each_element macros
include/linux/ieee80211.h
* cfg80211: add and use strongly typed element iteration macros
include/linux/ieee80211.h
net/wireless/scan.c
coresight: etm4x: Use explicit barriers on enable/disable
* vfs: Fix EOVERFLOW testing in put_compat_statfs64
fs/statfs.c
perf stat: Reset previous counts on repeat with interval
perf stat: Fix a segmentation fault when using repeat forever
perf tools: Fix segfault in cpu_cache_level__read()
* tick: broadcast-hrtimer: Fix a race in bc_set_next
kernel/time/tick-broadcast-hrtimer.c
tools lib traceevent: Do not free tep->cmdlines in add_new_comm() on failure
powerpc/pseries: Fix cpu_hotplug_lock acquisition in resize_hpt()
nbd: fix max number of supported devs
block/ndb: add WQ_UNBOUND to the knbd-recv workqueue
nbd: fix crash when the blksize is zero
KVM: PPC: Book3S HV: XIVE: Free escalation interrupts before disabling the VP
perf unwind: Fix libunwind build failure on i386 systems
* kernel/elfcore.c: include proper prototypes
kernel/elfcore.c
perf build: Add detection of java-11-openjdk-devel package
* sched/core: Fix migration to invalid CPU in __set_cpus_allowed_ptr()
kernel/sched/core.c
fuse: fix memleak in cuse_channel_open
* thermal: Fix use-after-free when unregistering thermal zone device
drivers/thermal/thermal_core.c
pwm: stm32-lp: Add check in case requested period cannot be achieved
pNFS: Ensure we do clear the return-on-close layout stateid on fatal errors
drm/amdgpu: Check for valid number of registers to read
netfilter: nf_tables: allow lookups in dynamic sets
watchdog: aspeed: Add support for AST2600
ceph: reconnect connection if session hang in opening state
ceph: fix directories inode i_blkbits initialization
xen/pci: reserve MCFG areas earlier
9p: avoid attaching writeback_fid on mmap with type PRIVATE
fs: nfs: Fix possible null-pointer dereferences in encode_attrs()
ima: always return negative code for error
* cfg80211: initialize on-stack chandefs
net/wireless/nl80211.c
net/wireless/reg.c
ieee802154: atusb: fix use-after-free at disconnect
xen/xenbus: fix self-deadlock after killing user process
Revert "locking/pvqspinlock: Don't wait if vCPU is preempted"
mmc: sdhci-of-esdhc: set DMA snooping based on DMA coherence
mmc: sdhci: improve ADMA error reporting
drm/omap: fix max fclk divider for omap36xx
watchdog: imx2_wdt: fix min() calculation in imx2_wdt_set_timeout
* timer: Read jiffies once when forwarding base clk
kernel/time/timer.c
* usercopy: Avoid HIGHMEM pfn warning
mm/usercopy.c
crypto: caam - fix concurrency issue in givencrypt descriptor
crypto: cavium/zip - Add missing single_release()
* crypto: skcipher - Unmap pages after an external error
crypto/skcipher.c
crypto: qat - Silence smp_processor_id() warning
tools lib traceevent: Fix "robust" test of do_generate_dynamic_list_file
can: mcp251x: mcp251x_hw_reset(): allow more time after a reset
powerpc/powernv: Restrict OPAL symbol map to only be readable by root
* ASoC: Define a set of DAPM pre/post-up events
include/sound/soc-dapm.h
PM / devfreq: tegra: Fix kHz to Hz conversion
KVM: nVMX: handle page fault in vmread fix
KVM: PPC: Book3S HV: Don't lose pending doorbell request on migration on P9
s390/cio: exclude subchannels with no parent from pseudo check
s390/cio: avoid calling strlen on null pointer
s390/topology: avoid firing events before kobjs are created
KVM: s390: Test for bad access register and size at the start of S390_MEM_OP
s390/process: avoid potential reading of freed stack
ANDROID: cuttlefish_defconfig: Enable BPF_JIT and BPF_JIT_ALWAYS_ON
Merge 4.14.148 into android-4.14-q
Linux 4.14.148
kexec: bail out upon SIGKILL when allocating memory.
NFC: fix attrs checks in netlink interface
* smack: use GFP_NOFS while holding inode_smack::smk_lock
security/smack/smack_access.c
security/smack/smack_lsm.c
* Smack: Don't ignore other bprm->unsafe flags if LSM_UNSAFE_PTRACE is set
security/smack/smack_lsm.c
* ipv6: Handle missing host route in __ipv6_ifa_notify
net/ipv6/addrconf.c
sch_cbq: validate TCA_CBQ_WRROPT to avoid crash
tipc: fix unlimited bundling of small messages
xen-netfront: do not use ~0U as error return value for xennet_fill_frags()
net/rds: Fix error handling in rds_ib_add_one()
vsock: Fix a lockdep warning in __vsock_release()
sch_dsmark: fix potential NULL deref in dsmark_init()
qmi_wwan: add support for Cinterion CLS8 devices
nfc: fix memory leak in llcp_sock_bind()
* net: Unpublish sk from sk_reuseport_cb before call_rcu
net/core/sock.c
net: qlogic: Fix memory leak in ql_alloc_large_buffers
* net: ipv4: avoid mixed n_redirects and rate_tokens usage
net/ipv4/route.c
* ipv6: drop incoming packets having a v4mapped source address
net/ipv6/ip6_input.c
hso: fix NULL-deref on tty open
erspan: remove the incorrect mtu limit for erspan
cxgb4:Fix out-of-bounds MSI-X info array access
* bpf: fix use after free in prog symbol exposure
kernel/bpf/syscall.c
* kmemleak: increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE default to 16K
lib/Kconfig.debug
ocfs2: wait for recovering done after direct unlock request
* kbuild: clean compressed initramfs image
usr/Makefile
hypfs: Fix error number left in struct pointer member
pktcdvd: remove warning on attempting to register non-passthrough dev
* fat: work around race with userspace's read via blockdev while mounting
fs/fat/dir.c
fs/fat/fatent.c
ARM: 8903/1: ensure that usable memory in bank 0 starts from a PMD-aligned address
* security: smack: Fix possible null-pointer dereferences in smack_socket_sock_rcv_skb()
security/smack/smack_lsm.c
PCI: exynos: Propagate errors for optional PHYs
PCI: imx6: Propagate errors for optional regulators
PCI: rockchip: Propagate errors for optional regulators
* HID: apple: Fix stuck function keys when using FN
drivers/hid/hid-apple.c
rtc: snvs: fix possible race condition
ARM: 8898/1: mm: Don't treat faults reported from cache maintenance as writes
livepatch: Nullify obj->mod in klp_module_coming()'s error path
PCI: tegra: Fix OF node reference leak
mfd: intel-lpss: Remove D3cold delay
i2c-cht-wc: Fix lockdep warning
MIPS: tlbex: Explicitly cast _PAGE_NO_EXEC to a boolean
dma-buf/sw_sync: Synchronize signal vs syncpt free
* scsi: core: Reduce memory required for SCSI logging
drivers/scsi/scsi_logging.c
include/scsi/scsi_dbg.h
clk: at91: select parent if main oscillator or bypass is enabled
* arm64: fix unreachable code issue with cmpxchg
arch/arm64/include/asm/cmpxchg.h
powerpc/pseries: correctly track irq state in default idle
powerpc/64s/exception: machine check use correct cfar for late handler
drm/amdgpu/si: fix ASIC tests
drm/nouveau/volt: Fix for some cards having 0 maximum voltage
vfio_pci: Restore original state on release
pinctrl: tegra: Fix write barrier placement in pmx_writel
powerpc/pseries/mobility: use cond_resched when updating device tree
powerpc/futex: Fix warning: 'oldval' may be used uninitialized in this function
powerpc/rtas: use device model APIs and serialization during LPM
powerpc/xmon: Check for HV mode when dumping XIVE info from OPAL
clk: zx296718: Don't reference clk_init_data after registration
clk: sirf: Don't reference clk_init_data after registration
clk: sunxi-ng: v3s: add missing clock slices for MMC2 module clocks
clk: qoriq: Fix -Wunused-const-variable
ipmi_si: Only schedule continuously in the thread in maintenance mode
gpu: drm: radeon: Fix a possible null-pointer dereference in radeon_connector_set_property()
drm/radeon: Fix EEH during kexec
drm/stm: attach gem fence to atomic state
video: ssd1307fb: Start page range at page_offset
drm/panel: simple: fix AUO g185han01 horizontal blanking
drm/bridge: tc358767: Increase AUX transfer length limit
tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations
tpm: use tpm_try_get_ops() in tpm-sysfs.c.
tpm: migrate pubek_show to struct tpm_buf
Merge 4.14.147 into android-4.14-q
Linux 4.14.147
Btrfs: fix race setting up and completing qgroup rescan workers
btrfs: qgroup: Drop quota_root and fs_info parameters from update_qgroup_status_item
* mm/compaction.c: clear total_{migrate,free}_scanned before scanning a new zone
mm/compaction.c
md/raid0: avoid RAID0 data corruption due to layout confusion.
CIFS: Fix oplock handling for SMB 2.1+ protocols
CIFS: fix max ea value size
i2c: riic: Clear NACK in tend isr
* hwrng: core - don't wait on add_early_randomness()
drivers/char/hw_random/core.c
* quota: fix wrong condition in is_quota_modification()
include/linux/quotaops.h
* ext4: fix punch hole for inline_data file systems
fs/ext4/inode.c
* ext4: fix warning inside ext4_convert_unwritten_extents_endio
fs/ext4/extents.c
* /dev/mem: Bail out upon SIGKILL.
drivers/char/mem.c
* cfg80211: Purge frame registrations on iftype change
net/wireless/util.c
md: only call set_in_sync() when it is expected to succeed.
md: don't report active array_state until after revalidate_disk() completes.
md/raid6: Set R5_ReadError when there is read failure on parity disk
btrfs: qgroup: Fix the wrong target io_tree when freeing reserved data space
btrfs: Relinquish CPUs in btrfs_compare_trees
Btrfs: fix use-after-free when using the tree modification log
* ovl: filter of trusted xattr results in audit
fs/overlayfs/inode.c
* memcg, kmem: do not fail __GFP_NOFAIL charges
mm/memcontrol.c
* memcg, oom: don't require __GFP_FS when invoking memcg OOM killer
mm/oom_kill.c
gfs2: clear buf_in_tr when ending a transaction in sweep_bh_for_rgrps
* regulator: Defer init completion for a while after late_initcall
drivers/regulator/core.c
* alarmtimer: Use EOPNOTSUPP instead of ENOTSUPP
kernel/time/alarmtimer.c
arm64: dts: rockchip: limit clock rate of MMC controllers for RK3328
ARM: zynq: Use memcpy_toio instead of memcpy on smp bring-up
ARM: samsung: Fix system restart on S3C6410
ASoC: Intel: Fix use of potentially uninitialized variable
ASoC: Intel: Skylake: Use correct function to access iomem space
ASoC: Intel: NHLT: Fix debug print format
* binfmt_elf: Do not move brk for INTERP-less ET_EXEC
fs/binfmt_elf.c
media: sn9c20x: Add MSI MS-1039 laptop to flip_dmi_table
KVM: x86: Manually calculate reserved bits when loading PDPTRS
KVM: x86: set ctxt->have_exception in x86_decode_insn()
KVM: x86: always stop emulation on page fault
x86/retpolines: Fix up backport of a9d57ef15cbe
parisc: Disable HP HSC-PCI Cards to prevent kernel crash
* fuse: fix missing unlock_page in fuse_writepage()
fs/fuse/file.c
ALSA: hda/realtek - Fixup mute led on HP Spectre x360
randstruct: Check member structs in is_pure_ops_struct()
IB/hfi1: Define variables as unsigned long to fix KASAN warning
* printk: Do not lose last line in kmsg buffer dump
kernel/printk/printk.c
scsi: scsi_dh_rdac: zero cdb in send_mode_select()
ALSA: firewire-tascam: check intermediate state of clock status and retry
ALSA: firewire-tascam: handle error code when getting current source of clock
* PM / devfreq: passive: fix compiler warning
drivers/devfreq/governor_passive.c
media: omap3isp: Set device on omap3isp subdevs
btrfs: extent-tree: Make sure we only allocate extents from block groups with the same type
ALSA: hda/realtek - Blacklist PC beep for Lenovo ThinkCentre M73/93
media: ttusb-dec: Fix info-leak in ttusb_dec_send_command()
drm/amd/powerplay/smu7: enforce minimal VBITimeout (v2)
ALSA: hda - Drop unsol event handler for Intel HDMI codecs
e1000e: add workaround for possible stalled packet
libertas: Add missing sentinel at end of if_usb.c fw_table
raid5: don't increment read_errors on EILSEQ return
mmc: sdhci: Fix incorrect switch to HS mode
mmc: core: Clarify sdio_irq_pending flag for MMC_CAP2_SDIO_IRQ_NOTHREAD
raid5: don't set STRIPE_HANDLE to stripe which is in batch list
ASoC: dmaengine: Make the pcm->name equal to pcm->id if the name is not set
s390/crypto: xts-aes-s390 fix extra run-time crypto self tests finding
* kprobes: Prohibit probing on BUG() and WARN() address
include/linux/bug.h
dmaengine: ti: edma: Do not reset reserved paRAM slots
md/raid1: fail run raid1 array when active disk less than one
hwmon: (acpi_power_meter) Change log level for 'unsafe software power cap'
ACPI / PCI: fix acpi_pci_irq_enable() memory leak
ACPI: custom_method: fix memory leaks
ARM: dts: exynos: Mark LDO10 as always-on on Peach Pit/Pi Chromebooks
libtraceevent: Change users plugin directory
* iommu/iova: Avoid false sharing on fq_timer_on
drivers/iommu/iova.c
iommu/amd: Silence warnings under memory pressure
nvmet: fix data units read and written counters in SMART log
* arm64: kpti: ensure patched kernel text is fetched from PoU
arch/arm64/mm/proc.S
ACPI / CPPC: do not require the _PSD method
ASoC: es8316: fix headphone mixer volume table
media: ov9650: add a sanity check
perf trace beauty ioctl: Fix off-by-one error in cmd->string table
media: saa7134: fix terminology around saa7134_i2c_eeprom_md7134_gate()
media: cpia2_usb: fix memory leaks
media: saa7146: add cleanup in hexium_attach()
media: cec-notifier: clear cec_adap in cec_notifier_unregister
PM / devfreq: exynos-bus: Correct clock enable sequence
* PM / devfreq: passive: Use non-devm notifiers
drivers/devfreq/governor_passive.c
EDAC/amd64: Decode syndrome before translating address
EDAC/amd64: Recognize DRAM device type ECC capability
libperf: Fix alignment trap with xyarray contents in 'perf stat'
media: dvb-core: fix a memory leak bug
nbd: add missing config put
media: hdpvr: add terminating 0 at end of string
media: radio/si470x: kill urb on error
ARM: dts: imx7d: cl-som-imx7: make ethernet work again
net: lpc-enet: fix printk format strings
media: imx: mipi csi-2: Don't fail if initial state times-out
media: omap3isp: Don't set streaming state on random subdevs
media: i2c: ov5645: Fix power sequence
perf record: Support aarch64 random socket_id assignment
dmaengine: iop-adma: use correct printk format strings
media: rc: imon: Allow iMON RC protocol for ffdc 7e device
media: fdp1: Reduce FCP not found message level to debug
media: mtk-mdp: fix reference count on old device tree
perf test vfs_getname: Disable ~/.perfconfig to get default output
media: gspca: zero usb_buf on error
* sched/fair: Use rq_lock/unlock in online_fair_sched_group
kernel/sched/fair.c
efi: cper: print AER info of PCIe fatal error
EDAC, pnd2: Fix ioremap() size in dnv_rd_reg()
ACPI / processor: don't print errors for processorIDs == 0xff
md: don't set In_sync if array is frozen
md: don't call spare_active in md_reap_sync_thread if all member devices can't work
md/raid1: end bio when the device faulty
ASoC: rsnd: don't call clk_get_rate() under atomic context
EDAC/altera: Use the proper type for the IRQ status bits
ia64:unwind: fix double free for mod->arch.init_unw_table
* ALSA: usb-audio: Skip bSynchAddress endpoint check if it is invalid
sound/usb/pcm.c
* base: soc: Export soc_device_register/unregister APIs
drivers/base/soc.c
media: iguanair: add sanity checks
* EDAC/mc: Fix grain_bits calculation
drivers/edac/edac_mc.c
ALSA: i2c: ak4xxx-adda: Fix a possible null pointer dereference in build_adc_controls()
ALSA: hda - Show the fatal CORB/RIRB error more clearly
x86/apic: Soft disable APIC before initializing it
x86/reboot: Always use NMI fallback when shutdown via reboot vector IPI fails
* sched/core: Fix CPU controller for !RT_GROUP_SCHED
kernel/sched/core.c
* sched/fair: Fix imbalance due to CPU affinity
kernel/sched/fair.c
media: i2c: ov5640: Check for devm_gpiod_get_optional() error
media: hdpvr: Add device num check and handling
media: exynos4-is: fix leaked of_node references
media: mtk-cir: lower de-glitch counter for rc-mm protocol
media: dib0700: fix link error for dibx000_i2c_set_speed
leds: leds-lp5562 allow firmware files up to the maximum length
dmaengine: bcm2835: Print error in case setting DMA mask fails
ASoC: sgtl5000: Fix charge pump source assignment
regulator: lm363x: Fix off-by-one n_voltages for lm3632 ldo_vpos/ldo_vneg
ALSA: hda: Flush interrupts on disabling
nfc: enforce CAP_NET_RAW for raw sockets
ieee802154: enforce CAP_NET_RAW for raw sockets
ax25: enforce CAP_NET_RAW for raw sockets
appletalk: enforce CAP_NET_RAW for raw sockets
mISDN: enforce CAP_NET_RAW for raw sockets
net/mlx5: Add device ID of upcoming BlueField-2
* usbnet: sanity checking of packet sizes and device mtu
drivers/net/usb/usbnet.c
* usbnet: ignore endpoints with invalid wMaxPacketSize
drivers/net/usb/usbnet.c
skge: fix checksum byte order
* sch_netem: fix a divide by zero in tabledist()
net/sched/sch_netem.c
* ppp: Fix memory leak in ppp_write
drivers/net/ppp/ppp_generic.c
openvswitch: change type of UPCALL_PID attribute to NLA_UNSPEC
* net_sched: add max len check for TCA_KIND
net/sched/sch_api.c
net/sched: act_sample: don't push mac header on ip6gre ingress
* net: qrtr: Stop rx_worker before freeing node
net/qrtr/qrtr.c
net/phy: fix DP83865 10 Mbps HDX loopback disable function
macsec: drop skb sk before calling gro_cells_receive
* cdc_ncm: fix divide-by-zero caused by invalid wMaxPacketSize
drivers/net/usb/cdc_ncm.c
arcnet: provide a buffer big enough to actually receive packets
* f2fs: use generic EFSBADCRC/EFSCORRUPTED
fs/f2fs/checkpoint.c
fs/f2fs/data.c
fs/f2fs/f2fs.h
fs/f2fs/inline.c
fs/f2fs/inode.c
fs/f2fs/node.c
fs/f2fs/recovery.c
fs/f2fs/segment.c
fs/f2fs/segment.h
fs/f2fs/super.c
Bluetooth: btrtl: Additional Realtek 8822CE Bluetooth devices
xfs: don't crash on null attr fork xfs_bmapi_read
ACPI: video: Add new hw_changes_brightness quirk, set it on PB Easynote MZ35
net: don't warn in inet diag when IPV6 is disabled
* drm: Flush output polling on shutdown
drivers/gpu/drm/drm_probe_helper.c
* f2fs: fix to do sanity check on segment bitmap of LFS curseg
fs/f2fs/segment.c
dm zoned: fix invalid memory access
* Revert "f2fs: avoid out-of-range memory access"
fs/f2fs/segment.c
* blk-mq: move cancel of requeue_work to the front of blk_exit_queue
block/blk-mq.c
block/blk-sysfs.c
PCI: hv: Avoid use of hv_pci_dev->pci_slot after freeing it
* f2fs: check all the data segments against all node ones
fs/f2fs/super.c
* irqchip/gic-v3-its: Fix LPI release for Multi-MSI devices
drivers/irqchip/irq-gic-v3-its.c
locking/lockdep: Add debug_locks check in __lock_downgrade()
* power: supply: sysfs: ratelimit property read error message
drivers/power/supply/power_supply_sysfs.c
pinctrl: sprd: Use define directive for sprd_pinconf_params values
objtool: Clobber user CFLAGS variable
ALSA: hda - Apply AMD controller workaround for Raven platform
ALSA: hda - Add laptop imic fixup for ASUS M9V laptop
* arm64: kpti: Whitelist Cortex-A CPUs that don't implement the CSV3 field
arch/arm64/kernel/cpufeature.c
ASoC: fsl: Fix of-node refcount unbalance in fsl_ssi_probe_from_dt()
media: tvp5150: fix switch exit in set control handler
iwlwifi: mvm: send BCAST management frames to the right station
crypto: talitos - fix missing break in switch statement
mtd: cfi_cmdset_0002: Use chip_good() to retry in do_write_oneword()
HID: hidraw: Fix invalid read in hidraw_ioctl
HID: logitech: Fix general protection fault caused by Logitech driver
* HID: sony: Fix memory corruption issue on cleanup.
drivers/hid/hid-sony.c
HID: prodikeys: Fix general protection fault during probe
* IB/core: Add an unbound WQ type to the new CQ API
include/rdma/ib_verbs.h
* objtool: Query pkg-config for libelf location
Makefile
powerpc/xive: Fix bogus error code returned by OPAL
* Revert "Bluetooth: validate BLE connection interval updates"
net/bluetooth/hci_event.c
net/bluetooth/l2cap_core.c
Merge 4.14.146 into android-4.14-q
Linux 4.14.146
media: technisat-usb2: break out of loop at end of buffer
* tcp: Don't dequeue SYN/FIN-segments from write-queue
net/ipv4/tcp.c
* tcp: Reset send_head when removing skb from write-queue
net/ipv4/tcp.c
* binfmt_elf: move brk out of mmap when doing direct loader exec
fs/binfmt_elf.c
floppy: fix usercopy direction
PCI: kirin: Fix section mismatch warning
iommu/amd: Fix race in increase_address_space()
iommu/amd: Flush old domains in kdump kernel
* keys: Fix missing null pointer check in request_key_auth_describe()
security/keys/request_key_auth.c
x86/hyper-v: Fix overflow bug in fill_gva_list()
x86/uaccess: Don't leak the AC flags into __get_user() argument evaluation
dmaengine: ti: omap-dma: Add cleanup in omap_dma_probe()
dmaengine: ti: dma-crossbar: Fix a memory leak bug
net: seeq: Fix the function used to release some memory in an error handling path
tools/power turbostat: fix buffer overrun
tools/power x86_energy_perf_policy: Fix argument parsing
tools/power x86_energy_perf_policy: Fix "uninitialized variable" warnings at -O2
amd-xgbe: Fix error path in xgbe_mod_init()
perf/x86/amd/ibs: Fix sample bias for dispatched micro-ops
perf/x86/intel: Restrict period on Nehalem
i2c: designware: Synchronize IRQs when unregistering slave client
sky2: Disable MSI on yet another ASUS boards (P6Xxxx)
ARM: 8901/1: add a criteria for pfn_valid of arm
cifs: Use kzfree() to zero out the password
cifs: set domainName when a domain-key is used in multiuser
* kallsyms: Don't let kallsyms_lookup_size_offset() fail on retrieving the first symbol
kernel/kallsyms.c
NFSv2: Fix write regression
NFSv2: Fix eof handling
* netfilter: nf_conntrack_ftp: Fix debug output
net/netfilter/nf_conntrack_ftp.c
x86/apic: Fix arch_dynirq_lower_bound() bug for DT enabled machines
* r8152: Set memory to all 0xFFs on failed reg reads
drivers/net/usb/r8152.c
batman-adv: Only read OGM2 tvlv_len after buffer len check
ARM: 8874/1: mm: only adjust sections of valid mm structures
qed: Add cleanup in qed_slowpath_start()
* Kconfig: Fix the reference to the IDT77105 Phy driver in the description of ATM_NICSTAR_USE_IDT77105
drivers/atm/Kconfig
NFS: Fix initialisation of I/O result struct in nfs_pgio_rpcsetup
NFSv4: Fix return value in nfs_finish_open()
NFSv4: Fix return values for nfs4_file_open()
netfilter: xt_nfacct: Fix alignment mismatch in xt_nfacct_match_info
fpga: altera-ps-spi: Fix getting of optional confd gpio
s390/bpf: use 32-bit index for tail calls
ARM: dts: dra74x: Fix iodelay configuration for mmc3
ARM: OMAP2+: Fix omap4 errata warning on other SoCs
s390/bpf: fix lcgr instruction encoding
ARM: OMAP2+: Fix missing SYSC_HAS_RESET_STATUS for dra7 epwmss
* nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds
net/wireless/nl80211.c
mwifiex: Fix three heap overflow at parsing element in cfg80211_ap_settings
tty/serial: atmel: reschedule TX after RX was started
serial: sprd: correct the wrong sequence of arguments
firmware: google: check if size is valid when decoding VPD data
KVM: coalesced_mmio: add bounds checking
* net_sched: let qdisc_put() accept NULL pointer
net/sched/sch_generic.c
xen-netfront: do not assume sk_buff_head list is empty in error handling
media: tm6000: double free if usb disconnect while streaming
phy: renesas: rcar-gen3-usb2: Disable clearing VBUS in over-current
* USB: usbcore: Fix slab-out-of-bounds bug during device reset
drivers/usb/core/config.c
powerpc/mm/radix: Use the right page size for vmemmap mapping
Input: elan_i2c - remove Lenovo Legion Y7000 PnpID
HID: wacom: generic: read HID_DG_CONTACTMAX from any feature report
* ANDROID: regression introduced override_creds=off
fs/overlayfs/dir.c
Merge 4.14.145 into android-4.14-q
Linux 4.14.145
x86/build: Add -Wnoaddress-of-packed-member to REALMODE_CFLAGS, to silence GCC9 build warning
* nvmem: Use the same permissions for eeprom as for nvmem
drivers/nvmem/core.c
platform/x86: pmc_atom: Add CB4063 Beckhoff Automation board to critclk_systems DMI table
Revert "Bluetooth: btusb: driver to enable the usb-wakeup feature"
drm/mediatek: mtk_drm_drv.c: Add of_node_put() before goto
firmware: ti_sci: Always request response from firmware
crypto: talitos - HMAC SNOOP NO AFEU mode requires SW icv checking.
crypto: talitos - Do not modify req->cryptlen on decryption.
crypto: talitos - fix ECB algs ivsize
crypto: talitos - check data blocksize in ablkcipher.
crypto: talitos - fix CTR alg blocksize
crypto: talitos - check AES key size
* driver core: Fix use-after-free and double free on glue directory
drivers/base/core.c
ubifs: Correctly use tnc_next() in search_dh_cookie()
* PCI: Always allow probing with driver_override
drivers/pci/pci-driver.c
mtd: rawnand: mtk: Fix wrongly assigned OOB buffer pointer issue
clk: rockchip: Don't yell about bad mmc phases when getting
drm/meson: Add support for XBGR8888 & ABGR8888 formats
powerpc: Add barrier_nospec to raw_copy_in_user()
MIPS: VDSO: Use same -m%-float cflag as the kernel proper
MIPS: VDSO: Prevent use of smp_processor_id()
KVM: nVMX: handle page fault in vmread
KVM: x86: work around leak of uninitialized stack contents
KVM: s390: Do not leak kernel stack data in the KVM_S390_INTERRUPT ioctl
* genirq: Prevent NULL pointer dereference in resend_irqs()
kernel/irq/resend.c
Btrfs: fix assertion failure during fsync and use of stale transaction
* gpio: fix line flag validation in lineevent_create
drivers/gpio/gpiolib.c
* gpio: fix line flag validation in linehandle_create
drivers/gpio/gpiolib.c
gpiolib: acpi: Add gpiolib_acpi_run_edge_events_on_boot option and blacklist
Revert "MIPS: SiByte: Enable swiotlb for SWARM, LittleSur and BigSur"
btrfs: correctly validate compression type
btrfs: compression: add helper for type to string conversion
* tun: fix use-after-free when register netdev failed
drivers/net/tun.c
tipc: add NULL pointer check before calling kfree_rcu
* tcp: fix tcp_ecn_withdraw_cwr() to clear TCP_ECN_QUEUE_CWR
net/ipv4/tcp_input.c
sctp: use transport pf_retrans in sctp_do_8_2_transport_strike
sctp: Fix the link time qualifier of 'sctp_ctrlsock_exit()'
sch_hhf: ensure quantum and hhf_non_hh_weight are non-zero
net: phylink: Fix flow control resolution
* net: gso: Fix skb_segment splat when splitting gso_size mangled skb having linear-headed frag_list
net/core/skbuff.c
* net: Fix null de-reference of device refcount
net/core/dev.c
isdn/capi: check message length in capi_write()
* ipv6: Fix the link time qualifier of 'ping_v6_proc_exit_net()'
net/ipv6/ping.c
* cdc_ether: fix rndis support for Mediatek based smartphones
drivers/net/usb/cdc_ether.c
* bridge/mdb: remove wrong use of NLM_F_MULTI
net/bridge/br_mdb.c
Merge 4.14.144 into android-4.14-q
Linux 4.14.144
vhost: make sure log_num < in_num
* kernel/module: Fix mem leak in module_add_modinfo_attrs
kernel/module.c
clk: s2mps11: Add used attribute to s2mps11_dt_match
scripts/decode_stacktrace: match basepath using shell prefix operator, not regex
arm64: dts: rockchip: enable usb-host regulators at boot on rk3328-rock64
powerpc/64: mark start_here_multiplatform as __ref
hv_sock: Fix hang when a connection is closed
batman-adv: Only read OGM tvlv_len after buffer len check
batman-adv: fix uninit-value in batadv_netlink_get_ifindex()
vhost/test: fix build for vhost test
PCI: dra7xx: Fix legacy INTD IRQ handling
PCI: designware-ep: Fix find_first_zero_bit() usage
* ip6: fix skb leak in ip6frag_expire_frag_queue()
include/net/ipv6_frag.h
* xfrm: clean up xfrm protocol checks
include/net/xfrm.h
net/key/af_key.c
net/xfrm/xfrm_state.c
net/xfrm/xfrm_user.c
powerpc/tm: Fix FP/VMX unavailable exceptions inside a transaction
drm/vmwgfx: Fix double free in vmw_recv_msg()
* sched/fair: Don't assign runtime for throttled cfs_rq
kernel/sched/fair.c
ALSA: hda/realtek - Fix the problem of two front mics on a ThinkCentre
ALSA: hda/realtek - Fix overridden device-specific initialization
ALSA: hda - Fix potential endless loop at applying quirks
Change-Id: Ie3ed88057f5363eb492eb0e4f70ce87954519425
Signed-off-by: Robin Peng <robinpeng@google.com>
85 lines
2.0 KiB
C
85 lines
2.0 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _LINUX_BUG_H
|
|
#define _LINUX_BUG_H
|
|
|
|
#include <asm/bug.h>
|
|
#include <linux/compiler.h>
|
|
#include <linux/build_bug.h>
|
|
|
|
enum bug_trap_type {
|
|
BUG_TRAP_TYPE_NONE = 0,
|
|
BUG_TRAP_TYPE_WARN = 1,
|
|
BUG_TRAP_TYPE_BUG = 2,
|
|
};
|
|
|
|
struct pt_regs;
|
|
|
|
#ifdef __CHECKER__
|
|
#define MAYBE_BUILD_BUG_ON(cond) (0)
|
|
#else /* __CHECKER__ */
|
|
|
|
#define MAYBE_BUILD_BUG_ON(cond) \
|
|
do { \
|
|
if (__builtin_constant_p((cond))) \
|
|
BUILD_BUG_ON(cond); \
|
|
else \
|
|
BUG_ON(cond); \
|
|
} while (0)
|
|
|
|
#endif /* __CHECKER__ */
|
|
|
|
#ifdef CONFIG_GENERIC_BUG
|
|
#include <asm-generic/bug.h>
|
|
|
|
static inline int is_warning_bug(const struct bug_entry *bug)
|
|
{
|
|
return bug->flags & BUGFLAG_WARNING;
|
|
}
|
|
|
|
struct bug_entry *find_bug(unsigned long bugaddr);
|
|
|
|
enum bug_trap_type report_bug(unsigned long bug_addr, struct pt_regs *regs);
|
|
|
|
/* These are defined by the architecture */
|
|
int is_valid_bugaddr(unsigned long addr);
|
|
|
|
#else /* !CONFIG_GENERIC_BUG */
|
|
|
|
static inline void *find_bug(unsigned long bugaddr)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static inline enum bug_trap_type report_bug(unsigned long bug_addr,
|
|
struct pt_regs *regs)
|
|
{
|
|
return BUG_TRAP_TYPE_BUG;
|
|
}
|
|
|
|
#endif /* CONFIG_GENERIC_BUG */
|
|
|
|
/*
|
|
* Since detected data corruption should stop operation on the affected
|
|
* structures. Return value must be checked and sanely acted on by caller.
|
|
*/
|
|
static inline __must_check bool check_data_corruption(bool v) { return v; }
|
|
#define CHECK_DATA_CORRUPTION(condition, fmt, ...) \
|
|
check_data_corruption(({ \
|
|
bool corruption = unlikely(condition); \
|
|
if (corruption) { \
|
|
if (IS_ENABLED(CONFIG_BUG_ON_DATA_CORRUPTION)) { \
|
|
pr_err(fmt, ##__VA_ARGS__); \
|
|
BUG(); \
|
|
} else \
|
|
WARN(1, fmt, ##__VA_ARGS__); \
|
|
} \
|
|
corruption; \
|
|
}))
|
|
|
|
#ifdef CONFIG_PANIC_ON_DATA_CORRUPTION
|
|
#define PANIC_CORRUPTION 1
|
|
#else
|
|
#define PANIC_CORRUPTION 0
|
|
#endif /* CONFIG_PANIC_ON_DATA_CORRUPTION */
|
|
#endif /* _LINUX_BUG_H */
|