d4414bc0e93d8da170fd0fc9fef65fe84015677d
103 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b67ad4839e |
ANDROID: kbuild: use grep -F instead of fgrep
Otherwise we need to pull in an extra dependency. Bug: 174773617 Fixes: |
||
|
|
4e69352d28 |
ANDROID: kbuild: speed up ksym_dep_filter
This commit reduces the input that tr and sed need to consider to a
few lines and so makes the extraction of ksyms faster.
On my machine at least, builds are greatly slowed down by tr.
A single invocation of sed might be fast too but seems non-trivial.
Bug: 174773617
Change-Id: I98698ff8603d816c55d4922ccb5936364b5fd906
Signed-off-by: Giuliano Procida <gprocida@google.com>
(cherry picked from commit
|
||
|
|
1c4149c525 |
Merge android-4.19-stable (4.19.135) into android-msm-pixel-4.19-lts
Merge 4.19.135 into android-4.19-stable
Linux 4.19.135
ath9k: Fix regression with Atheros 9271
ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb
* dm integrity: fix integrity recalculation that is improperly skipped
drivers/md/dm.c
include/linux/device-mapper.h
* ASoC: qcom: Drop HAS_DMA dependency to fix link failure
sound/soc/qcom/Kconfig
* ASoC: rt5670: Add new gpio1_is_ext_spk_en quirk and enable it on the Lenovo Miix 2 10
include/sound/rt5670.h
* x86, vmlinux.lds: Page-align end of ..page_aligned sections
include/asm-generic/vmlinux.lds.h
parisc: Add atomic64_set_release() define to avoid CPU soft lockups
drm/amd/powerplay: fix a crash when overclocking Vega M
drm/amdgpu: Fix NULL dereference in dpm sysfs handlers
* io-mapping: indicate mapping failure
include/linux/io-mapping.h
* mm: memcg/slab: fix memory leak at non-root kmem_cache destroy
mm/slab_common.c
* mm: memcg/slab: synchronize access to kmem_cache dying flag using a spinlock
mm/slab_common.c
* mm/memcg: fix refcount error while moving and swapping
mm/memcontrol.c
* Makefile: Fix GCC_TOOLCHAIN_DIR prefix for Clang cross compilation
Makefile
vt: Reject zero-sized screen buffer size.
fbdev: Detect integer underflow at "struct fbcon_ops"->clear_margins.
serial: 8250_mtk: Fix high-speed baud rates clamping
serial: 8250: fix null-ptr-deref in serial8250_start_tx()
staging: comedi: addi_apci_1564: check INSN_CONFIG_DIGITAL_TRIG shift
staging: comedi: addi_apci_1500: check INSN_CONFIG_DIGITAL_TRIG shift
staging: comedi: ni_6527: fix INSN_CONFIG_DIGITAL_TRIG support
staging: comedi: addi_apci_1032: check INSN_CONFIG_DIGITAL_TRIG shift
staging: wlan-ng: properly check endpoint types
Revert "cifs: Fix the target file was deleted when rename failed."
* usb: xhci: Fix ASM2142/ASM3142 DMA addressing
drivers/usb/host/xhci-pci.c
usb: xhci-mtk: fix the failure of bandwidth allocation
* binder: Don't use mmput() from shrinker function.
drivers/android/binder_alloc.c
RISC-V: Upgrade smp_mb__after_spinlock() to iorw,iorw
x86: math-emu: Fix up 'cmp' insn for clang ias
* arm64: Use test_tsk_thread_flag() for checking TIF_SINGLESTEP
arch/arm64/kernel/debug-monitors.c
hwmon: (scmi) Fix potential buffer overflow in scmi_hwmon_probe()
hwmon: (adm1275) Make sure we are reading enough data for different chips
usb: gadget: udc: gr_udc: fix memleak on error handling path in gr_ep_init()
Input: synaptics - enable InterTouch for ThinkPad X1E 1st gen
dmaengine: ioat setting ioat timeout as module parameter
hwmon: (aspeed-pwm-tacho) Avoid possible buffer overflow
* regmap: dev_get_regmap_match(): fix string comparison
drivers/base/regmap/regmap.c
spi: mediatek: use correct SPI_CFG2_REG MACRO
* Input: add `SW_MACHINE_COVER`
include/linux/mod_devicetable.h
include/uapi/linux/input-event-codes.h
dmaengine: tegra210-adma: Fix runtime PM imbalance on error
* HID: apple: Disable Fn-key key-re-mapping on clone keyboards
drivers/hid/hid-apple.c
HID: steam: fixes race in handling device list.
HID: alps: support devices with report id 2
HID: i2c-hid: add Mediacom FlexBook edge13 to descriptor override
scripts/gdb: fix lx-symbols 'gdb.error' while loading modules
scripts/decode_stacktrace: strip basepath from all paths
serial: exar: Fix GPIO configuration for Sealevel cards based on XR17V35X
* bonding: check return value of register_netdevice() in bond_newlink()
drivers/net/bonding/bond_netlink.c
i2c: rcar: always clear ICSAR to avoid side effects
net: ethernet: ave: Fix error returns in ave_init
ipvs: fix the connection sync failed in some cases
qed: suppress "don't support RoCE & iWARP" flooding on HW init
mlxsw: destroy workqueue when trap_register in mlxsw_emad_init
* bonding: check error value of register_netdevice() immediately
drivers/net/bonding/bond_main.c
net: smc91x: Fix possible memory leak in smc_drv_probe()
drm: sun4i: hdmi: Fix inverted HPD result
ieee802154: fix one possible memleak in adf7242_probe
net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration
* ax88172a: fix ax88172a_unbind() failures
drivers/net/usb/ax88172a.c
hippi: Fix a size used in a 'pci_free_consistent()' in an error handling path
fpga: dfl: fix bug in port reset handshake
bnxt_en: Fix race when modifying pause settings.
btrfs: fix page leaks after failure to lock page for delalloc
btrfs: fix mount failure caused by race with umount
btrfs: fix double free on ulist after backref resolution failure
ASoC: rt5670: Correct RT5670_LDO_SEL_MASK
* ALSA: info: Drop WARN_ON() from buffer NULL sanity check
sound/core/info.c
* uprobes: Change handle_swbp() to send SIGTRAP with si_code=SI_KERNEL, to fix GDB regression
kernel/events/uprobes.c
IB/umem: fix reference count leak in ib_umem_odp_get()
* tipc: clean up skb list lock handling on send path
net/tipc/bcast.c
net/tipc/group.c
net/tipc/link.c
net/tipc/node.c
net/tipc/socket.c
spi: spi-fsl-dspi: Exit the ISR with IRQ_NONE when it's not ours
SUNRPC reverting d03727b248d0 ("NFSv4 fix CLOSE not waiting for direct IO compeletion")
irqdomain/treewide: Keep firmware node unconditionally allocated
* fuse: fix weird page warning
fs/fuse/dev.c
drivers/firmware/psci: Fix memory leakage in alloc_init_cpu_groups()
drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout
net: sky2: initialize return of gm_phy_read
drivers/net/wan/lapbether: Fixed the value of hard_header_len
xtensa: update *pos in cpuinfo_op.next
xtensa: fix __sync_fetch_and_{and,or}_4 declarations
scsi: scsi_transport_spi: Fix function pointer check
mac80211: allow rx of mesh eapol frames with default rx key
pinctrl: amd: fix npins for uart0 in kerncz_groups
gpio: arizona: put pm_runtime in case of failure
gpio: arizona: handle pm_runtime_get_sync failure case
* soc: qcom: rpmh: Dirt can only make you dirtier, not cleaner
drivers/soc/qcom/rpmh.c
ANDROID: build: update ABI definitions
* ANDROID: update the kernel release format for GKI
Makefile
scripts/setlocalversion
* ANDROID: Incremental fs: magic number compatible 32-bit
fs/incfs/vfs.c
* ANDROID: kbuild: don't merge .*..compoundliteral in modules
scripts/module-lto.lds.S
* ANDROID: GKI: preserve ABI for struct sock_cgroup_data
include/linux/cgroup-defs.h
* Revert "genetlink: remove genl_bind"
include/net/genetlink.h
net/netlink/genetlink.c
* Revert "arm64/alternatives: use subsections for replacement sequences"
arch/arm64/include/asm/alternative.h
arch/arm64/kernel/vmlinux.lds.S
Merge 4.19.134 into android-4.19-stable
Linux 4.19.134
spi: sprd: switch the sequence of setting WDG_LOAD_LOW and _HIGH
* rxrpc: Fix trace string
include/trace/events/rxrpc.h
libceph: don't omit recovery_deletes in target_copy()
* printk: queue wake_up_klogd irq_work only if per-CPU areas are ready
include/linux/printk.h
init/main.c
kernel/printk/internal.h
kernel/printk/printk.c
kernel/printk/printk_safe.c
* genirq/affinity: Handle affinity setting on inactive interrupts correctly
kernel/irq/manage.c
* sched/fair: handle case of task_h_load() returning 0
kernel/sched/fair.c
* sched: Fix unreliable rseq cpu_id for new tasks
kernel/sched/core.c
* arm64: compat: Ensure upper 32 bits of x0 are zero on syscall return
arch/arm64/include/asm/syscall.h
arch/arm64/kernel/syscall.c
* arm64: ptrace: Consistently use pseudo-singlestep exceptions
arch/arm64/include/asm/thread_info.h
arch/arm64/kernel/ptrace.c
arch/arm64/kernel/signal.c
arch/arm64/kernel/syscall.c
* arm64: ptrace: Override SPSR.SS when single-stepping is enabled
arch/arm64/include/asm/debug-monitors.h
arch/arm64/kernel/debug-monitors.c
arch/arm64/kernel/ptrace.c
* thermal/drivers/cpufreq_cooling: Fix wrong frequency converted from power
drivers/thermal/cpu_cooling.c
misc: atmel-ssc: lock with mutex instead of spinlock
dmaengine: fsl-edma: Fix NULL pointer exception in fsl_edma_tx_handler
intel_th: Fix a NULL dereference when hub driver is not loaded
intel_th: pci: Add Emmitsburg PCH support
intel_th: pci: Add Tiger Lake PCH-H support
intel_th: pci: Add Jasper Lake CPU support
powerpc/book3s64/pkeys: Fix pkey_access_permitted() for execute disable pkey
hwmon: (emc2103) fix unable to change fan pwm1_enable attribute
riscv: use 16KB kernel stack on 64-bit
MIPS: Fix build for LTS kernel caused by backporting lpj adjustment
* timer: Fix wheel index calculation on last level
kernel/time/timer.c
* timer: Prevent base->clk from moving backward
kernel/time/timer.c
uio_pdrv_genirq: fix use without device tree and no interrupt
Input: i8042 - add Lenovo XiaoXin Air 12 to i8042 nomux list
mei: bus: don't clean driver pointer
* Revert "zram: convert remaining CLASS_ATTR() to CLASS_ATTR_RO()"
drivers/block/zram/zram_drv.c
* fuse: Fix parameter for FS_IOC_{GET,SET}FLAGS
fs/fuse/file.c
* ovl: fix unneeded call to ovl_change_flags()
fs/overlayfs/file.c
* ovl: relax WARN_ON() when decoding lower directory file handle
fs/overlayfs/export.c
* ovl: inode reference leak in ovl_is_inuse true case.
fs/overlayfs/super.c
serial: mxs-auart: add missed iounmap() in probe failure and remove
virtio: virtio_console: add missing MODULE_DEVICE_TABLE() for rproc serial
virt: vbox: Fix guest capabilities mask check
* virt: vbox: Fix VBGL_IOCTL_VMMDEV_REQUEST_BIG and _LOG req numbers to match upstream
include/uapi/linux/vboxguest.h
USB: serial: option: add Quectel EG95 LTE modem
USB: serial: option: add GosunCn GM500 series
USB: serial: ch341: add new Product ID for CH340
USB: serial: cypress_m8: enable Simply Automated UPB PIM
USB: serial: iuu_phoenix: fix memory corruption
usb: gadget: function: fix missing spinlock in f_uac1_legacy
usb: chipidea: core: add wakeup support for extcon
usb: dwc2: Fix shutdown callback in platform
USB: c67x00: fix use after free in c67x00_giveback_urb
ALSA: hda/realtek - Enable Speaker for ASUS UX533 and UX534
ALSA: hda/realtek - change to suitable link model for ASUS platform
* ALSA: usb-audio: Fix race against the error recovery URB submission
sound/usb/midi.c
ALSA: line6: Sync the pending work cancel at disconnection
ALSA: line6: Perform sanity check for each URB creation
* HID: quirks: Ignore Simply Automated UPB PIM
drivers/hid/hid-ids.h
drivers/hid/hid-quirks.c
* HID: quirks: Always poll Obins Anne Pro 2 keyboard
drivers/hid/hid-ids.h
drivers/hid/hid-quirks.c
* HID: magicmouse: do not set up autorepeat
drivers/hid/hid-magicmouse.c
slimbus: core: Fix mismatch in of_node_get/put
mtd: rawnand: oxnas: Release all devices in the _remove() path
mtd: rawnand: oxnas: Unregister all devices on error
mtd: rawnand: oxnas: Keep track of registered devices
mtd: rawnand: brcmnand: fix CS0 layout
mtd: rawnand: timings: Fix default tR_max and tCCS_min timings
mtd: rawnand: marvell: Fix probe error path
mtd: rawnand: marvell: Use nand_cleanup() when the device is not yet registered
* soc: qcom: rpmh-rsc: Allow using free WAKE TCS for active request
drivers/soc/qcom/rpmh-rsc.c
* soc: qcom: rpmh-rsc: Clear active mode configuration for wake TCS
drivers/soc/qcom/rpmh-rsc.c
* soc: qcom: rpmh: Invalidate SLEEP and WAKE TCSes before flushing new data
drivers/soc/qcom/rpmh.c
* soc: qcom: rpmh: Update dirty flag only when data changes
drivers/soc/qcom/rpmh.c
perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode
apparmor: ensure that dfa state tables have entries
copy_xstate_to_kernel: Fix typo which caused GDB regression
* regmap: debugfs: Don't sleep while atomic for fast_io regmaps
drivers/base/regmap/regmap-debugfs.c
ARM: dts: socfpga: Align L2 cache-controller nodename with dtschema
Revert "thermal: mediatek: fix register index error"
staging: comedi: verify array index is correct before using it
usb: gadget: udc: atmel: fix uninitialized read in debug printk
spi: spi-sun6i: sun6i_spi_transfer_one(): fix setting of clock rate
arm64: dts: meson: add missing gxl rng clock
phy: sun4i-usb: fix dereference of pointer phy0 before it is null checked
iio:health:afe4404 Fix timestamp alignment and prevent data leak.
* ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Flight S
sound/usb/quirks.c
ACPI: video: Use native backlight on Acer TravelMate 5735Z
Input: mms114 - add extra compatible for mms345l
* ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Alpha S
sound/usb/quirks.c
ACPI: video: Use native backlight on Acer Aspire 5783z
* ALSA: usb-audio: Rewrite registration quirk handling
sound/usb/card.c
sound/usb/quirks.c
sound/usb/quirks.h
mmc: sdhci: do not enable card detect interrupt for gpio cd type
doc: dt: bindings: usb: dwc3: Update entries for disabling SS instances in park mode
* ALSA: usb-audio: Create a registration quirk for Kingston HyperX Amp (0951:16d8)
sound/usb/card.c
sound/usb/quirks.c
sound/usb/quirks.h
* scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled
drivers/scsi/Kconfig
ARM: at91: pm: add quirk for sam9x60's ulp1
* HID: quirks: Remove ITE 8595 entry from hid_have_special_driver
drivers/hid/hid-quirks.c
net: sfp: add some quirks for GPON modules
net: sfp: add support for module quirks
* Revert "usb/ehci-platform: Set PM runtime as active on resume"
drivers/usb/host/ehci-platform.c
* Revert "usb/xhci-plat: Set PM runtime as active on resume"
drivers/usb/host/xhci-plat.c
* Revert "usb/ohci-platform: Fix a warning when hibernating"
drivers/usb/host/ohci-platform.c
* of: of_mdio: Correct loop scanning logic
drivers/of/of_mdio.c
net: dsa: bcm_sf2: Fix node reference count
spi: spi-fsl-dspi: Fix lockup if device is shutdown during SPI transfer
spi: fix initial SPI_SR value in spi-fsl-dspi
iio:health:afe4403 Fix timestamp alignment and prevent data leak.
iio:pressure:ms5611 Fix buffer element alignment
iio:humidity:hts221 Fix alignment and data leak issues
iio: pressure: zpa2326: handle pm_runtime_get_sync failure
iio: mma8452: Add missed iio_device_unregister() call in mma8452_probe()
iio: magnetometer: ak8974: Fix runtime PM imbalance on error
iio:humidity:hdc100x Fix alignment and data leak issues
iio:magnetometer:ak8974: Fix alignment and data leak issues
* arm64/alternatives: don't patch up internal branches
arch/arm64/kernel/alternative.c
i2c: eg20t: Load module automatically if ID matches
gfs2: read-only mounts should grab the sd_freeze_gl glock
tpm_tis: extra chip->ops check on error path in tpm_tis_core_init
* arm64/alternatives: use subsections for replacement sequences
arch/arm64/include/asm/alternative.h
arch/arm64/kernel/vmlinux.lds.S
m68k: mm: fix node memblock init
m68k: nommu: register start of the memory with memblock
drm/exynos: fix ref count leak in mic_pre_enable
drm/msm: fix potential memleak in error branch
* vlan: consolidate VLAN parsing code and limit max parsing depth
include/linux/if_vlan.h
* sched: consistently handle layer3 header accesses in the presence of VLANs
include/linux/if_vlan.h
include/net/inet_ecn.h
include/net/pkt_sched.h
net/core/filter.c
net/sched/act_skbedit.c
net/sched/cls_api.c
net/sched/cls_flow.c
net/sched/em_meta.c
* cgroup: Fix sock_cgroup_data on big-endian.
include/linux/cgroup-defs.h
* cgroup: fix cgroup_sk_alloc() for sk_clone_lock()
include/linux/cgroup-defs.h
include/linux/cgroup.h
kernel/cgroup/cgroup.c
net/core/sock.c
* tcp: md5: allow changing MD5 keys in all socket states
net/ipv4/tcp.c
* tcp: md5: refine tcp_md5_do_add()/tcp_md5_hash_key() barriers
net/ipv4/tcp.c
net/ipv4/tcp_ipv4.c
* tcp: md5: do not send silly options in SYNCOOKIES
net/ipv4/tcp_output.c
* tcp: md5: add missing memory barriers in tcp_md5_do_add()/tcp_md5_hash_key()
net/ipv4/tcp.c
net/ipv4/tcp_ipv4.c
* tcp: make sure listeners don't initialize congestion-control state
net/ipv4/tcp.c
net/ipv4/tcp_cong.c
* tcp: fix SO_RCVLOWAT possible hangs under high mem pressure
net/ipv4/tcp_input.c
net: usb: qmi_wwan: add support for Quectel EG95 LTE modem
net_sched: fix a memory leak in atm_tc_init()
* net: Added pointer check for dst->ops->neigh_lookup in dst_neigh_lookup_skb
include/net/dst.h
llc: make sure applications use ARPHRD_ETHER
* l2tp: remove skb_dst_set() from l2tp_xmit_skb()
net/l2tp/l2tp_core.c
* ipv4: fill fl4_icmp_{type,code} in ping_v4_sendmsg
net/ipv4/ping.c
* genetlink: remove genl_bind
include/net/genetlink.h
net/netlink/genetlink.c
* net: rmnet: fix lower interface leak
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
perf: Make perf able to build with latest libbfd
* UPSTREAM: media: v4l2-ctrl: Add H264 profile and levels
drivers/media/v4l2-core/v4l2-ctrls.c
include/uapi/linux/v4l2-controls.h
* UPSTREAM: media: v4l2-ctrl: Add control for h.264 chroma qp offset
drivers/media/v4l2-core/v4l2-ctrls.c
include/uapi/linux/v4l2-controls.h
* ANDROID: GKI: ASoC: compress: revert some code to avoid race condition
sound/core/compress_offload.c
ANDROID: GKI: Update the ABI xml representation.
* ANDROID: GKI: kernel: tick-sched: Add an API for wakeup callbacks
include/linux/tick.h
kernel/time/tick-sched.c
* ANDROID: ASoC: Compress: Check and set pcm_new driver op
sound/soc/soc-compress.c
Revert "ANDROID: GKI: arm64: gki_defconfig: Disable CONFIG_ARM64_TAGGED_ADDR_ABI"
ANDROID: arm64: configs: enabe CONFIG_TMPFS
* Revert "ALSA: compress: fix partial_drain completion state"
include/sound/compress_driver.h
sound/core/compress_offload.c
Merge 4.19.133 into android-4.19-stable
ANDROID: GKI: enable CONFIG_EXT4_FS_POSIX_ACL.
ANDROID: GKI: set CONFIG_STATIC_USERMODEHELPER_PATH
Linux 4.19.133
s390/mm: fix huge pte soft dirty copying
ARC: elf: use right ELF_ARCH
ARC: entry: fix potential EFA clobber when TIF_SYSCALL_TRACE
* dm: use noio when sending kobject event
drivers/md/dm.c
drm/radeon: fix double free
btrfs: fix fatal extent_buffer readahead vs releasepage race
Revert "ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb"
* bpf: Check correct cred for CAP_SYSLOG in bpf_dump_raw_ok()
include/linux/filter.h
kernel/bpf/syscall.c
net/core/sysctl_net_core.c
kprobes: Do not expose probe addresses to non-CAP_SYSLOG
* module: Do not expose section addresses to non-CAP_SYSLOG
kernel/module.c
* module: Refactor section attr into bin attribute
kernel/module.c
* kernel: module: Use struct_size() helper
kernel/module.c
* kallsyms: Refactor kallsyms_show_value() to take cred
include/linux/filter.h
include/linux/kallsyms.h
kernel/kallsyms.c
kernel/module.c
KVM: x86: Mark CR4.TSD as being possibly owned by the guest
KVM: x86: Inject #GP if guest attempts to toggle CR4.LA57 in 64-bit mode
KVM: x86: bit 8 of non-leaf PDPEs is not reserved
KVM: arm64: Stop clobbering x0 for HVC_SOFT_RESTART
* KVM: arm64: Fix definition of PAGE_HYP_DEVICE
arch/arm64/include/asm/pgtable-prot.h
* ALSA: usb-audio: add quirk for MacroSilicon MS2109
sound/usb/quirks-table.h
ALSA: hda - let hs_mic be picked ahead of hp_mic
ALSA: opl3: fix infoleak in opl3
mlxsw: spectrum_router: Remove inappropriate usage of WARN_ON()
net: macb: mark device wake capable when "magic-packet" property present
bnxt_en: fix NULL dereference in case SR-IOV configuration fails
cxgb4: fix all-mask IP address comparison
nbd: Fix memory leak in nbd_add_socket
arm64: kgdb: Fix single-step exception handling oops
* ALSA: compress: fix partial_drain completion state
include/sound/compress_driver.h
sound/core/compress_offload.c
net: hns3: fix use-after-free when doing self test
smsc95xx: avoid memory leak in smsc95xx_bind
smsc95xx: check return value of smsc95xx_reset
net: cxgb4: fix return error value in t4_prep_fw
drm/mediatek: Check plane visibility in atomic_update
* net: qrtr: Fix an out of bounds read qrtr_endpoint_post()
net/qrtr/qrtr.c
x86/entry: Increase entry_stack size to a full page
nvme-rdma: assign completion vector correctly
block: release bip in a right way in error path
usb: dwc3: pci: Fix reference count leak in dwc3_pci_resume_work
scsi: mptscsih: Fix read sense data size
ARM: imx6: add missing put_device() call in imx6q_suspend_init()
cifs: update ctime and mtime during truncate
s390/kasan: fix early pgm check handler execution
* drm: panel-orientation-quirks: Use generic orientation-data for Acer S1003
drivers/gpu/drm/drm_panel_orientation_quirks.c
* drm: panel-orientation-quirks: Add quirk for Asus T101HA panel
drivers/gpu/drm/drm_panel_orientation_quirks.c
i40e: protect ring accesses with READ- and WRITE_ONCE
ixgbe: protect ring accesses with READ- and WRITE_ONCE
* spi: spidev: fix a potential use-after-free in spidev_release()
drivers/spi/spidev.c
* spi: spidev: fix a race between spidev_release and spidev_remove
drivers/spi/spidev.c
gpu: host1x: Detach driver on unregister
drm/tegra: hub: Do not enable orphaned window group
ARM: dts: omap4-droid4: Fix spi configuration and increase rate
* regmap: fix alignment issue
drivers/base/regmap/regmap.c
spi: spi-fsl-dspi: Fix external abort on interrupt in resume or exit paths
spi: spi-fsl-dspi: use IRQF_SHARED mode to request IRQ
spi: spi-fsl-dspi: Fix lockup if device is removed during SPI transfer
spi: spi-fsl-dspi: Adding shutdown hook
KVM: s390: reduce number of IO pins to 1
ANDROID: GKI: update abi based on padding fields being added
* ANDROID: GKI: USB: Gadget: add Android ABI padding to struct usb_gadget
include/linux/usb/gadget.h
* ANDROID: GKI: sound/usb/card.h: add Android ABI padding to struct snd_usb_endpoint
sound/usb/card.h
* ANDROID: fscrypt: fix DUN contiguity with inline encryption + IV_INO_LBLK_32 policies
fs/crypto/bio.c
fs/crypto/inline_crypt.c
* ANDROID: f2fs: add back compress inode check
fs/f2fs/f2fs.h
Merge 4.19.132 into android-4.19-stable
Linux 4.19.132
* efi: Make it possible to disable efivar_ssdt entirely
drivers/firmware/efi/Kconfig
dm zoned: assign max_io_len correctly
* irqchip/gic: Atomically update affinity
drivers/irqchip/irq-gic.c
MIPS: Add missing EHB in mtc0 -> mfc0 sequence for DSPen
cifs: Fix the target file was deleted when rename failed.
SMB3: Honor lease disabling for multiuser mounts
SMB3: Honor persistent/resilient handle flags for multiuser mounts
SMB3: Honor 'seal' flag for multiuser mounts
* Revert "ALSA: usb-audio: Improve frames size computation"
sound/usb/card.h
sound/usb/endpoint.c
sound/usb/endpoint.h
sound/usb/pcm.c
nfsd: apply umask on fs without ACL support
i2c: mlxcpld: check correct size of maximum RECV_LEN packet
i2c: algo-pca: Add 0x78 as SCL stuck low status for PCA9665
nvme: fix a crash in nvme_mpath_add_disk
SMB3: Honor 'posix' flag for multiuser mounts
virtio-blk: free vblk-vqs in error path of virtblk_probe()
drm: sun4i: hdmi: Remove extra HPD polling
hwmon: (acpi_power_meter) Fix potential memory leak in acpi_power_meter_add()
hwmon: (max6697) Make sure the OVERT mask is set correctly
cxgb4: fix SGE queue dump destination buffer context
cxgb4: use correct type for all-mask IP address comparison
cxgb4: parse TC-U32 key values and masks natively
cxgb4: use unaligned conversion for fetching timestamp
drm/msm/dpu: fix error return code in dpu_encoder_init
* crypto: af_alg - fix use-after-free in af_alg_accept() due to bh_lock_sock()
include/crypto/if_alg.h
kgdb: Avoid suspicious RCU usage warning
nvme-multipath: fix deadlock between ana_work and scan_work
nvme-multipath: set bdi capabilities once
s390/debug: avoid kernel warning on too large number of pages
usb: usbtest: fix missing kfree(dev->buf) in usbtest_disconnect
* mm/slub: fix stack overruns with SLUB_STATS
mm/slub.c
* mm/slub.c: fix corrupted freechain in deactivate_slab()
mm/slub.c
usbnet: smsc95xx: Fix use-after-free after removal
EDAC/amd64: Read back the scrub rate PCI register on F15h
* mm: fix swap cache node allocation mask
mm/swap_state.c
btrfs: fix a block group ref counter leak after failure to remove block group
ANDROID: Update ABI representation for libabigail update
ANDROID: Update the ABI representation
ANDROID: Update the ABI xml representation
* ANDROID: GKI: fix ABI diffs caused by GPU heap and pool vmstat additions
include/linux/mmzone.h
mm/vmstat.c
* ANDROID: sched: consider stune boost margin when computing energy
kernel/sched/cpufreq_schedutil.c
kernel/sched/fair.c
kernel/sched/sched.h
kernel/sched/tune.c
kernel/sched/tune.h
ANDROID: GKI: move abi files to android/
ANDROID: GKI: drop unneeded "_whitelist" off of symbol filenames
* UPSTREAM: binder: fix null deref of proc->context
drivers/android/binder.c
* ANDROID: cpufreq: schedutil: maintain raw cache when next_f is not changed
kernel/sched/cpufreq_schedutil.c
* UPSTREAM: net: bpf: Make bpf_ktime_get_ns() available to non GPL programs
kernel/bpf/helpers.c
UPSTREAM: usb: musb: mediatek: add reset FADDR to zero in reset interrupt handle
* ANDROID: GKI: scripts: Makefile: update the lz4 command (#2)
scripts/Makefile.lib
ANDROID: Update the ABI xml representation
* Revert "drm/dsi: Fix byte order of DCS set/get brightness"
drivers/gpu/drm/drm_mipi_dsi.c
include/drm/drm_mipi_dsi.h
Merge 4.19.131 into android-4.19-stable
Linux 4.19.131
Revert "tty: hvc: Fix data abort due to race in hvc_open"
xfs: add agf freeblocks verify in xfs_agf_verify
dm writecache: add cond_resched to loop in persistent_memory_claim()
dm writecache: correct uncommitted_block when discarding uncommitted entry
NFSv4 fix CLOSE not waiting for direct IO compeletion
pNFS/flexfiles: Fix list corruption if the mirror count changes
SUNRPC: Properly set the @subbuf parameter of xdr_buf_subsegment()
sunrpc: fixed rollback in rpc_gssd_dummy_populate()
Staging: rtl8723bs: prevent buffer overflow in update_sta_support_rate()
drm/radeon: fix fb_div check in ni_init_smc_spll_table()
* drm: rcar-du: Fix build error
drivers/gpu/drm/rcar-du/Kconfig
* ring-buffer: Zero out time extend if it is nested and not absolute
kernel/trace/ring_buffer.c
* tracing: Fix event trigger to accept redundant spaces
kernel/trace/trace_events_trigger.c
* arm64: perf: Report the PC value in REGS_ABI_32 mode
arch/arm64/kernel/perf_regs.c
ocfs2: fix panic on nfs server over ocfs2
ocfs2: fix value of OCFS2_INVALID_SLOT
ocfs2: load global_inode_alloc
ocfs2: avoid inode removal while nfsd is accessing it
* mm/slab: use memzero_explicit() in kzfree()
mm/slab_common.c
btrfs: fix failure of RWF_NOWAIT write into prealloc extent beyond eof
btrfs: fix data block group relocation failure due to concurrent scrub
x86/asm/64: Align start of __clear_user() loop to 16-bytes
KVM: nVMX: Plumb L2 GPA through to PML emulation
KVM: X86: Fix MSR range of APIC registers in X2APIC mode
erofs: fix partially uninitialized misuse in z_erofs_onlinepage_fixup
ACPI: sysfs: Fix pm_profile_attr type
ALSA: hda/realtek - Add quirk for MSI GE63 laptop
ALSA: hda: Add NVIDIA codec IDs 9a & 9d through a0 to patch table
RISC-V: Don't allow write+exec only page mapping request in mmap
* blktrace: break out of blktrace setup on concurrent calls
kernel/trace/blktrace.c
* kbuild: improve cc-option to clean up all temporary files
scripts/Kbuild.include
* arm64: sve: Fix build failure when ARM64_SVE=y and SYSCTL=n
arch/arm64/kernel/fpsimd.c
s390/vdso: fix vDSO clock_getres()
s390/ptrace: fix setting syscall number
net: alx: fix race condition in alx_remove
ibmvnic: Harden device login requests
hwrng: ks-sa - Fix runtime PM imbalance on error
riscv/atomic: Fix sign extension for RV64I
drm/amd/display: Use kfree() to free rgb_user in calculate_user_regamma_ramp()
ata/libata: Fix usage of page address by page_address in ata_scsi_mode_select_xlat function
sata_rcar: handle pm_runtime_get_sync failure cases
* sched/core: Fix PI boosting between RT and DEADLINE tasks
kernel/sched/core.c
* sched/deadline: Initialize ->dl_boosted
kernel/sched/deadline.c
* i2c: core: check returned size of emulated smbus block read
drivers/i2c/i2c-core-smbus.c
i2c: fsi: Fix the port number field in status register
net: bcmgenet: use hardware padding of runt frames
netfilter: ipset: fix unaligned atomic access
usb: gadget: udc: Potential Oops in error handling code
ARM: imx5: add missing put_device() call in imx_suspend_alloc_ocram()
cxgb4: move handling L2T ARP failures to caller
net: qed: fix excessive QM ILT lines consumption
net: qed: fix NVMe login fails over VFs
* net: qed: fix left elements count calculation
include/linux/qed/qed_chain.h
RDMA/mad: Fix possible memory leak in ib_mad_post_receive_mads()
ASoC: rockchip: Fix a reference count leak.
RDMA/cma: Protect bind_list and listen_list while finding matching cm id
RDMA/qedr: Fix KASAN: use-after-free in ucma_event_handler+0x532
rxrpc: Fix handling of rwind from an ACK packet
ARM: dts: NSP: Correct FA2 mailbox node
* regmap: Fix memory leak from regmap_register_patch
drivers/base/regmap/regmap.c
x86/resctrl: Fix a NULL vs IS_ERR() static checker warning in rdt_cdp_peer_get()
ARM: dts: Fix duovero smsc interrupt for suspend
ASoC: fsl_ssi: Fix bclk calculation for mono channel
regualtor: pfuze100: correct sw1a/sw2 on pfuze3000
efi/esrt: Fix reference count leak in esre_create_sysfs_entry.
ASoC: q6asm: handle EOS correctly
* xfrm: Fix double ESP trailer insertion in IPsec crypto offload.
include/net/xfrm.h
net/xfrm/xfrm_device.c
cifs/smb3: Fix data inconsistent when zero file range
cifs/smb3: Fix data inconsistent when punch hole
IB/mad: Fix use after free when destroying MAD agent
* loop: replace kill_bdev with invalidate_bdev
drivers/block/loop.c
cdc-acm: Add DISABLE_ECHO quirk for Microchip/SMSC chip
* xhci: Return if xHCI doesn't support LPM
drivers/usb/host/xhci.c
* xhci: Fix enumeration issue when setting max packet size for FS devices.
drivers/usb/host/xhci.c
* xhci: Fix incorrect EP_STATE_MASK
drivers/usb/host/xhci.h
scsi: zfcp: Fix panic on ERP timeout for previously dismissed ERP action
* ALSA: usb-audio: Fix OOB access of mixer element list
sound/usb/mixer.c
sound/usb/mixer.h
sound/usb/mixer_quirks.c
* ALSA: usb-audio: add quirk for Samsung USBC Headset (AKG)
sound/usb/quirks.c
* ALSA: usb-audio: add quirk for Denon DCD-1500RE
sound/usb/quirks.c
usb: typec: tcpci_rt1711h: avoid screaming irq causing boot hangs
usb: host: ehci-exynos: Fix error check in exynos_ehci_probe()
* xhci: Poll for U0 after disabling USB2 LPM
drivers/usb/host/xhci.c
usb: host: xhci-mtk: avoid runtime suspend when removing hcd
* USB: ehci: reopen solution for Synopsys HC bug
drivers/usb/host/ehci-pci.c
* usb: add USB_QUIRK_DELAY_INIT for Logitech C922
drivers/usb/core/quirks.c
usb: dwc2: Postponed gadget registration to the udc class driver
USB: ohci-sm501: Add missed iounmap() in remove
* net: core: reduce recursion limit value
include/linux/netdevice.h
* net: Do not clear the sock TX queue in sk_set_socket()
include/net/sock.h
net/core/sock.c
* net: Fix the arp error in some cases
net/ipv4/fib_semantics.c
sch_cake: don't call diffserv parsing code when it is not needed
* tcp_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT
net/ipv4/tcp_cubic.c
sch_cake: fix a few style nits
sch_cake: don't try to reallocate or unshare skb unconditionally
* ip_tunnel: fix use-after-free in ip_tunnel_lookup()
net/ipv4/ip_tunnel.c
* net: phy: Check harder for errors in get_phy_id()
drivers/net/phy/phy_device.c
ip6_gre: fix use-after-free in ip6gre_tunnel_lookup()
tg3: driver sleeps indefinitely when EEH errors exceed eeh_max_freezes
* tcp: grow window for OOO packets only for SACK flows
net/ipv4/tcp_input.c
* tcp: don't ignore ECN CWR on pure ACK
net/ipv4/tcp_input.c
* sctp: Don't advertise IPv4 addresses if ipv6only is set on the socket
include/net/sctp/constants.h
net/sctp/associola.c
net/sctp/bind_addr.c
net/sctp/protocol.c
rxrpc: Fix notification call on completion of discarded calls
rocker: fix incorrect error handling in dma_rings_init
* net: usb: ax88179_178a: fix packet alignment padding
drivers/net/usb/ax88179_178a.c
* net: increment xmit_recursion level in dev_direct_xmit()
net/core/dev.c
net/core/sock.c
* net: use correct this_cpu primitive in dev_recursion_level
include/linux/netdevice.h
* net: place xmit recursion in softnet data
include/linux/netdevice.h
net/core/dev.c
net/core/filter.c
* net: fix memleak in register_netdevice()
net/core/dev.c
* net: bridge: enfore alignment for ethernet address
net/bridge/br_private.h
* mld: fix memory leak in ipv6_mc_destroy_dev()
net/ipv6/mcast.c
ibmveth: Fix max MTU limit
apparmor: don't try to replace stale label in ptraceme check
ALSA: hda/realtek - Enable micmute LED on and HP system
ALSA: hda/realtek: Enable mute LED on an HP system
ALSA: hda/realtek - Enable the headset of ASUS B9450FA with ALC294
fix a braino in "sparc32: fix register window handling in genregs32_[gs]et()"
i2c: tegra: Fix Maximum transfer size
i2c: tegra: Add missing kerneldoc for some fields
i2c: tegra: Cleanup kerneldoc comments
EDAC/amd64: Add Family 17h Model 30h PCI IDs
* net: sched: export __netdev_watchdog_up()
net/sched/sch_generic.c
net: bcmgenet: remove HFB_CTRL access
mtd: rawnand: marvell: Fix the condition on a return code
fanotify: fix ignore mask logic for events on child and on dir
block/bio-integrity: don't free 'buf' if bio_integrity_add_page() failed
* net: be more gentle about silly gso requests coming from user
include/linux/virtio_net.h
* ANDROID: lib/vdso: do not update timespec if clock_getres() fails
lib/vdso/gettimeofday.c
* Revert "ANDROID: fscrypt: add key removal notifier chain"
fs/crypto/keyring.c
include/linux/fscrypt.h
ANDROID: update the ABI xml and qcom whitelist
* ANDROID: fs: export vfs_{read|write}
fs/read_write.c
ANDROID: GKI: update abi definitions now that sdcardfs is gone
* Revert "ANDROID: sdcardfs: Enable modular sdcardfs"
fs/fs_struct.c
fs/read_write.c
security/security.c
* Revert "ANDROID: vfs: Add setattr2 for filesystems with per mount permissions"
fs/attr.c
fs/coredump.c
fs/inode.c
fs/namei.c
fs/open.c
fs/utimes.c
include/linux/fs.h
* Revert "ANDROID: vfs: fix export symbol type"
fs/attr.c
* Revert "ANDROID: vfs: Add permission2 for filesystems with per mount permissions"
fs/attr.c
fs/exec.c
fs/namei.c
fs/notify/inotify/inotify_user.c
fs/open.c
fs/xattr.c
include/linux/fs.h
include/linux/namei.h
* Revert "ANDROID: vfs: fix export symbol types"
fs/namei.c
* Revert "ANDROID: vfs: add d_canonical_path for stacked filesystem support"
fs/notify/inotify/inotify_user.c
include/linux/dcache.h
include/linux/fsnotify.h
* Revert "ANDROID: fs: Restore vfs_path_lookup() export"
fs/internal.h
include/linux/namei.h
* ANDROID: sdcardfs: remove sdcardfs from system
fs/Kconfig
fs/Makefile
* Revert "ALSA: usb-audio: Improve frames size computation"
sound/usb/card.h
sound/usb/endpoint.c
sound/usb/endpoint.h
sound/usb/pcm.c
Merge 4.19.130 into android-4.19-stable
* ANDROID: Makefile: append BUILD_NUMBER to version string when defined
Makefile
ANDROID: GKI: Update ABI for incremental fs
ANDROID: GKI: Update cuttlefish whitelist
ANDROID: GKI: Disable INCREMENTAL_FS on x86 too
* ANDROID: cpufreq: schedutil: drop cache when update skipped due to rate limit
kernel/sched/cpufreq_schedutil.c
Linux 4.19.130
KVM: x86/mmu: Set mmio_value to '0' if reserved #PF can't be generated
kvm: x86: Fix reserved bits related calculation errors caused by MKTME
kvm: x86: Move kvm_set_mmio_spte_mask() from x86.c to mmu.c
* md: add feature flag MD_FEATURE_RAID0_LAYOUT
include/uapi/linux/raid/md_p.h
Revert "dpaa_eth: fix usage as DSA master, try 3"
* net: core: device_rename: Use rwsem instead of a seqcount
net/core/dev.c
* sched/rt, net: Use CONFIG_PREEMPTION.patch
net/core/dev.c
* kretprobe: Prevent triggering kretprobe from within kprobe_flush_task
include/linux/kprobes.h
net: octeon: mgmt: Repair filling of RX ring
e1000e: Do not wake up the system via WOL if device wakeup is disabled
kprobes: Fix to protect kick_kprobe_optimizer() by kprobe_mutex
* crypto: algboss - don't wait during notifier callback
crypto/algboss.c
crypto: algif_skcipher - Cap recv SG list at ctx->used
drm/i915/icl+: Fix hotplug interrupt disabling after storm detection
drm/i915: Whitelist context-local timestamp in the gen9 cmdparser
s390: fix syscall_get_error for compat processes
mtd: rawnand: tmio: Fix the probe error path
mtd: rawnand: mtk: Fix the probe error path
mtd: rawnand: plat_nand: Fix the probe error path
mtd: rawnand: socrates: Fix the probe error path
mtd: rawnand: oxnas: Fix the probe error path
mtd: rawnand: oxnas: Add of_node_put()
mtd: rawnand: orion: Fix the probe error path
mtd: rawnand: xway: Fix the probe error path
mtd: rawnand: sharpsl: Fix the probe error path
mtd: rawnand: diskonchip: Fix the probe error path
* mtd: rawnand: Pass a nand_chip object to nand_release()
include/linux/mtd/rawnand.h
* mtd: rawnand: Pass a nand_chip object to nand_scan()
include/linux/mtd/rawnand.h
* block: nr_sects_write(): Disable preemption on seqcount write
include/linux/genhd.h
x86/boot/compressed: Relax sed symbol type regex for LLVM ld.lld
* drm/dp_mst: Increase ACT retry timeout to 3s
drivers/gpu/drm/drm_dp_mst_topology.c
* ext4: avoid race conditions when remounting with options that change dax
fs/ext4/super.c
* ext4: fix partial cluster initialization when splitting extent
fs/ext4/extents.c
* selinux: fix double free
security/selinux/ss/services.c
drm/amdgpu: Replace invalid device ID with a valid device ID
drm/qxl: Use correct notify port address when creating cursor ring
* drm/dp_mst: Reformat drm_dp_check_act_status() a bit
drivers/gpu/drm/drm_dp_mst_topology.c
* drm: encoder_slave: fix refcouting error for modules
drivers/gpu/drm/drm_encoder_slave.c
* libata: Use per port sync for detach
include/linux/libata.h
* arm64: hw_breakpoint: Don't invoke overflow handler on uaccess watchpoints
arch/arm64/kernel/hw_breakpoint.c
* block: Fix use-after-free in blkdev_get()
fs/block_dev.c
afs: afs_write_end() should change i_size under the right lock
afs: Fix non-setting of mtime when writing into mmap
bcache: fix potential deadlock problem in btree_gc_coalesce
* ext4: stop overwrite the errcode in ext4_setup_super
fs/ext4/super.c
perf report: Fix NULL pointer dereference in hists__fprintf_nr_sample_events()
* usb/ehci-platform: Set PM runtime as active on resume
drivers/usb/host/ehci-platform.c
* usb: host: ehci-platform: add a quirk to avoid stuck
drivers/usb/host/ehci-platform.c
include/linux/usb/ehci_def.h
* usb/xhci-plat: Set PM runtime as active on resume
drivers/usb/host/xhci-plat.c
xdp: Fix xsk_generic_xmit errno
* net/filter: Permit reading NET in load_bytes_relative when MAC not set
net/core/filter.c
x86/idt: Keep spurious entries unset in system_vectors
scsi: acornscsi: Fix an error handling path in acornscsi_probe()
drm/sun4i: hdmi ddc clk: Fix size of m divider
ASoC: rt5645: Add platform-data for Asus T101HA
ASoC: Intel: bytcr_rt5640: Add quirk for Toshiba Encore WT10-A tablet
* ASoC: core: only convert non DPCM link to DPCM link
sound/soc/soc-core.c
afs: Fix memory leak in afs_put_sysnames()
selftests/net: in timestamping, strncpy needs to preserve null byte
drivers/perf: hisi: Fix wrong value for all counters enable
NTB: ntb_test: Fix bug when counting remote files
NTB: perf: Fix race condition when run with ntb_test
NTB: perf: Fix support for hardware that doesn't have port numbers
NTB: perf: Don't require one more memory window than number of peers
NTB: Revert the change to use the NTB device dev for DMA allocations
NTB: ntb_tool: reading the link file should not end in a NULL byte
ntb_tool: pass correct struct device to dma_alloc_coherent
ntb_perf: pass correct struct device to dma_alloc_coherent
gfs2: fix use-after-free on transaction ail lists
* blktrace: fix endianness for blk_log_remap()
kernel/trace/blktrace.c
* blktrace: fix endianness in get_pdu_int()
kernel/trace/blktrace.c
* blktrace: use errno instead of bi_status
kernel/trace/blktrace.c
selftests/vm/pkeys: fix alloc_random_pkey() to make it really random
* elfnote: mark all .note sections SHF_ALLOC
include/linux/elfnote.h
* include/linux/bitops.h: avoid clang shift-count-overflow warnings
include/linux/bitops.h
* lib/zlib: remove outdated and incorrect pre-increment optimization
lib/zlib_inflate/inffast.c
geneve: change from tx_error to tx_dropped on missing metadata
crypto: omap-sham - add proper load balancing support for multicore
pinctrl: freescale: imx: Fix an error handling path in 'imx_pinctrl_probe()'
pinctrl: imxl: Fix an error handling path in 'imx1_pinctrl_core_probe()'
* scsi: ufs: Don't update urgent bkops level when toggling auto bkops
drivers/scsi/ufs/ufshcd.c
scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj
gfs2: Allow lock_nolock mount to specify jid=X
openrisc: Fix issue with argument clobbering for clone/fork
rxrpc: Adjust /proc/net/rxrpc/calls to display call->debug_id not user_ID
vfio/mdev: Fix reference count leak in add_mdev_supported_type
ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed
extcon: adc-jack: Fix an error handling path in 'adc_jack_probe()'
powerpc/4xx: Don't unmap NULL mbase
* of: Fix a refcounting bug in __of_attach_node_sysfs()
drivers/of/kobj.c
NFSv4.1 fix rpc_call_done assignment for BIND_CONN_TO_SESSION
net: sunrpc: Fix off-by-one issues in 'rpc_ntop6'
clk: sprd: return correct type of value for _sprd_pll_recalc_rate
KVM: PPC: Book3S HV: Ignore kmemleak false positives
* scsi: ufs-qcom: Fix scheduling while atomic issue
drivers/scsi/ufs/ufs-qcom.c
clk: bcm2835: Fix return type of bcm2835_register_gate
scsi: target: tcmu: Fix a use after free in tcmu_check_expired_queue_cmd()
ASoC: fix incomplete error-handling in img_i2s_in_probe.
x86/apic: Make TSC deadline timer detection message visible
RDMA/iw_cxgb4: cleanup device debugfs entries on ULD remove
* usb: gadget: Fix issue with config_ep_by_speed function
drivers/usb/gadget/composite.c
include/linux/usb/composite.h
usb: gadget: fix potential double-free in m66592_probe.
usb: gadget: lpc32xx_udc: don't dereference ep pointer before null check
USB: gadget: udc: s3c2410_udc: Remove pointless NULL check in s3c2410_udc_nuke
usb: dwc2: gadget: move gadget resume after the core is in L0 state
watchdog: da9062: No need to ping manually before setting timeout
IB/cma: Fix ports memory leak in cma_configfs
PCI: dwc: Fix inner MSI IRQ domain registration
PCI/PTM: Inherit Switch Downstream Port PTM settings from Upstream Port
dm zoned: return NULL if dmz_get_zone_for_reclaim() fails to find a zone
powerpc/64s/pgtable: fix an undefined behaviour
arm64: tegra: Fix ethernet phy-mode for Jetson Xavier
scsi: target: tcmu: Userspace must not complete queued commands
clk: samsung: exynos5433: Add IGNORE_UNUSED flag to sclk_i2s1
fpga: dfl: afu: Corrected error handling levels
tty: n_gsm: Fix bogus i++ in gsm_data_kick
USB: host: ehci-mxc: Add error handling in ehci_mxc_drv_probe()
ASoC: Intel: bytcr_rt5640: Add quirk for Toshiba Encore WT8-A tablet
drm/msm/mdp5: Fix mdp5_init error path for failed mdp5_kms allocation
* usb/ohci-platform: Fix a warning when hibernating
drivers/usb/host/ohci-platform.c
vfio-pci: Mask cap zero
powerpc/ps3: Fix kexec shutdown hang
powerpc/pseries/ras: Fix FWNMI_VALID off by one
ipmi: use vzalloc instead of kmalloc for user creation
* HID: Add quirks for Trust Panora Graphic Tablet
drivers/hid/hid-ids.h
drivers/hid/hid-quirks.c
tty: n_gsm: Fix waking up upper tty layer when room available
tty: n_gsm: Fix SOF skipping
powerpc/64: Don't initialise init_task->thread.regs
* PCI: Fix pci_register_host_bridge() device_register() error handling
drivers/pci/probe.c
clk: ti: composite: fix memory leak
dlm: remove BUG() before panic()
pinctrl: rockchip: fix memleak in rockchip_dt_node_to_map
scsi: mpt3sas: Fix double free warnings
power: supply: smb347-charger: IRQSTAT_D is volatile
power: supply: lp8788: Fix an error handling path in 'lp8788_charger_probe()'
scsi: qla2xxx: Fix warning after FC target reset
PCI/ASPM: Allow ASPM on links to PCIe-to-PCI/PCI-X Bridges
PCI: rcar: Fix incorrect programming of OB windows
* drivers: base: Fix NULL pointer exception in __platform_driver_probe() if a driver developer is foolish
drivers/base/platform.c
serial: amba-pl011: Make sure we initialize the port.lock spinlock
i2c: pxa: fix i2c_pxa_scream_blue_murder() debug output
PCI: v3-semi: Fix a memory leak in v3_pci_probe() error handling paths
staging: sm750fb: add missing case while setting FB_VISUAL
* usb: dwc3: gadget: Properly handle failed kick_transfer
drivers/usb/dwc3/gadget.c
thermal/drivers/ti-soc-thermal: Avoid dereferencing ERR_PTR
slimbus: ngd: get drvdata from correct device
tty: hvc: Fix data abort due to race in hvc_open
s390/qdio: put thinint indicator after early error
* ALSA: usb-audio: Fix racy list management in output queue
sound/usb/endpoint.c
* ALSA: usb-audio: Improve frames size computation
sound/usb/card.h
sound/usb/endpoint.c
sound/usb/endpoint.h
sound/usb/pcm.c
staging: gasket: Fix mapping refcnt leak when register/store fails
staging: gasket: Fix mapping refcnt leak when put attribute fails
* firmware: qcom_scm: fix bogous abuse of dma-direct internals
drivers/firmware/qcom_scm.c
pinctrl: rza1: Fix wrong array assignment of rza1l_swio_entries
scsi: qedf: Fix crash when MFW calls for protocol stats while function is still probing
gpio: dwapb: Append MODULE_ALIAS for platform driver
ARM: dts: sun8i-h2-plus-bananapi-m2-zero: Fix led polarity
scsi: qedi: Do not flush offload work if ARP not resolved
arm64: dts: mt8173: fix unit name warnings
staging: greybus: fix a missing-check bug in gb_lights_light_config()
x86/purgatory: Disable various profiling and sanitizing options
apparmor: fix nnp subset test for unconfined
scsi: ibmvscsi: Don't send host info in adapter info MAD after LPM
scsi: sr: Fix sr_probe() missing deallocate of device minor
ASoC: meson: add missing free_irq() in error path
apparmor: check/put label on apparmor_sk_clone_security()
apparmor: fix introspection of of task mode for unconfined tasks
* mksysmap: Fix the mismatch of '.L' symbols in System.map
scripts/mksysmap
NTB: Fix the default port and peer numbers for legacy drivers
NTB: ntb_pingpong: Choose doorbells based on port number
yam: fix possible memory leak in yam_init_driver
pwm: img: Call pm_runtime_put() in pm_runtime_get_sync() failed case
powerpc/crashkernel: Take "mem=" option into account
PCI: vmd: Filter resource type bits from shadow register
nfsd: Fix svc_xprt refcnt leak when setup callback client failed
powerpc/perf/hv-24x7: Fix inconsistent output values incase multiple hv-24x7 events run
clk: clk-flexgen: fix clock-critical handling
scsi: lpfc: Fix lpfc_nodelist leak when processing unsolicited event
mfd: wm8994: Fix driver operation if loaded as modules
gpio: dwapb: Call acpi_gpiochip_free_interrupts() on GPIO chip de-registration
m68k/PCI: Fix a memory leak in an error handling path
RDMA/mlx5: Add init2init as a modify command
vfio/pci: fix memory leaks in alloc_perm_bits()
ps3disk: use the default segment boundary
PCI: aardvark: Don't blindly enable ASPM L0s and don't write to read-only register
dm mpath: switch paths in dm_blk_ioctl() code path
serial: 8250: Fix max baud limit in generic 8250 port
usblp: poison URBs upon disconnect
clk: samsung: Mark top ISP and CAM clocks on Exynos542x as critical
i2c: pxa: clear all master action bits in i2c_pxa_stop_message()
* f2fs: report delalloc reserve as non-free in statfs for project quota
fs/f2fs/super.c
iio: bmp280: fix compensation of humidity
scsi: qla2xxx: Fix issue with adapter's stopping state
* PCI: Allow pci_resize_resource() for devices on root bus
drivers/pci/setup-res.c
ALSA: isa/wavefront: prevent out of bounds write in ioctl
ALSA: hda/realtek - Introduce polarity for micmute LED GPIO
scsi: qedi: Check for buffer overflow in qedi_set_path()
ARM: integrator: Add some Kconfig selections
ASoC: davinci-mcasp: Fix dma_chan refcnt leak when getting dma type
backlight: lp855x: Ensure regulators are disabled on probe failure
clk: qcom: msm8916: Fix the address location of pll->config_reg
remoteproc: Fix IDR initialisation in rproc_alloc()
iio: pressure: bmp280: Tolerate IRQ before registering
i2c: piix4: Detect secondary SMBus controller on AMD AM4 chipsets
ASoC: tegra: tegra_wm8903: Support nvidia, headset property
clk: sunxi: Fix incorrect usage of round_down()
* power: supply: bq24257_charger: Replace depends on REGMAP_I2C with select
drivers/power/supply/Kconfig
* ANDROID: ext4: Optimize match for casefolded encrypted dirs
fs/ext4/ext4.h
fs/ext4/namei.c
* ANDROID: ext4: Handle casefolding with encryption
fs/ext4/dir.c
fs/ext4/ext4.h
fs/ext4/hash.c
fs/ext4/ialloc.c
fs/ext4/inline.c
fs/ext4/namei.c
fs/ext4/super.c
Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-4.19.y' into android-4.19-stable
* ANDROID: extcon: Remove redundant EXPORT_SYMBOL_GPL
include/linux/extcon.h
ANDROID: update the ABI xml representation
* ANDROID: GKI: cfg80211: add ABI changes for CONFIG_NL80211_TESTMODE
include/net/cfg80211.h
include/net/mac80211.h
ANDROID: gki_defconfig: x86: Enable KERNEL_LZ4
* ANDROID: GKI: scripts: Makefile: update the lz4 command
scripts/Makefile.lib
* FROMLIST: f2fs: fix use-after-free when accessing bio->bi_crypt_context
fs/f2fs/data.c
Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-4.19.y' into android-4.19-stable
* UPSTREAM: fdt: Update CRC check for rng-seed
drivers/of/fdt.c
ANDROID: GKI: Update ABI for incremental fs
ANDROID: GKI: Update whitelist and defconfig for incfs
ANDROID: Use depmod from the hermetic toolchain
Merge 4.19.129 into android-4.19-stable
Linux 4.19.129
perf symbols: Fix debuginfo search for Ubuntu
perf probe: Check address correctness by map instead of _etext
perf probe: Fix to check blacklist address correctly
perf probe: Do not show the skipped events
w1: omap-hdq: cleanup to add missing newline for some dev_dbg
mtd: rawnand: pasemi: Fix the probe error path
mtd: rawnand: brcmnand: fix hamming oob layout
* sunrpc: clean up properly in gss_mech_unregister()
include/linux/sunrpc/gss_api.h
include/linux/sunrpc/svcauth_gss.h
sunrpc: svcauth_gss_register_pseudoflavor must reject duplicate registrations.
* kbuild: force to build vmlinux if CONFIG_MODVERSION=y
Makefile
powerpc/64s: Save FSCR to init_task.thread.fscr after feature init
powerpc/64s: Don't let DT CPU features set FSCR_DSCR
drivers/macintosh: Fix memleak in windfarm_pm112 driver
ARM: dts: s5pv210: Set keep-power-in-suspend for SDHCI1 on Aries
ARM: dts: at91: sama5d2_ptc_ek: fix vbus pin
ARM: dts: exynos: Fix GPIO polarity for thr GalaxyS3 CM36651 sensor's bus
ARM: tegra: Correct PL310 Auxiliary Control Register initialization
* kernel/cpu_pm: Fix uninitted local in cpu_pm
kernel/cpu_pm.c
alpha: fix memory barriers so that they conform to the specification
dm crypt: avoid truncating the logical block size
sparc64: fix misuses of access_process_vm() in genregs32_[sg]et()
sparc32: fix register window handling in genregs32_[gs]et()
gnss: sirf: fix error return code in sirf_probe()
pinctrl: samsung: Save/restore eint_mask over suspend for EINT_TYPE GPIOs
pinctrl: samsung: Correct setting of eint wakeup mask on s5pv210
power: vexpress: add suppress_bind_attrs to true
igb: Report speed and duplex as unknown when device is runtime suspended
media: ov5640: fix use of destroyed mutex
b43_legacy: Fix connection problem with WPA3
b43: Fix connection problem with WPA3
b43legacy: Fix case where channel status is corrupted
Bluetooth: hci_bcm: fix freeing not-requested IRQ
media: go7007: fix a miss of snd_card_free
carl9170: remove P2P_GO support
e1000e: Relax condition to trigger reset for ME workaround
e1000e: Disable TSO for buffer overrun workaround
* PCI: Program MPS for RCiEP devices
drivers/pci/probe.c
ima: Call ima_calc_boot_aggregate() in ima_eventdigest_init()
btrfs: fix wrong file range cleanup after an error filling dealloc range
btrfs: fix error handling when submitting direct I/O bio
* PCI: Generalize multi-function power dependency device links
drivers/pci/quirks.c
* PCI: Unify ACS quirk desired vs provided checking
drivers/pci/quirks.c
* PCI: Make ACS quirk implementations more uniform
drivers/pci/quirks.c
* serial: 8250_pci: Move Pericom IDs to pci_ids.h
include/linux/pci_ids.h
* PCI: Add Loongson vendor ID
include/linux/pci_ids.h
* x86/amd_nb: Add Family 19h PCI IDs
include/linux/pci_ids.h
* PCI: vmd: Add device id for VMD device 8086:9A0B
include/linux/pci_ids.h
* PCI: Add Amazon's Annapurna Labs vendor ID
include/linux/pci_ids.h
* PCI: Add Genesys Logic, Inc. Vendor ID
include/linux/pci_ids.h
* ALSA: lx6464es - add support for LX6464ESe pci express variant
include/linux/pci_ids.h
* x86/amd_nb: Add PCI device IDs for family 17h, model 70h
include/linux/pci_ids.h
* PCI: mediatek: Add controller support for MT7629
include/linux/pci_ids.h
* PCI: Enable NVIDIA HDA controllers
drivers/pci/quirks.c
include/linux/pci_ids.h
* PCI: Add NVIDIA GPU multi-function power dependencies
drivers/pci/quirks.c
* PCI: Add Synopsys endpoint EDDA Device ID
include/linux/pci_ids.h
misc: pci_endpoint_test: Add support to test PCI EP in AM654x
misc: pci_endpoint_test: Add the layerscape EP device support
* PCI: Move Rohm Vendor ID to generic list
include/linux/pci_ids.h
* PCI: Move Synopsys HAPS platform device IDs
drivers/usb/dwc3/dwc3-haps.c
include/linux/pci_ids.h
* PCI: add USR vendor id and use it in r8169 and w6692 driver
include/linux/pci_ids.h
* x86/amd_nb: Add PCI device IDs for family 17h, model 30h
include/linux/pci_ids.h
* hwmon/k10temp, x86/amd_nb: Consolidate shared device IDs
include/linux/pci_ids.h
* pci:ipmi: Move IPMI PCI class id defines to pci_ids.h
include/linux/pci_ids.h
* PCI: Remove unused NFP32xx IDs
include/linux/pci_ids.h
* PCI: Add ACS quirk for Intel Root Complex Integrated Endpoints
drivers/pci/quirks.c
* PCI: Add ACS quirk for iProc PAXB
drivers/pci/quirks.c
* PCI: Avoid FLR for AMD Starship USB 3.0
drivers/pci/quirks.c
* PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0
drivers/pci/quirks.c
* PCI: Avoid Pericom USB controller OHCI/EHCI PME# defect
drivers/pci/quirks.c
* ext4: fix race between ext4_sync_parent() and rename()
fs/ext4/fsync.c
* ext4: fix error pointer dereference
fs/ext4/xattr.c
* ext4: fix EXT_MAX_EXTENT/INDEX to check for zeroed eh_max
fs/ext4/ext4_extents.h
evm: Fix possible memory leak in evm_calc_hmac_or_hash()
ima: Directly assign the ima_default_policy pointer to ima_rules
ima: Fix ima digest hash table key calculation
* mm: initialize deferred pages with interrupts enabled
include/linux/mmzone.h
mm/page_alloc.c
mm: thp: make the THP mapcount atomic against __split_huge_pmd_locked()
btrfs: send: emit file capabilities after chown
btrfs: include non-missing as a qualifier for the latest_bdev
* string.h: fix incompatibility between FORTIFY_SOURCE and KASAN
include/linux/string.h
platform/x86: intel-vbtn: Only blacklist SW_TABLET_MODE on the 9 / "Laptop" chasis-type
platform/x86: intel-hid: Add a quirk to support HP Spectre X2 (2015)
platform/x86: hp-wmi: Convert simple_strtoul() to kstrtou32()
* cpuidle: Fix three reference count leaks
drivers/cpuidle/sysfs.c
spi: dw: Return any value retrieved from the dma_transfer callback
mmc: sdhci-esdhc-imx: fix the mask for tuning start point
ixgbe: fix signed-integer-overflow warning
mmc: via-sdmmc: Respect the cmd->busy_timeout from the mmc core
staging: greybus: sdio: Respect the cmd->busy_timeout from the mmc core
mmc: sdhci-msm: Set SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 quirk
bcache: fix refcount underflow in bcache_device_free()
MIPS: Fix IRQ tracing when call handle_fpe() and handle_msa_fpe()
* PCI: Don't disable decoding when mmio_always_on is set
drivers/pci/probe.c
macvlan: Skip loopback packets in RX handler
btrfs: qgroup: mark qgroup inconsistent if we're inherting snapshot to a new qgroup
m68k: mac: Don't call via_flush_cache() on Mac IIfx
x86/mm: Stop printing BRK addresses
crypto: stm32/crc32 - fix multi-instance
crypto: stm32/crc32 - fix run-time self test issue.
crypto: stm32/crc32 - fix ext4 chksum BUG_ON()
mips: Add udelay lpj numbers adjustment
mips: MAAR: Use more precise address mask
x86/boot: Correct relocation destination on old linkers
mwifiex: Fix memory corruption in dump_station
rtlwifi: Fix a double free in _rtl_usb_tx_urb_setup()
net/mlx5e: IPoIB, Drop multicast packets that this interface sent
* veth: Adjust hard_start offset on redirect XDP frames
drivers/net/veth.c
md: don't flush workqueue unconditionally in md_open
mt76: avoid rx reorder buffer overflow
net: qed*: Reduce RX and TX default ring count when running inside kdump kernel
wcn36xx: Fix error handling path in 'wcn36xx_probe()'
ath10k: Remove msdu from idr when management pkt send fails
nvme: refine the Qemu Identify CNS quirk
platform/x86: intel-vbtn: Also handle tablet-mode switch on "Detachable" and "Portable" chassis-types
platform/x86: intel-vbtn: Do not advertise switches to userspace if they are not there
platform/x86: intel-vbtn: Split keymap into buttons and switches parts
platform/x86: intel-vbtn: Use acpi_evaluate_integer()
xfs: fix duplicate verification from xfs_qm_dqflush()
xfs: reset buffer write failure state on successful completion
* kgdb: Fix spurious true from in_dbg_master()
include/linux/kgdb.h
mips: cm: Fix an invalid error code of INTVN_*_ERR
MIPS: Truncate link address into 32bit for 32bit kernel
Crypto/chcr: fix for ccm(aes) failed test
xfs: clean up the error handling in xfs_swap_extents
powerpc/spufs: fix copy_to_user while atomic
net: allwinner: Fix use correct return type for ndo_start_xmit()
media: cec: silence shift wrapping warning in __cec_s_log_addrs()
net: lpc-enet: fix error return code in lpc_mii_init()
drivers/perf: hisi: Fix typo in events attribute array
* sched/core: Fix illegal RCU from offline CPUs
include/linux/sched/mm.h
kernel/cpu.c
kernel/sched/core.c
* exit: Move preemption fixup up, move blocking operations down
kernel/exit.c
* lib/mpi: Fix 64-bit MIPS build with Clang
lib/mpi/longlong.h
net: bcmgenet: set Rx mode before starting netif
selftests/bpf: Fix memory leak in extract_build_id()
netfilter: nft_nat: return EOPNOTSUPP if type or flags are not supported
* audit: fix a net reference leak in audit_list_rules_send()
kernel/audit.c
kernel/audit.h
kernel/auditfilter.c
Bluetooth: btbcm: Add 2 missing models to subver tables
MIPS: Make sparse_init() using top-down allocation
media: platform: fcp: Set appropriate DMA parameters
media: dvb: return -EREMOTEIO on i2c transfer failure.
* audit: fix a net reference leak in audit_send_reply()
kernel/audit.c
dt-bindings: display: mediatek: control dpi pins mode to avoid leakage
e1000: Distribute switch variables for initialization
tools api fs: Make xxx__mountpoint() more scalable
brcmfmac: fix wrong location to get firmware feature
* staging: android: ion: use vmap instead of vm_map_ram
drivers/staging/android/ion/ion_heap.c
net: vmxnet3: fix possible buffer overflow caused by bad DMA value in vmxnet3_get_rss()
* x86/kvm/hyper-v: Explicitly align hcall param for kvm_hyperv_exit
include/uapi/linux/kvm.h
spi: dw: Fix Rx-only DMA transfers
mmc: meson-mx-sdio: trigger a soft reset after a timeout or CRC error
batman-adv: Revert "disable ethtool link speed detection when auto negotiation off"
ARM: 8978/1: mm: make act_mm() respect THREAD_SIZE
btrfs: do not ignore error from btrfs_next_leaf() when inserting checksums
clocksource: dw_apb_timer_of: Fix missing clockevent timers
clocksource: dw_apb_timer: Make CPU-affiliation being optional
spi: dw: Enable interrupts in accordance with DMA xfer mode
kgdb: Prevent infinite recursive entries to the debugger
kgdb: Disable WARN_CONSOLE_UNLOCKED for all kgdb
* Bluetooth: Add SCO fallback for invalid LMP parameters error
net/bluetooth/hci_event.c
MIPS: Loongson: Build ATI Radeon GPU driver as module
ixgbe: Fix XDP redirect on archs with PAGE_SIZE above 4K
* arm64: insn: Fix two bugs in encoding 32-bit logical immediates
arch/arm64/kernel/insn.c
spi: dw: Zero DMA Tx and Rx configurations on stack
* arm64: cacheflush: Fix KGDB trap detection
arch/arm64/include/asm/cacheflush.h
efi/libstub/x86: Work around LLVM ELF quirk build regression
net: ena: fix error returning in ena_com_get_hash_function()
net: atlantic: make hw_get_regs optional
spi: pxa2xx: Apply CS clk quirk to BXT
objtool: Ignore empty alternatives
media: si2157: Better check for running tuner in init
* crypto: ccp -- don't "select" CONFIG_DMADEVICES
drivers/crypto/ccp/Kconfig
drm: bridge: adv7511: Extend list of audio sample rates
ACPI: GED: use correct trigger type field in _Exx / _Lxx handling
* KVM: arm64: Synchronize sysreg state on injecting an AArch32 exception
arch/arm64/include/asm/kvm_host.h
xen/pvcalls-back: test for errors when calling backend_connect()
mmc: sdio: Fix potential NULL pointer error in mmc_sdio_init_card()
ARM: dts: at91: sama5d2_ptc_ek: fix sdmmc0 node description
mmc: sdhci-msm: Clear tuning done flag while hs400 tuning
agp/intel: Reinforce the barrier after GTT updates
* perf: Add cond_resched() to task_function_call()
kernel/events/core.c
* fat: don't allow to mount if the FAT length == 0
fs/fat/inode.c
* mm/slub: fix a memory leak in sysfs_slab_add()
mm/slub.c
drm/vkms: Hold gem object while still in-use
* Smack: slab-out-of-bounds in vsscanf
security/smack/smackfs.c
ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb
ath9x: Fix stack-out-of-bounds Write in ath9k_hif_usb_rx_cb
ath9k: Fix use-after-free Write in ath9k_htc_rx_msg
ath9k: Fix use-after-free Read in ath9k_wmi_ctrl_rx
scsi: megaraid_sas: TM command refire leads to controller firmware crash
* KVM: arm64: Make vcpu_cp1x() work on Big Endian hosts
arch/arm64/include/asm/kvm_host.h
KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits
KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data)
KVM: nVMX: Consult only the "basic" exit reason when routing nested exit
KVM: nSVM: leave ASID aside in copy_vmcb_control_area
KVM: nSVM: fix condition for filtering async PF
video: fbdev: w100fb: Fix a potential double free.
* proc: Use new_inode not new_inode_pseudo
fs/proc/inode.c
fs/proc/self.c
fs/proc/thread_self.c
* ovl: initialize error in ovl_copy_xattr
fs/overlayfs/copy_up.c
selftests/net: in rxtimestamp getopt_long needs terminating null entry
crypto: virtio: Fix dest length calculation in __virtio_crypto_skcipher_do_req()
crypto: virtio: Fix src/dst scatterlist calculation in __virtio_crypto_skcipher_do_req()
crypto: virtio: Fix use-after-free in virtio_crypto_skcipher_finalize_req()
spi: pxa2xx: Fix runtime PM ref imbalance on probe error
spi: pxa2xx: Balance runtime PM enable/disable on error
spi: bcm2835: Fix controller unregister order
spi: pxa2xx: Fix controller unregister order
* spi: Fix controller unregister order
drivers/spi/spi.c
* spi: No need to assign dummy value in spi_unregister_controller()
drivers/spi/spi.c
x86/speculation: PR_SPEC_FORCE_DISABLE enforcement for indirect branches.
x86/speculation: Avoid force-disabling IBPB based on STIBP and enhanced IBRS.
x86/speculation: Add support for STIBP always-on preferred mode
x86/speculation: Change misspelled STIPB to STIBP
KVM: x86: only do L1TF workaround on affected processors
KVM: x86/mmu: Consolidate "is MMIO SPTE" code
kvm: x86: Fix L1TF mitigation for shadow MMU
* KVM: x86: Fix APIC page invalidation race
include/linux/kvm_host.h
* x86/{mce,mm}: Unmap the entire page if the whole page is affected and poisoned
include/linux/set_memory.h
* ALSA: pcm: disallow linking stream to itself
sound/core/pcm_native.c
crypto: cavium/nitrox - Fix 'nitrox_get_first_device()' when ndevlist is fully iterated
* PM: runtime: clk: Fix clk_pm_runtime_get() error path
drivers/clk/clk.c
spi: bcm-qspi: when tx/rx buffer is NULL set to 0
spi: bcm2835aux: Fix controller unregister order
spi: dw: Fix controller unregister order
nilfs2: fix null pointer dereference at nilfs_segctor_do_construct()
* cgroup, blkcg: Prepare some symbols for module and !CONFIG_CGROUP usages
fs/fs-writeback.c
ACPI: PM: Avoid using power resources if there are none for D0
ACPI: GED: add support for _Exx / _Lxx handler methods
ACPI: CPPC: Fix reference count leak in acpi_cppc_processor_probe()
ACPI: sysfs: Fix reference count leak in acpi_sysfs_add_hotplug_profile()
* ALSA: usb-audio: Add vendor, product and profile name for HP Thunderbolt Dock
sound/usb/quirks-table.h
* ALSA: usb-audio: Fix inconsistent card PM state after resume
sound/usb/card.c
sound/usb/usbaudio.h
ALSA: hda/realtek - add a pintbl quirk for several Lenovo machines
ALSA: es1688: Add the missed snd_card_free()
efi/efivars: Add missing kobject_put() in sysfs entry creation error path
x86/reboot/quirks: Add MacBook6,1 reboot quirk
x86/speculation: Prevent rogue cross-process SSBD shutdown
x86/PCI: Mark Intel C620 MROMs as having non-compliant BARs
x86_64: Fix jiffies ODR violation
btrfs: tree-checker: Check level for leaves and nodes
* aio: fix async fsync creds
fs/aio.c
* mm: add kvfree_sensitive() for freeing sensitive data objects
include/linux/mm.h
mm/util.c
security/keys/internal.h
security/keys/keyctl.c
perf probe: Accept the instance number of kretprobe event
x86/cpu/amd: Make erratum #1054 a legacy erratum
RDMA/uverbs: Make the event_queue fds return POLLERR when disassociated
ath9k_htc: Silence undersized packet warnings
powerpc/xive: Clear the page tables for the ESB IO mapping
drivers/net/ibmvnic: Update VNIC protocol version reporting
Input: synaptics - add a second working PNP_ID for Lenovo T470s
* sched/fair: Don't NUMA balance for kthreads
kernel/sched/fair.c
ARM: 8977/1: ptrace: Fix mask for thumb breakpoint hook
Input: mms114 - fix handling of mms345l
crypto: talitos - fix ECB and CBC algs ivsize
btrfs: Detect unbalanced tree with empty leaf before crashing btree operations
btrfs: merge btrfs_find_device and find_device
* lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user()
lib/strncpy_from_user.c
lib/strnlen_user.c
x86: uaccess: Inhibit speculation past access_ok() in user_access_begin()
arch/openrisc: Fix issues with access_ok()
Fix 'acccess_ok()' on alpha and SH
* make 'user_access_begin()' do 'access_ok()'
include/linux/uaccess.h
kernel/compat.c
kernel/exit.c
lib/strncpy_from_user.c
lib/strnlen_user.c
selftests: bpf: fix use of undeclared RET_IF macro
* tun: correct header offsets in napi frags mode
drivers/net/tun.c
vxlan: Avoid infinite loop when suppressing NS messages with invalid options
* bridge: Avoid infinite loop when suppressing NS messages with invalid options
net/bridge/br_arp_nd_proxy.c
net_failover: fixed rollback in net_failover_open()
* ipv6: fix IPV6_ADDRFORM operation logic
net/ipv6/ipv6_sockglue.c
* writeback: Drop I_DIRTY_TIME_EXPIRE
fs/ext4/inode.c
fs/fs-writeback.c
include/linux/fs.h
include/trace/events/writeback.h
* writeback: Fix sync livelock due to b_dirty_time processing
fs/fs-writeback.c
include/trace/events/writeback.h
* writeback: Avoid skipping inode writeback
fs/fs-writeback.c
include/linux/fs.h
* writeback: Protect inode->i_io_list with inode->i_lock
fs/fs-writeback.c
* Revert "writeback: Avoid skipping inode writeback"
fs/fs-writeback.c
include/linux/fs.h
ANDROID: gki_defconfig: increase vbus_draw to 500mA
* fscrypt: remove stale definition
include/linux/fscrypt.h
* fs-verity: remove unnecessary extern keywords
fs/verity/fsverity_private.h
include/linux/fsverity.h
* fs-verity: fix all kerneldoc warnings
fs/verity/enable.c
fs/verity/fsverity_private.h
fs/verity/measure.c
fs/verity/open.c
fs/verity/signature.c
fs/verity/verify.c
include/linux/fsverity.h
* fscrypt: add support for IV_INO_LBLK_32 policies
fs/crypto/crypto.c
fs/crypto/fscrypt_private.h
fs/crypto/keyring.c
fs/crypto/keysetup.c
fs/crypto/policy.c
include/uapi/linux/fscrypt.h
* fscrypt: make test_dummy_encryption use v2 by default
fs/crypto/policy.c
* fscrypt: support test_dummy_encryption=v2
fs/crypto/keysetup.c
fs/crypto/policy.c
fs/ext4/ext4.h
fs/ext4/super.c
fs/ext4/sysfs.c
fs/f2fs/f2fs.h
fs/f2fs/super.c
fs/f2fs/sysfs.c
include/linux/fscrypt.h
* fscrypt: add fscrypt_add_test_dummy_key()
fs/crypto/fscrypt_private.h
fs/crypto/keyring.c
* linux/parser.h: add include guards
include/linux/parser.h
* fscrypt: remove unnecessary extern keywords
fs/crypto/fscrypt_private.h
include/linux/fscrypt.h
* fscrypt: name all function parameters
include/linux/fscrypt.h
* fscrypt: fix all kerneldoc warnings
fs/crypto/crypto.c
fs/crypto/fname.c
fs/crypto/fscrypt_private.h
fs/crypto/hooks.c
fs/crypto/keysetup.c
fs/crypto/policy.c
include/linux/fscrypt.h
ANDROID: Update the ABI
* ANDROID: GKI: power: power-supply: Add POWER_SUPPLY_PROP_CHARGER_STATUS property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: add dev to usb_gsi_request
include/linux/usb/gadget.h
* ANDROID: GKI: dma-buf: add dent_count to dma_buf
include/linux/dma-buf.h
Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-4.19.y' into android-4.19-stable
ANDROID: Update the ABI xml and whitelist
ANDROID: GKI: update whitelist
* ANDROID: extcon: Export symbol of `extcon_get_edev_name`
drivers/extcon/extcon.c
include/linux/extcon.h
* ANDROID: kbuild: merge more sections with LTO
scripts/module-lto.lds.S
* UPSTREAM: timekeeping/vsyscall: Update VDSO data unconditionally
arch/arm64/include/asm/vdso/vsyscall.h
include/asm-generic/vdso/vsyscall.h
kernel/time/vsyscall.c
* ANDROID: GKI: Revert "genetlink: disallow subscribing to unknown mcast groups"
net/netlink/genetlink.c
* BACKPORT: usb: musb: Add support for MediaTek musb controller
drivers/usb/musb/Kconfig
UPSTREAM: usb: musb: Add musb_clearb/w() interface
UPSTREAM: usb: musb: Add noirq type of dma create interface
UPSTREAM: usb: musb: Add get/set toggle hooks
UPSTREAM: dt-bindings: usb: musb: Add support for MediaTek musb controller
Merge 4.19.128 into android-4.19-stable
* FROMGIT: driver core: Remove unnecessary is_fwnode_dev variable in device_add()
drivers/base/core.c
* FROMGIT: driver core: Remove check in driver_deferred_probe_force_trigger()
drivers/base/dd.c
* FROMGIT: of: platform: Batch fwnode parsing when adding all top level devices
drivers/of/platform.c
* FROMGIT: BACKPORT: driver core: fw_devlink: Add support for batching fwnode parsing
drivers/base/base.h
drivers/base/core.c
drivers/base/dd.c
include/linux/fwnode.h
* BACKPORT: driver core: Look for waiting consumers only for a fwnode's primary device
drivers/base/core.c
* BACKPORT: driver core: Add device links from fwnode only for the primary device
drivers/base/core.c
Linux 4.19.128
Revert "net/mlx5: Annotate mutex destroy for root ns"
* uprobes: ensure that uprobe->offset and ->ref_ctr_offset are properly aligned
kernel/events/uprobes.c
x86/speculation: Add Ivy Bridge to affected list
x86/speculation: Add SRBDS vulnerability and mitigation documentation
* x86/speculation: Add Special Register Buffer Data Sampling (SRBDS) mitigation
drivers/base/cpu.c
x86/cpu: Add 'table' argument to cpu_matches()
* x86/cpu: Add a steppings field to struct x86_cpu_id
include/linux/mod_devicetable.h
* nvmem: qfprom: remove incorrect write support
drivers/nvmem/qfprom.c
CDC-ACM: heed quirk also in error handling
staging: rtl8712: Fix IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK
tty: hvc_console, fix crashes on parallel open/close
vt: keyboard: avoid signed integer overflow in k_ascii
usb: musb: Fix runtime PM imbalance on error
usb: musb: start session in resume for host port
iio: vcnl4000: Fix i2c swapped word reading.
USB: serial: option: add Telit LE910C1-EUX compositions
USB: serial: usb_wwan: do not resubmit rx urb on fatal errors
USB: serial: qcserial: add DW5816e QDL support
* net: check untrusted gso_size at kernel entry
include/linux/virtio_net.h
vsock: fix timeout in vsock_accept()
NFC: st21nfca: add missed kfree_skb() in an error path
net: usb: qmi_wwan: add Telit LE910C1-EUX composition
* l2tp: do not use inet_hash()/inet_unhash()
net/l2tp/l2tp_ip.c
net/l2tp/l2tp_ip6.c
* l2tp: add sk_family checks to l2tp_validate_socket
net/l2tp/l2tp_core.c
* devinet: fix memleak in inetdev_init()
net/ipv4/devinet.c
* Revert "ANDROID: Remove default y on BRIDGE_IGMP_SNOOPING"
net/bridge/Kconfig
ANDROID: Update the ABI xml and whitelist
ANDROID: GKI: update whitelist
* ANDROID: arch: arm64: vdso: export the symbols for time()
arch/arm64/include/asm/vdso/compat_gettimeofday.h
arch/arm64/include/asm/vdso/gettimeofday.h
arch/arm64/kernel/vdso/vdso.lds.S
arch/arm64/kernel/vdso/vgettimeofday.c
arch/arm64/kernel/vdso32/vdso.lds.S
arch/arm64/kernel/vdso32/vgettimeofday.c
* ANDROID: Incremental fs: Remove dependency on PKCS7_MESSAGE_PARSER
fs/incfs/Kconfig
fs/incfs/integrity.c
ANDROID: dm-bow: Add block_size option
* f2fs: attach IO flags to the missing cases
fs/f2fs/data.c
* f2fs: add node_io_flag for bio flags likewise data_io_flag
fs/f2fs/data.c
fs/f2fs/f2fs.h
fs/f2fs/sysfs.c
f2fs: remove unused parameter of f2fs_put_rpages_mapping()
* f2fs: handle readonly filesystem in f2fs_ioc_shutdown()
fs/f2fs/file.c
* f2fs: avoid utf8_strncasecmp() with unstable name
fs/f2fs/dir.c
* f2fs: don't return vmalloc() memory from f2fs_kmalloc()
fs/f2fs/checkpoint.c
fs/f2fs/f2fs.h
fs/f2fs/node.c
fs/f2fs/super.c
ANDROID: GKI: set CONFIG_BLK_DEV_LOOP_MIN_COUNT to 16
* ANDROID: Incremental fs: Cache successful hash calculations
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/vfs.c
* ANDROID: Incremental fs: Fix four error-path bugs
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
Merge 4.19.127 into android-4.19-stable
Linux 4.19.127
net: smsc911x: Fix runtime PM imbalance on error
net: ethernet: stmmac: Enable interface clocks on probe for IPQ806x
net/ethernet/freescale: rework quiesce/activate for ucc_geth
null_blk: return error for invalid zone size
s390/mm: fix set_huge_pte_at() for empty ptes
* drm/edid: Add Oculus Rift S to non-desktop list
drivers/gpu/drm/drm_edid.c
net: bmac: Fix read of MAC address from ROM
x86/mmiotrace: Use cpumask_available() for cpumask_var_t variables
i2c: altera: Fix race between xfer_msg and isr thread
evm: Fix RCU list related warnings
ARC: [plat-eznps]: Restrict to CONFIG_ISA_ARCOMPACT
ARC: Fix ICCM & DCCM runtime size checks
s390/ftrace: save traced function caller
spi: dw: use "smp_mb()" to avoid sending spi data error
powerpc/powernv: Avoid re-registration of imc debugfs directory
scsi: hisi_sas: Check sas_port before using it
drm/i915: fix port checks for MST support on gen >= 11
airo: Fix read overflows sending packets
net: dsa: mt7530: set CPU port to fallback mode
* scsi: ufs: Release clock if DMA map fails
drivers/scsi/ufs/ufshcd.c
* mmc: fix compilation of user API
include/uapi/linux/mmc/ioctl.h
kernel/relay.c: handle alloc_percpu returning NULL in relay_open
p54usb: add AirVasT USB stick device-id
HID: i2c-hid: add Schneider SCL142ALM to descriptor override
* HID: sony: Fix for broken buttons on DS3 USB dongles
drivers/hid/hid-sony.c
* mm: Fix mremap not considering huge pmd devmap
mm/mremap.c
libnvdimm: Fix endian conversion issues
* Revert "cgroup: Add memory barriers to plug cgroup_rstat_updated() race window"
kernel/cgroup/rstat.c
* f2fs: fix retry logic in f2fs_write_cache_pages()
fs/f2fs/data.c
ANDROID: Update ABI representation
Merge 4.19.126 into android-4.19-stable
Linux 4.19.126
* mm/vmalloc.c: don't dereference possible NULL pointer in __vunmap()
mm/vmalloc.c
* netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build
include/linux/netfilter/nf_conntrack_pptp.h
net/netfilter/nf_conntrack_pptp.c
* bonding: Fix reference count leak in bond_sysfs_slave_add.
drivers/net/bonding/bond_sysfs_slave.c
crypto: chelsio/chtls: properly set tp->lsndtime
qlcnic: fix missing release in qlcnic_83xx_interrupt_test.
xsk: Add overflow check for u64 division, stored into u32
bnxt_en: Fix accumulation of bp->net_stats_prev.
esp6: get the right proto for transport mode in esp6_gso_encap
* netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code
include/linux/netfilter/nf_conntrack_pptp.h
net/ipv4/netfilter/nf_nat_pptp.c
net/netfilter/nf_conntrack_pptp.c
netfilter: nfnetlink_cthelper: unbreak userspace helper support
netfilter: ipset: Fix subcounter update skip
netfilter: nft_reject_bridge: enable reject with bridge vlan
* ip_vti: receive ipip packet by calling ip_tunnel_rcv
net/ipv4/ip_vti.c
* vti4: eliminated some duplicate code.
net/ipv4/ip_vti.c
* xfrm: fix error in comment
include/uapi/linux/xfrm.h
* xfrm: fix a NULL-ptr deref in xfrm_local_error
net/xfrm/xfrm_output.c
* xfrm: fix a warning in xfrm_policy_insert_list
net/xfrm/xfrm_policy.c
* xfrm interface: fix oops when deleting a x-netns interface
net/xfrm/xfrm_interface.c
* xfrm: call xfrm_output_gso when inner_protocol is set in xfrm_output
net/xfrm/xfrm_output.c
* xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input
net/xfrm/xfrm_input.c
copy_xstate_to_kernel(): don't leave parts of destination uninitialized
x86/dma: Fix max PFN arithmetic overflow on 32 bit systems
mac80211: mesh: fix discovery timer re-arming issue / crash
* RDMA/core: Fix double destruction of uobject
include/rdma/uverbs_std_types.h
mmc: core: Fix recursive locking issue in CQE recovery path
parisc: Fix kernel panic in mem_init()
* iommu: Fix reference count leak in iommu_group_alloc.
drivers/iommu/iommu.c
* include/asm-generic/topology.h: guard cpumask_of_node() macro argument
include/asm-generic/topology.h
* fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info()
fs/binfmt_elf.c
* mm: remove VM_BUG_ON(PageSlab()) from page_mapcount()
include/linux/mm.h
IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode
libceph: ignore pool overlay and cache logic on redirects
ALSA: hda/realtek - Add new codec supported for ALC287
* ALSA: usb-audio: Quirks for Gigabyte TRX40 Aorus Master onboard audio
sound/usb/mixer_maps.c
sound/usb/quirks-table.h
* exec: Always set cap_ambient in cap_bprm_set_creds
security/commoncap.c
* ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC
sound/usb/mixer.c
ALSA: hda/realtek - Add a model for Thinkpad T570 without DAC workaround
* ALSA: hwdep: fix a left shifting 1 by 31 UB bug
sound/core/hwdep.c
RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe()
mmc: block: Fix use-after-free issue for rpmb
ARM: dts: bcm: HR2: Fix PPI interrupt types
ARM: dts: bcm2835-rpi-zero-w: Fix led polarity
ARM: dts/imx6q-bx50v3: Set display interface clock parents
IB/qib: Call kobject_put() when kobject_init_and_add() fails
gpio: exar: Fix bad handling for ida_simple_get error path
ARM: uaccess: fix DACR mismatch with nested exceptions
ARM: uaccess: integrate uaccess_save and uaccess_restore
ARM: uaccess: consolidate uaccess asm to asm/uaccess-asm.h
ARM: 8843/1: use unified assembler in headers
ARM: 8970/1: decompressor: increase tag size
Input: synaptics-rmi4 - fix error return code in rmi_driver_probe()
Input: synaptics-rmi4 - really fix attn_data use-after-free
Input: i8042 - add ThinkPad S230u to i8042 reset list
Input: dlink-dir685-touchkeys - fix a typo in driver name
* Input: xpad - add custom init packet for Xbox One S controllers
drivers/input/joystick/xpad.c
* Input: evdev - call input_flush_device() on release(), not flush()
drivers/input/evdev.c
Input: usbtouchscreen - add support for BonXeon TP
samples: bpf: Fix build error
cifs: Fix null pointer check in cifs_read
riscv: stacktrace: Fix undefined reference to `walk_stackframe'
IB/i40iw: Remove bogus call to netdev_master_upper_dev_get()
* net: freescale: select CONFIG_FIXED_PHY where needed
drivers/net/ethernet/freescale/Kconfig
drivers/net/ethernet/freescale/dpaa/Kconfig
usb: gadget: legacy: fix redundant initialization warnings
usb: dwc3: pci: Enable extcon driver for Intel Merrifield
cachefiles: Fix race between read_waiter and read_copier involving op->to_do
gfs2: move privileged user check to gfs2_quota_lock_check
net: microchip: encx24j600: add missed kthread_stop
* ALSA: usb-audio: add mapping for ASRock TRX40 Creator
sound/usb/mixer_maps.c
sound/usb/quirks-table.h
gpio: tegra: mask GPIO IRQs during IRQ shutdown
ARM: dts: rockchip: fix pinctrl sub nodename for spi in rk322x.dtsi
ARM: dts: rockchip: swap clock-names of gpu nodes
arm64: dts: rockchip: swap interrupts interrupt-names rk3399 gpu node
arm64: dts: rockchip: fix status for &gmac2phy in rk3328-evb.dts
ARM: dts: rockchip: fix phy nodename for rk3228-evb
mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload fails
net/mlx4_core: fix a memory leak bug.
net: sun: fix missing release regions in cas_init_one().
net/mlx5: Annotate mutex destroy for root ns
net/mlx5e: Update netdev txq on completions during closure
* sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and socket is closed
net/sctp/sm_statefuns.c
* sctp: Don't add the shutdown timer if its already been added
net/sctp/sm_sideeffect.c
* r8152: support additional Microsoft Surface Ethernet Adapter variant
drivers/net/usb/cdc_ether.c
drivers/net/usb/r8152.c
* net sched: fix reporting the first-time use timestamp
include/net/act_api.h
* net: revert "net: get rid of an signed integer overflow in ip_idents_reserve()"
net/ipv4/route.c
* net: qrtr: Fix passing invalid reference to qrtr_local_enqueue()
net/qrtr/qrtr.c
* net/mlx5: Add command entry handling completion
include/linux/mlx5/driver.h
net: ipip: fix wrong address family in init error path
* net: inet_csk: Fix so_reuseport bind-address cache in tb->fast*
net/ipv4/inet_connection_sock.c
* __netif_receive_skb_core: pass skb by reference
net/core/dev.c
net: dsa: mt7530: fix roaming from DSA user ports
dpaa_eth: fix usage as DSA master, try 3
ax25: fix setsockopt(SO_BINDTODEVICE)
* ANDROID: modules: fix lockprove warning
kernel/module.c
FROMGIT: USB: dummy-hcd: use configurable endpoint naming scheme
UPSTREAM: usb: raw-gadget: fix null-ptr-deref when reenabling endpoints
UPSTREAM: usb: raw-gadget: documentation updates
* UPSTREAM: usb: raw-gadget: support stalling/halting/wedging endpoints
include/uapi/linux/usb/raw_gadget.h
* UPSTREAM: usb: raw-gadget: fix gadget endpoint selection
include/uapi/linux/usb/raw_gadget.h
* UPSTREAM: usb: raw-gadget: improve uapi headers comments
include/uapi/linux/usb/raw_gadget.h
UPSTREAM: usb: raw-gadget: fix return value of ep read ioctls
UPSTREAM: usb: raw-gadget: fix raw_event_queue_fetch locking
UPSTREAM: usb: raw-gadget: Fix copy_to/from_user() checks
* f2fs: fix wrong discard space
fs/f2fs/segment.c
f2fs: compress: don't compress any datas after cp stop
* f2fs: remove unneeded return value of __insert_discard_tree()
fs/f2fs/segment.c
* f2fs: fix wrong value of tracepoint parameter
fs/f2fs/namei.c
* f2fs: protect new segment allocation in expand_inode_data
fs/f2fs/file.c
* f2fs: code cleanup by removing ifdef macro surrounding
fs/f2fs/file.c
fs/f2fs/namei.c
fs/f2fs/xattr.h
* writeback: Avoid skipping inode writeback
fs/fs-writeback.c
include/linux/fs.h
ANDROID: GKI: Update the ABI
ANDROID: GKI: update whitelist
* ANDROID: GKI: support mm_event for FS/IO/UFS path
include/linux/blk_types.h
include/linux/mm_event.h
mm/mm_event.c
* ANDROID: net: bpf: permit redirect from ingress L3 to egress L2 devices at near max mtu
net/core/filter.c
* FROMGIT: driver core: Update device link status correctly for SYNC_STATE_ONLY links
drivers/base/core.c
* UPSTREAM: driver core: Fix handling of SYNC_STATE_ONLY + STATELESS device links
drivers/base/core.c
* BACKPORT: driver core: Fix SYNC_STATE_ONLY device link implementation
drivers/base/core.c
ANDROID: Bulk update the ABI xml and qcom whitelist
* Revert "ANDROID: Incremental fs: Avoid continually recalculating hashes"
fs/incfs/data_mgmt.c
* f2fs: avoid inifinite loop to wait for flushing node pages at cp_error
fs/f2fs/node.c
f2fs: compress: fix zstd data corruption
* f2fs: add compressed/gc data read IO stat
fs/f2fs/data.c
fs/f2fs/f2fs.h
fs/f2fs/gc.c
fs/f2fs/sysfs.c
include/trace/events/f2fs.h
* f2fs: fix potential use-after-free issue
fs/f2fs/data.c
* f2fs: compress: don't handle non-compressed data in workqueue
fs/f2fs/data.c
* f2fs: remove redundant assignment to variable err
fs/f2fs/namei.c
* f2fs: refactor resize_fs to avoid meta updates in progress
fs/f2fs/checkpoint.c
fs/f2fs/f2fs.h
fs/f2fs/file.c
fs/f2fs/gc.c
fs/f2fs/super.c
include/trace/events/f2fs.h
* f2fs: use round_up to enhance calculation
fs/f2fs/file.c
* f2fs: introduce F2FS_IOC_RESERVE_COMPRESS_BLOCKS
fs/f2fs/f2fs.h
fs/f2fs/file.c
* f2fs: Avoid double lock for cp_rwsem during checkpoint
fs/f2fs/checkpoint.c
fs/f2fs/f2fs.h
fs/f2fs/node.c
* f2fs: report delalloc reserve as non-free in statfs for project quota
fs/f2fs/super.c
* f2fs: Fix wrong stub helper update_sit_info
fs/f2fs/f2fs.h
f2fs: compress: let lz4 compressor handle output buffer budget properly
* f2fs: remove blk_plugging in block_operations
fs/f2fs/checkpoint.c
* f2fs: introduce F2FS_IOC_RELEASE_COMPRESS_BLOCKS
fs/f2fs/f2fs.h
fs/f2fs/file.c
* f2fs: shrink spinlock coverage
fs/f2fs/node.c
fs/f2fs/node.h
* f2fs: correctly fix the parent inode number during fsync()
fs/f2fs/file.c
* f2fs: introduce mempool for {,de}compress intermediate page allocation
fs/f2fs/f2fs.h
fs/f2fs/super.c
* f2fs: introduce f2fs_bmap_compress()
fs/f2fs/data.c
* f2fs: support fiemap on compressed inode
fs/f2fs/data.c
* f2fs: support partial truncation on compressed inode
fs/f2fs/f2fs.h
fs/f2fs/file.c
* f2fs: remove redundant compress inode check
fs/f2fs/f2fs.h
* f2fs: use strcmp() in parse_options()
fs/f2fs/super.c
* f2fs: Use the correct style for SPDX License Identifier
fs/f2fs/acl.h
fs/f2fs/f2fs.h
fs/f2fs/gc.h
fs/f2fs/node.h
fs/f2fs/segment.h
fs/f2fs/trace.h
fs/f2fs/xattr.h
Change-Id: I2a678a32a4d72309fd00887a7ac56241293304a9
Signed-off-by: lucaswei <lucaswei@google.com>
|
||
|
|
27e3fa7e9c |
kbuild: improve cc-option to clean up all temporary files
[ Upstream commit f2f02ebd8f3833626642688b2d2c6a7b3c141fa9 ] When cc-option and friends evaluate compiler flags, the temporary file $$TMP is created as an output object, and automatically cleaned up. The actual file path of $$TMP is .<pid>.tmp, here <pid> is the process ID of $(shell ...) invoked from cc-option. (Please note $$$$ is the escape sequence of $$). Such garbage files are cleaned up in most cases, but some compiler flags create additional output files. For example, -gsplit-dwarf creates a .dwo file. When CONFIG_DEBUG_INFO_SPLIT=y, you will see a bunch of .<pid>.dwo files left in the top of build directories. You may not notice them unless you do 'ls -a', but the garbage files will increase every time you run 'make'. This commit changes the temporary object path to .tmp_<pid>/tmp, and removes .tmp_<pid> directory when exiting. Separate build artifacts such as *.dwo will be cleaned up all together because their file paths are usually determined based on the base name of the object. Another example is -ftest-coverage, which outputs the coverage data into <base-name-of-object>.gcno Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
|
|
ce0ebafc23 |
kbuild: change if_changed_rule for multi-line recipe
The 'define' ... 'endef' directive is useful to confine a series of
shell commands into a single macro:
define foo
[action1]
[action2]
[action3]
endif
Each action is executed in a separate subshell.
However, rule_cc_o_c and rule_as_o_S in scripts/Makefile.build are
written as follows (with a trailing semicolon in each cmd_*):
define rule_cc_o_c
[action1] ; \
[action2] ; \
[action3] ;
endef
All shell commands are concatenated with '; \' so that it looks like
a single command from the Makefile point of view. This does not
exploit the benefits of 'define' ... 'endef' form because a single
shell command can be more simply written, like this:
rule_cc_o_c = \
[action1] ; \
[action2] ; \
[action3] ;
I guess the intention for the command concatenation was to let the
'@set -e' in if_changed_rule cover all the commands.
We can improve the readability by moving '@set -e' to the 'cmd' macro.
The combo of $(call echo-cmd,*) $(cmd_*) in rule_cc_o_c and rule_as_o_S
have been replaced with $(call cmd,*). The trailing back-slashes have
been removed.
Here is a note about the performance: the commands in rule_cc_o_c and
rule_as_o_S were previously executed all together in a single subshell,
but now each line in a separate subshell. This means Make will spawn
extra subshells [1]. I measured the build performance for
x86_64_defconfig + CONFIG_MODVERSIONS + CONFIG_TRIM_UNUSED_KSYMS
and I saw slight performance regression, but I believe code readability
and maintainability wins.
[1] Precisely, GNU Make may optimize this by executing the command
directly instead of forking a subshell, if no shell special
characters are found in the command line and omitting the subshell
will not change the behavior.
Bug: 152364771
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Change-Id: Id3945e3879b828ea4ab378e73c480099f83eb86f
Signed-off-by: Wilson Sung <wilsonsung@google.com>
|
||
|
|
36bf9da291 |
x86/build: Remove jump label quirk for GCC older than 4.5.2
Commit
|
||
|
|
d503ac531a |
kbuild: rename LDFLAGS to KBUILD_LDFLAGS
Commit |
||
|
|
01f0e5cded |
Merge tag 'kconfig-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull Kconfig updates from Masahiro Yamada:
- show clearer error messages where pkg-config is needed, but not
installed
- rename SYMBOL_AUTO to SYMBOL_NO_WRITE to reflect its semantics
- create all necessary directories by Kconfig tool itself instead of
Makefile
- update the .config unconditionally when syncconfig is invoked
- use 'include' directive instead of '-include' where
include/config/{auto,tristate}.conf is mandatory
- do not try to update the .config when running install targets
- add .DELETE_ON_ERROR to delete partially updated files
- misc cleanups and fixes
* tag 'kconfig-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
kconfig: remove P_ENV property type
kconfig: remove unused sym_get_env_prop() function
kconfig: fix the rule of mainmenu_stmt symbol
init/Kconfig: Use short unix-style option instead of --longname
Kbuild: Makefile.modbuiltin: include auto.conf and tristate.conf mandatory
kbuild: remove auto.conf from prerequisite of phony targets
kbuild: do not update config for 'make kernelrelease'
kbuild: do not update config when running install targets
kbuild: add .DELETE_ON_ERROR special target
kbuild: use 'include' directive to load auto.conf from top Makefile
kconfig: allow all config targets to write auto.conf if missing
kconfig: make syncconfig update .config regardless of sym_change_count
kconfig: create directories needed for syncconfig by itself
kconfig: remove unneeded directory generation from local*config
kconfig: split out useful helpers in confdata.c
kconfig: rename file_write_dep and move it to confdata.c
kconfig: fix typos in description of "choice" in kconfig-language.txt
kconfig: handle format string before calling conf_message_callback()
kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE
kconfig: check for pkg-config on make {menu,n,g,x}config
|
||
|
|
e026bcc561 |
Merge tag 'kbuild-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull Kbuild updates from Masahiro Yamada:
- verify depmod is installed before modules_install
- support build salt in case build ids must be unique between builds
- allow users to specify additional host compiler flags via HOST*FLAGS,
and rename internal variables to KBUILD_HOST*FLAGS
- update buildtar script to drop vax support, add arm64 support
- update builddeb script for better debarch support
- document the pit-fall of if_changed usage
- fix parallel build of UML with O= option
- make 'samples' target depend on headers_install to fix build errors
- remove deprecated host-progs variable
- add a new coccinelle script for refcount_t vs atomic_t check
- improve double-test coccinelle script
- misc cleanups and fixes
* tag 'kbuild-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (41 commits)
coccicheck: return proper error code on fail
Coccinelle: doubletest: reduce side effect false positives
kbuild: remove deprecated host-progs variable
kbuild: make samples really depend on headers_install
um: clean up archheaders recipe
kbuild: add %asm-generic to no-dot-config-targets
um: fix parallel building with O= option
scripts: Add Python 3 support to tracing/draw_functrace.py
builddeb: Add automatic support for sh{3,4}{,eb} architectures
builddeb: Add automatic support for riscv* architectures
builddeb: Add automatic support for m68k architecture
builddeb: Add automatic support for or1k architecture
builddeb: Add automatic support for sparc64 architecture
builddeb: Add automatic support for mips{,64}r6{,el} architectures
builddeb: Add automatic support for mips64el architecture
builddeb: Add automatic support for ppc64 and powerpcspe architectures
builddeb: Introduce functions to simplify kconfig tests in set_debarch
builddeb: Drop check for 32-bit s390
builddeb: Change architecture detection fallback to use dpkg-architecture
builddeb: Skip architecture detection when KBUILD_DEBARCH is set
...
|
||
|
|
1202f4fdbc |
Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 updates from Will Deacon:
"A bunch of good stuff in here. Worth noting is that we've pulled in
the x86/mm branch from -tip so that we can make use of the core
ioremap changes which allow us to put down huge mappings in the
vmalloc area without screwing up the TLB. Much of the positive
diffstat is because of the rseq selftest for arm64.
Summary:
- Wire up support for qspinlock, replacing our trusty ticket lock
code
- Add an IPI to flush_icache_range() to ensure that stale
instructions fetched into the pipeline are discarded along with the
I-cache lines
- Support for the GCC "stackleak" plugin
- Support for restartable sequences, plus an arm64 port for the
selftest
- Kexec/kdump support on systems booting with ACPI
- Rewrite of our syscall entry code in C, which allows us to zero the
GPRs on entry from userspace
- Support for chained PMU counters, allowing 64-bit event counters to
be constructed on current CPUs
- Ensure scheduler topology information is kept up-to-date with CPU
hotplug events
- Re-enable support for huge vmalloc/IO mappings now that the core
code has the correct hooks to use break-before-make sequences
- Miscellaneous, non-critical fixes and cleanups"
* tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (90 commits)
arm64: alternative: Use true and false for boolean values
arm64: kexec: Add comment to explain use of __flush_icache_range()
arm64: sdei: Mark sdei stack helper functions as static
arm64, kaslr: export offset in VMCOREINFO ELF notes
arm64: perf: Add cap_user_time aarch64
efi/libstub: Only disable stackleak plugin for arm64
arm64: drop unused kernel_neon_begin_partial() macro
arm64: kexec: machine_kexec should call __flush_icache_range
arm64: svc: Ensure hardirq tracing is updated before return
arm64: mm: Export __sync_icache_dcache() for xen-privcmd
drivers/perf: arm-ccn: Use devm_ioremap_resource() to map memory
arm64: Add support for STACKLEAK gcc plugin
arm64: Add stack information to on_accessible_stack
drivers/perf: hisi: update the sccl_id/ccl_id when MT is supported
arm64: fix ACPI dependencies
rseq/selftests: Add support for arm64
arm64: acpi: fix alignment fault in accessing ACPI
efi/arm: map UEFI memory map even w/o runtime services enabled
efi/arm: preserve early mapping of UEFI memory map longer for BGRT
drivers: acpi: add dependency of EFI for arm64
...
|
||
|
|
43fee2b238 |
kbuild: do not redirect the first prerequisite for filechk
Currently, filechk unconditionally opens the first prerequisite and redirects it as the stdin of a filechk_* rule. Hence, every target using $(call filechk,...) must list something as the first prerequisite even if it is unneeded. '< $<' is actually unneeded in most cases. Each rule can explicitly adds it if necessary. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
||
|
|
9c2af1c737 |
kbuild: add .DELETE_ON_ERROR special target
If Make gets a fatal signal while a shell is executing, it may delete
the target file that the recipe was supposed to update. This is needed
to make sure that it is remade from scratch when Make is next run; if
Make is interrupted after the recipe has begun to write the target file,
it results in an incomplete file whose time stamp is newer than that
of the prerequisites files. Make automatically deletes the incomplete
file on interrupt unless the target is marked .PRECIOUS.
The situation is just the same as when the shell fails for some reasons.
Usually when a recipe line fails, if it has changed the target file at
all, the file is corrupted, or at least it is not completely updated.
Yet the file’s time stamp says that it is now up to date, so the next
time Make runs, it will not try to update that file.
However, Make does not cater to delete the incomplete target file in
this case. We need to add .DELETE_ON_ERROR somewhere in the Makefile
to request it.
scripts/Kbuild.include seems a suitable place to add it because it is
included from almost all sub-makes.
Please note .DELETE_ON_ERROR is not effective for phony targets.
The external module building should never ever touch the kernel tree.
The following recipe fails if include/generated/autoconf.h is missing.
However, include/config/auto.conf is not deleted since it is a phony
target.
PHONY += include/config/auto.conf
include/config/auto.conf:
$(Q)test -e include/generated/autoconf.h -a -e $@ || ( \
echo >&2; \
echo >&2 " ERROR: Kernel configuration is invalid."; \
echo >&2 " include/generated/autoconf.h or $@ are missing.";\
echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
echo >&2 ; \
/bin/false)
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
||
|
|
c931d34ea0 |
arm64: build with baremetal linker target instead of Linux when available
Not all toolchains have the baremetal elf targets, RedHat/Fedora ones in particular. So, probe for whether it's available and use the previous (linux) targets if it isn't. Reported-by: Laura Abbott <labbott@redhat.com> Tested-by: Laura Abbott <labbott@redhat.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Paul Kocialkowski <contact@paulk.fr> Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Will Deacon <will.deacon@arm.com> |
||
|
|
96f14fe738 |
kbuild: Rename HOSTCFLAGS to KBUILD_HOSTCFLAGS
In preparation for enabling command line CFLAGS, re-name HOSTCFLAGS to KBUILD_HOSTCFLAGS as the internal use only flags. This should not have any visible effects. Signed-off-by: Laura Abbott <labbott@redhat.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
||
|
|
48f6e3cf5b |
kbuild: do not drop -I without parameter
The comment line for addtree says "skip if -I has no parameter". What it actually does is "drop if -I has no parameter". For example, if you have the compiler flag '-I foo' (a space between), it will be converted to 'foo'. This completely changes the meaning. What we want is, "do nothing" for -I without parameter so that '-I foo' is kept as-is. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
||
|
|
e08d6de4e5 |
kbuild: remove kbuild cache
The kbuild cache was introduced to remember the result of shell commands, some of which are expensive to compute, such as $(call cc-option,...). However, this turned out not so clever as I had first expected. Actually, it is problematic. For example, "$(CC) -print-file-name" is cached. If the compiler is updated, the stale search path causes build error, which is difficult to figure out. Another problem scenario is cache files could be touched while install targets are running under the root permission. We can patch them if desired, but the build infrastructure is getting uglier and uglier. Now, we are going to move compiler flag tests to the configuration phase. If this is completed, the result of compiler tests will be naturally cached in the .config file. We will not have performance issues of incremental building since this testing only happens at Kconfig time. To start this work with a cleaner code base, remove the kbuild cache first. Revert the following commits: Commit |
||
|
|
e6ecfb4507 |
kbuild: do not display CHK for filechk
filechk displays two short logs; CHK for creating a temporary file, and UPD for really updating the target. IMHO, the build system can be quiet when the target file has not been updated. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> |
||
|
|
9564a8cf42 |
Kbuild: fix # escaping in .cmd files for future Make
I tried building using a freshly built Make (4.2.1-69-g8a731d1), but
already the objtool build broke with
orc_dump.c: In function ‘orc_dump’:
orc_dump.c:106:2: error: ‘elf_getshnum’ is deprecated [-Werror=deprecated-declarations]
if (elf_getshdrnum(elf, &nr_sections)) {
Turns out that with that new Make, the backslash was not removed, so cpp
didn't see a #include directive, grep found nothing, and
-DLIBELF_USE_DEPRECATED was wrongly put in CFLAGS.
Now, that new Make behaviour is documented in their NEWS file:
* WARNING: Backward-incompatibility!
Number signs (#) appearing inside a macro reference or function invocation
no longer introduce comments and should not be escaped with backslashes:
thus a call such as:
foo := $(shell echo '#')
is legal. Previously the number sign needed to be escaped, for example:
foo := $(shell echo '\#')
Now this latter will resolve to "\#". If you want to write makefiles
portable to both versions, assign the number sign to a variable:
C := \#
foo := $(shell echo '$C')
This was claimed to be fixed in 3.81, but wasn't, for some reason.
To detect this change search for 'nocomment' in the .FEATURES variable.
This also fixes up the two make-cmd instances to replace # with $(pound)
rather than with \#. There might very well be other places that need
similar fixup in preparation for whatever future Make release contains
the above change, but at least this builds an x86_64 defconfig with the
new make.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=197847
Cc: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
||
|
|
fbfa9be990 |
kbuild: move include/config/ksym/* to include/ksym/*
The idea of using fixdep was inspired by Kconfig, but autoksyms belongs to a different group. So, I want to move those touched files under include/config/ksym/ to include/ksym/. The directory include/ksym/ can be removed by 'make clean' because it is meaningless for the external module building. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Nicolas Pitre <nico@linaro.org> |
||
|
|
0294e6f4a0 |
kbuild: simplify ld-option implementation
Currently, linker options are tested by the coordination of $(CC) and
$(LD) because $(LD) needs some object to link.
As commit
|
||
|
|
1fe7d2bb24 |
kbuild: Improve portability of some sed invocations
* Use BREs where EREs aren't necessary.
* Pass -E instead of -r to use EREs. This will be standardized in the
next POSIX revision[0]. GNU sed supports this since 4.2 (May 2009),
and busybox since 1.22.0 (Jan 2014).
* Use the [:space:] character class instead of ` \t` in bracket
expressions. In bracket expressions, POSIX says that <backslash> loses
its special meaning, so a conforming implementation cannot expand \t
to <tab>[1].
* In BREs, use interval expressions (\{n,m\}) instead of non-standard
features like \+ and \?.
* Use a loop instead of -s flag.
There are still plenty of other cases of non-standard sed invocations
(use of ERE features in BREs, in-place editing), but this fixes some
core ones.
[0] http://austingroupbugs.net/view.php?id=528
[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03_05
Signed-off-by: Michael Forney <forney@google.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
||
|
|
9a234a2e38 |
kbuild: create directory for make cache only when necessary
Currently, the existence of $(dir $(make-cache)) is always checked,
and created if it is missing.
We can avoid unnecessary system calls by some tricks.
[1] If KBUILD_SRC is unset, we are building in the source tree.
The output directory checks can be entirely skipped.
[2] If at least one cache data is found, it means the cache file
was included. Obviously its directory exists. Skip "mkdir -p".
[3] If Makefile does not contain any call of __run-and-store, it will
not create a cache file. No need to create its directory.
[4] The "mkdir -p" should be only invoked by the first call of
__run-and-store
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
|
||
|
|
86a9df597c |
kbuild: fix linker feature test macros when cross compiling with Clang
I was not seeing my linker flags getting added when using ld-option when cross compiling with Clang. Upon investigation, this seems to be due to a difference in how GCC vs Clang handle cross compilation. GCC is configured at build time to support one backend, that is implicit when compiling. Clang is explicit via the use of `-target <triple>` and ships with all supported backends by default. GNU Make feature test macros that compile then link will always fail when cross compiling with Clang unless Clang's triple is passed along to the compiler. For example: $ clang -x c /dev/null -c -o temp.o $ aarch64-linux-android/bin/ld -E temp.o aarch64-linux-android/bin/ld: unknown architecture of input file `temp.o' is incompatible with aarch64 output aarch64-linux-android/bin/ld: warning: cannot find entry symbol _start; defaulting to 0000000000400078 $ echo $? 1 $ clang -target aarch64-linux-android- -x c /dev/null -c -o temp.o $ aarch64-linux-android/bin/ld -E temp.o aarch64-linux-android/bin/ld: warning: cannot find entry symbol _start; defaulting to 00000000004002e4 $ echo $? 0 This causes conditional checks that invoke $(CC) without the target triple, then $(LD) on the result, to always fail. Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
||
|
|
e17c400ae1 |
kbuild: shrink .cache.mk when it exceeds 1000 lines
The cache files are only cleaned away by "make clean". If you continue incremental builds, the cache files will grow up little by little. It is not a big deal in general use cases because compiler flags do not change quite often. However, if you do build-test for various architectures, compilers, and kernel configurations, you will end up with huge cache files soon. When the cache file exceeds 1000 lines, shrink it down to 500 by "tail". The Least Recently Added lines are cut. (not Least Recently Used) I hope it will work well enough. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Douglas Anderson <dianders@chromium.org> |
||
|
|
3298b690b2 |
kbuild: Add a cache for generated variables
While timing a "no-op" build of the kernel (incrementally building the kernel even though nothing changed) in the Chrome OS build system I found that it was much slower than I expected. Digging into things a bit, I found that quite a bit of the time was spent invoking the C compiler even though we weren't actually building anything. Currently in the Chrome OS build system the C compiler is called through a number of wrappers (one of which is written in python!) and can take upwards of 100 ms to invoke even if we're not doing anything difficult, so these invocations of the compiler were taking a lot of time. Worse the invocations couldn't seem to take advantage of the multiple cores on my system. Certainly it seems like we could make the compiler invocations in the Chrome OS build system faster, but only to a point. Inherently invoking a program as big as a C compiler is a fairly heavy operation. Thus even if we can speed the compiler calls it made sense to track down what was happening. It turned out that all the compiler invocations were coming from usages like this in the kernel's Makefile: KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,) Due to the way cc-option and similar statements work the above contains an implicit call to the C compiler. ...and due to the fact that we're storing the result in KBUILD_CFLAGS, a simply expanded variable, the call will happen every time the Makefile is parsed, even if there are no users of KBUILD_CFLAGS. Rather than redoing this computation every time, it makes a lot of sense to cache the result of all of the Makefile's compiler calls just like we do when we compile a ".c" file to a ".o" file. Conceptually this is quite a simple idea. ...and since the calls to invoke the compiler and similar tools are centrally located in the Kbuild.include file this doesn't even need to be super invasive. Implementing the cache in a simple-to-use and efficient way is not quite as simple as it first sounds, though. To get maximum speed we really want the cache in a format that make can natively understand and make doesn't really have an ability to load/parse files. ...but make _can_ import other Makefiles, so the solution is to store the cache in Makefile format. This requires coming up with a valid/unique Makefile variable name for each value to be cached, but that's solvable with some cleverness. After this change, we'll automatically create a ".cache.mk" file that will contain our cached variables. We'll load this on each invocation of make and will avoid recomputing anything that's already in our cache. The cache is stored in a format that it shouldn't need any invalidation since anything that might change should affect the "key" and any old cached value won't be used. Signed-off-by: Douglas Anderson <dianders@chromium.org> Tested-by: Ingo Molnar <mingo@kernel.org> Tested-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
||
|
|
312a3d0918 |
kbuild: trivial cleanups on the comments
This is a bunch of trivial fixes and cleanups. Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
||
|
|
9f3f1fd299 |
kbuild: Add __cc-option macro
cc-option uses KBUILD_CFLAGS and KBUILD_CPPFLAGS when it determines whether an option is supported or not. This is fine for options used to build the kernel itself, however some components like the x86 boot code use a different set of flags. Add the new macro __cc-option which is a more generic version of cc-option with additional parameters. One parameter is the compiler with which the check should be performed, the other the compiler options to be used instead KBUILD_C*FLAGS. Refactor cc-option and hostcc-option to use __cc-option and move hostcc-option to scripts/Kbuild.include. Suggested-by: Arnd Bergmann <arnd@arndb.de> Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Matthias Kaehlcke <mka@chromium.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Michal Marek <mmarek@suse.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
||
|
|
39a33ff80a |
kbuild: remove cc-option-align
Documentation/kbuild/makefiles.txt says the change for align options occurred at GCC 3.0, and Documentation/process/changes.rst says the minimal supported GCC version is 3.2, so it should be safe to hard-code -falign* options. Fix the only user arch/x86/Makefile_32.cpu and remove cc-option-align. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
593043d35d |
Merge tag 'kbuild-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull Kbuild updates from Masahiro Yamada: - improve Clang support - clean up various Makefiles - improve build log visibility (objtool, alpha, ia64) - improve compiler flag evaluation for better build performance - fix GCC version-dependent warning - fix genksyms * tag 'kbuild-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (23 commits) kbuild: dtbinst: remove unnecessary __dtbs_install_prep target ia64: beatify build log for gate.so and gate-syms.o alpha: make short build log available for division routines alpha: merge build rules of division routines alpha: add $(src)/ rather than $(obj)/ to make source file path Makefile: evaluate LDFLAGS_BUILD_ID only once objtool: make it visible in make V=1 output kbuild: clang: add -no-integrated-as to KBUILD_[AC]FLAGS kbuild: Add support to generate LLVM assembly files kbuild: Add better clang cross build support kbuild: drop -Wno-unknown-warning-option from clang options kbuild: fix asm-offset generation to work with clang kbuild: consolidate redundant sed script ASM offset generation frv: Use OFFSET macro in DEF_*REG() kbuild: avoid conflict between -ffunction-sections and -pg on gcc-4.7 kbuild: Consolidate header generation from ASM offset information kbuild: use -Oz instead of -Os when using clang kbuild, LLVMLinux: Add -Werror to cc-option to support clang Kbuild: make designated_init attribute fatal kbuild: drop unneeded patterns '.*.orig' and '.*.rej' from distclean ... |
||
|
|
c3f0d0bc5b |
kbuild, LLVMLinux: Add -Werror to cc-option to support clang
Clang will warn about unknown warnings but will not return false
unless -Werror is set. GCC will return false if an unknown
warning is passed.
Adding -Werror make both compiler behave the same.
[arnd: it turns out we need the same patch for testing whether -ffunction-sections
works right with gcc. I've build tested extensively with this patch
applied, so let's just merge this one now.]
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Signed-off-by: Behan Webster <behanw@converseincode.com>
Reviewed-by: Jan-Simon Möller <dl9pf@gmx.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
||
|
|
3f135e57a4 |
x86/build: Mostly disable '-maccumulate-outgoing-args'
The GCC '-maccumulate-outgoing-args' flag is enabled for most configs,
mostly because of issues which are no longer relevant. For most
configs, and with most recent versions of GCC, it's no longer needed.
Clarify which cases need it, and only enable it for those cases. Also
produce a compile-time error for the ftrace graph + mcount + '-Os' case,
which will otherwise cause runtime failures.
The main benefit of '-maccumulate-outgoing-args' is that it prevents an
ugly prologue for functions which have aligned stacks. But removing the
option also has some benefits: more readable argument saves, smaller
text size, and (presumably) slightly improved performance.
Here are the object size savings for 32-bit and 64-bit defconfig
kernels:
text data bss dec hex filename
10006710 3543328 1773568 15323606 e9d1d6 vmlinux.x86-32.before
9706358 3547424 1773568 15027350 e54c96 vmlinux.x86-32.after
text data bss dec hex filename
10652105 4537576 843776 16033457 f4a6b1 vmlinux.x86-64.before
10639629 4537576 843776 16020981 f475f5 vmlinux.x86-64.after
That comes out to a 3% text size improvement on x86-32 and a 0.1% text
size improvement on x86-64.
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andrew Lutomirski <luto@kernel.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20170316193133.zrj6gug53766m6nn@treble
Signed-off-by: Ingo Molnar <mingo@kernel.org>
|
||
|
|
0d070d2b5c |
Kbuild: Add cpp_its_S in ksym_dep_filter
Add a new command cpp_its_S introduced in commit
|
||
|
|
d26e941492 |
kbuild: no gcc-plugins during cc-option tests
The gcc-plugins arguments should not be included when performing cc-option tests. Steps to reproduce: 1) make mrproper 2) make defconfig 3) enable GCC_PLUGINS, GCC_PLUGIN_CYC_COMPLEXITY 4) enable FUNCTION_TRACER (it will select other options as well) 5) make && make modules Build errors: MODPOST 18 modules ERROR: "__fentry__" [net/netfilter/xt_nat.ko] undefined! ERROR: "__fentry__" [net/netfilter/xt_mark.ko] undefined! ERROR: "__fentry__" [net/netfilter/xt_addrtype.ko] undefined! ERROR: "__fentry__" [net/netfilter/xt_LOG.ko] undefined! ERROR: "__fentry__" [net/netfilter/nf_nat_sip.ko] undefined! ERROR: "__fentry__" [net/netfilter/nf_nat_irc.ko] undefined! ERROR: "__fentry__" [net/netfilter/nf_nat_ftp.ko] undefined! ERROR: "__fentry__" [net/netfilter/nf_nat.ko] undefined! Reported-by: Laura Abbott <labbott@redhat.com> Signed-off-by: Emese Revfy <re.emese@gmail.com> [kees: renamed variable, clarified commit message] Signed-off-by: Kees Cook <keescook@chromium.org> |
||
|
|
db547ef190 |
Kbuild: don't add obj tree in additional includes
When building with separate object directories and driver specific Makefiles that add additional header include paths, Kbuild adjusts the gcc flags so that we include both the directory in the source tree and in the object tree. However, due to another bug I fixed earlier, this did not actually include the correct directory in the object tree, so we know that we only really need the source tree here. Also, including the object tree sometimes causes warnings about nonexisting directories when the include path only exists in the source. This changes the logic to only emit the -I argument for the srctree, not for objects. We still need both $(srctree)/$(src) and $(obj) though, so I'm adding them manually. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Marek <mmarek@suse.com> |
||
|
|
b999596b96 |
Kbuild: don't add ../../ to include path
When we build with O=objdir and objdir is directly below the source tree, $(srctree) becomes '..'. When a Makefile adds a CFLAGS option like -Ipath/to/headers and we are building with a separate object directory, Kbuild tries to add two -I options, one for the source tree and one for the object tree. An absolute path is treated as a special case, and don't add this one twice. This also normally catches -I$(srctree)/$(src) as $(srctree) usually is an absolute directory like /home/arnd/linux/. The combination of the two behaviors however results in an invalid path name to be included: we get both ../$(src) and ../../$(src), the latter one pointing outside of the source tree, usually to a nonexisting directory. Building with 'make W=1' makes this obvious: cc1: error: ../../arch/arm/mach-s3c24xx/include: No such file or directory [-Werror=missing-include-dirs] This adds another special case, treating path names starting with ../ like those starting with / so we don't try to prefix that with $(srctree). Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Marek <mmarek@suse.com> |
||
|
|
9c8fa9bc08 |
kbuild: fix if_change and friends to consider argument order
Currently, arg-check is implemented as follows:
arg-check = $(strip $(filter-out $(cmd_$(1)), $(cmd_$@)) \
$(filter-out $(cmd_$@), $(cmd_$(1))) )
This does not care about the order of arguments that appear in
$(cmd_$(1)) and $(cmd_$@). So, if_changed and friends never rebuild
the target if only the argument order is changed. This is a problem
when the link order is changed.
Apparently,
obj-y += foo.o
obj-y += bar.o
and
obj-y += bar.o
obj-y += foo.o
should be distinguished because the link order determines the probe
order of drivers. So, built-in.o should be rebuilt when the order
of objects is changed.
This commit fixes arg-check to compare the old/current commands
including the argument order.
Of course, this change has a side effect; Kbuild will react to the
change of compile option order. For example, "-DFOO -DBAR" and
"-DBAR -DFOO" should give no difference to the build result, but
false positive should be better than false negative.
I am moving space_escape to the top of Kbuild.include just for a
matter of preference. In practical terms, space_escape can be
defined after arg-check because arg-check uses "=" flavor, not ":=".
Having said that, collecting convenient variables in one place makes
sense from the point of readability.
Chaining "%%%SPACE%%%" to "_-_SPACE_-_" is also a matter of taste
at this point. Actually, it can be arbitrary as long as it is an
unlikely used string. The only problem I see in "%%%SPACE%%%" is
that "%" is a special character in "$(patsubst ...)" context. This
commit just uses "$(subst ...)" for arg-check, but I am fixing it now
in case we might want to use it in $(patsubst ...) context in the
future.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Michal Marek <mmarek@suse.com>
|
||
|
|
f110e0fec8 |
kbuild: fix ksym_dep_filter when multiple EXPORT_SYMBOL() on the same line
In kernel/cgroup.c there is:
#define SUBSYS(_x) \
DEFINE_STATIC_KEY_TRUE(_x ## _cgrp_subsys_enabled_key); \
DEFINE_STATIC_KEY_TRUE(_x ## _cgrp_subsys_on_dfl_key); \
EXPORT_SYMBOL_GPL(_x ## _cgrp_subsys_enabled_key); \
EXPORT_SYMBOL_GPL(_x ## _cgrp_subsys_on_dfl_key);
The expansion of this macro causes multiple EXPORT_SYMBOL_GPL() instances
to appear on the same preprocessor line output, confusing the sed script
expecting only one of them per line. Unfortunately this can't be fixed
nicely in the sed script as sed's regexp can't do non greedy matching.
Fix this by turning any semicolon into a line break before filtering.
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Michal Marek <mmarek@suse.com>
|
||
|
|
366f4856f0 |
kbuild: adjust ksym_dep_filter for some cmd_* renames
The following renames occurred recently: cmd_cc_i_c --> cmd_cpp_i_c cmd_as_s_S --> cmd_cpp_s_S The respective cc_*_c and as_*_S patterns no longer match the above therefore additional patterns are needed. Signed-off-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Michal Marek <mmarek@suse.com> |
||
|
|
c1a95fda2a |
kbuild: add fine grained build dependencies for exported symbols
Like with kconfig options, we now have the ability to compile in and out individual EXPORT_SYMBOL() declarations based on the content of include/generated/autoksyms.h. However we don't want the entire world to be rebuilt whenever that file is touched. Let's apply the same build dependency trick used for CONFIG_* symbols where the time stamp of empty files whose paths matching those symbols is used to trigger fine grained rebuilds. In our case the key is the symbol name passed to EXPORT_SYMBOL(). However, unlike config options, we cannot just use fixdep to parse the source code for EXPORT_SYMBOL(ksym) because several variants exist and parsing them all in a separate tool, and keeping it in synch, is not trivially maintainable. Furthermore, there are variants such as EXPORT_SYMBOL_GPL(pci_user_read_config_##size); that are instanciated via a macro for which we can't easily determine the actual exported symbol name(s) short of actually running the preprocessor on them. Storing the symbol name string in a special ELF section doesn't work for targets that output assembly or preprocessed source. So the best way is really to leverage the preprocessor by having it output actual symbol names anchored by a special sequence that can be easily filtered out. Then the list of symbols is simply fed to fixdep to be merged with the other dependencies. That implies the preprocessor is executed twice for each source file. A previous attempt relied on a warning pragma for each EXPORT_SYMBOL() instance that was filtered apart from stderr by the build system with a sed script during the actual compilation pass. Unfortunately the preprocessor/compiler diagnostic output isn't stable between versions and this solution, although more efficient, was deemed too fragile. Because of the lowercasing performed by fixdep, there might be name collisions triggering spurious rebuilds for similar symbols. But this shouldn't be a big issue in practice. (This is the case for CONFIG_* symbols and I didn't want to be different here, whatever the original reason for doing so.) To avoid needless build overhead, the exported symbol name gathering is performed only when CONFIG_TRIM_UNUSED_KSYMS is selected. Signed-off-by: Nicolas Pitre <nico@linaro.org> Acked-by: Rusty Russell <rusty@rustcorp.com.au> |
||
|
|
e4aca45950 |
kbuild: de-duplicate fixdep usage
The generation and postprocessing of automatic dependency rules is duplicated in rule_cc_o_c, rule_as_o_S and if_changed_dep. Since this is not a trivial one-liner action, it is now abstracted under cmd_and_fixdep to simplify things and make future changes in this area easier. In the rule_cc_o_c and rule_as_o_S cases that means the order of some commands has been altered, namely fixdep and related file manipulations are executed earlier, but they didn't depend on those commands that now execute later. Signed-off-by: Nicolas Pitre <nico@linaro.org> |
||
|
|
2aedcd098a |
kbuild: suppress annoying "... is up to date." message
Under certain conditions, Kbuild shows "... is up to date" where
if_changed or friends are used.
For example, the incremental build of ARM64 Linux shows this message
when the kernel image has not been updated.
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CHK include/generated/bounds.h
CHK include/generated/timeconst.h
CHK include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CHK kernel/config_data.h
make[1]: `arch/arm64/boot/Image.gz' is up to date.
Building modules, stage 2.
MODPOST 0 modules
The following is the build rule in arch/arm64/boot/Makefile:
$(obj)/Image.gz: $(obj)/Image FORCE
$(call if_changed,gzip)
If the Image.gz is newer than the Image and the command line has not
changed (i.e., $(any-prereq) and $(arg-check) are both empty), the
build rule $(call if_changed,gzip) is evaluated to be empty, then
GNU Make reports the target is up to date. In order to make GNU Make
quiet, we need to give it something to do, for example, "@:". This
should be fixed in the Kbuild core part rather than in each Makefile.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Michal Marek <mmarek@suse.com>
|
||
|
|
dab3c3cc4f |
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull core kbuild updates from Michal Marek: - modpost portability fix - linker script fix - genksyms segfault fix - fixdep cleanup - fix for clang detection * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: kbuild: Fix clang detection kbuild: fixdep: drop meaningless hash table initialization kbuild: fixdep: optimize code slightly genksyms: Regenerate parser genksyms: Duplicate function pointer type definitions segfault kbuild: Fix .text.unlikely placement Avoid conflict with host definitions when cross-compiling |
||
|
|
5631d9c429 |
kbuild: Fix clang detection
We cannot detect clang before including the arch Makefile, because that can set the default cross compiler. We also cannot detect clang after including the arch Makefile, because powerpc wants to know about clang. Solve this by using an deferred variable. This costs us a few shell invocations, but this is only a constant number. Reported-by: Behan Webster <behanw@converseincode.com> Reported-by: Anton Blanchard <anton@samba.org> Signed-off-by: Michal Marek <mmarek@suse.com> |
||
|
|
3ee550f12c |
modsign: Handle signing key in source tree
Since commit
|
||
|
|
6dcb4e5edf |
kbuild: allow cc-ifversion to have the argument for false condition
The macro "try-run" can have an argument for each of true and false cases. Having an argument for the false case of cc-ifversion (and ld-ifversion) would be useful too. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Michal Marek <mmarek@suse.cz> |
||
|
|
665d92e38f |
kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
The macros cc-version, cc-fullversion and ld-version take no argument. It is not necessary to add $(call ...) to invoke them. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Helge Deller <deller@gmx.de> [parisc] Signed-off-by: Michal Marek <mmarek@suse.cz> |
||
|
|
dd33c03b18 |
kbuild: fix cc-ifversion macro
The macro "cc-version" takes no argument. Drop $(CC) from the "cc-ifversion" definition. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Michal Marek <mmarek@suse.cz> |
||
|
|
d08372ca28 |
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kbuild updates from Michal Marek:
"Here are the kbuild changes for v3.19-rc1:
- Cleanups and deduplication in the main Makefile and
scripts/Makefile.*
- Sort the output of *config targets in make help
- Old <linux/version.h> is always removed to avoid a surprise during
bisecting
- Warning fix in kconfig"
* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
kbuild: remove redundant -rR flag of hdr-inst
kbuild: Fix make help-<board series> on powerpc
kbuild: Automatically remove stale <linux/version.h> file
kconfig: Fix warning "‘jump’ may be used uninitialized"
Makefile: sort list of defconfig targets in make help output
kbuild: Remove duplicate $(cmd) definition in Makefile.clean
kbuild: collect shorthands into scripts/Kbuild.include
|
||
|
|
1846dfbde3 |
kbuild: remove redundant -rR flag of hdr-inst
Passing -rR for "make headers_install" is redundant because the top Makefile has already set -rR to MAKEFLAGS. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Michal Marek <mmarek@suse.cz> |
||
|
|
371fdc77af |
kbuild: collect shorthands into scripts/Kbuild.include
The shorthand "clean" is defined in both the top Makefile and scripts/Makefile.clean. Likewise, the "hdr-inst" is defined in both the top Makefile and scripts/Makefile.headersinst. To reduce code duplication, this commit collects them into scripts/Kbuild.include like the "build" and "modbuiltin" shorthands. It requires scripts/Makefile.clean to include scripts/Kbuild.include, but its impact on the performance of "make clean" should be negligible. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Michal Marek <mmarek@suse.cz> |