d4414bc0e93d8da170fd0fc9fef65fe84015677d
40 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
54f6dd2f81 |
Merge android-4.19-stable (4.19.115) into android-msm-pixel-4.19-lts
Merge 4.19.115 into android-4.19
Linux 4.19.115
drm/msm: Use the correct dma_sync calls in msm_gem
* drm_dp_mst_topology: fix broken drm_dp_sideband_parse_remote_dpcd_read()
drivers/gpu/drm/drm_dp_mst_topology.c
* usb: dwc3: don't set gadget->is_otg flag
drivers/usb/dwc3/gadget.c
* rpmsg: glink: Remove chunk size word align warning
drivers/rpmsg/qcom_glink_native.c
* arm64: Fix size of __early_cpu_boot_status
arch/arm64/kernel/head.S
drm/msm: stop abusing dma_map/unmap for cache
* clk: qcom: rcg: Return failure for RCG update
drivers/clk/qcom/clk-rcg2.c
fbcon: fix null-ptr-deref in fbcon_switch
RDMA/cm: Update num_paths in cma_resolve_iboe_route error flow
Bluetooth: RFCOMM: fix ODEBUG bug in rfcomm_dev_ioctl
RDMA/cma: Teach lockdep about the order of rtnl and lock
RDMA/ucma: Put a lock around every call to the rdma_cm layer
ceph: canonicalize server path in place
ceph: remove the extra slashes in the server path
IB/hfi1: Fix memory leaks in sysfs registration and unregistration
IB/hfi1: Call kobject_put() when kobject_init_and_add() fails
ASoC: jz4740-i2s: Fix divider written at incorrect offset in register
hwrng: imx-rngc - fix an error path
tools/accounting/getdelays.c: fix netlink attribute length
* usb: dwc3: gadget: Wrap around when skip TRBs
drivers/usb/dwc3/gadget.c
* random: always use batched entropy for get_random_u{32,64}
drivers/char/random.c
mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_VLAN_MANGLE
slcan: Don't transmit uninitialized stack data in padding
net: stmmac: dwmac1000: fix out-of-bounds mac address reg setting
net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before accessing PHY registers
net: dsa: bcm_sf2: Ensure correct sub-node is parsed
net: dsa: bcm_sf2: Do not register slave MDIO bus with OF
* ipv6: don't auto-add link-local address to lag ports
net/ipv6/addrconf.c
mm: mempolicy: require at least one nodeid for MPOL_PREFERRED
* include/linux/notifier.h: SRCU: fix ctags
include/linux/notifier.h
* bitops: protect variables in set_mask_bits() macro
include/linux/bitops.h
padata: always acquire cpu_hotplug_lock before pinst->lock
* net: Fix Tx hash bound checking
net/core/dev.c
rxrpc: Fix sendmsg(MSG_WAITALL) handling
ALSA: hda/ca0132 - Add Recon3Di quirk to handle integrated sound on EVGA X99 Classified motherboard
power: supply: axp288_charger: Add special handling for HP Pavilion x2 10
extcon: axp288: Add wakeup support
mei: me: add cedar fork device ids
* coresight: do not use the BIT() macro in the UAPI header
include/uapi/linux/coresight-stm.h
misc: pci_endpoint_test: Avoid using module parameter to determine irqtype
misc: pci_endpoint_test: Fix to support > 10 pci-endpoint-test devices
misc: rtsx: set correct pcr_ops for rts522A
media: rc: IR signal for Panasonic air conditioner too long
drm/etnaviv: replace MMU flush marker with flush sequence
tools/power turbostat: Fix missing SYS_LPI counter on some Chromebooks
tools/power turbostat: Fix gcc build warnings
drm/amdgpu: fix typo for vcn1 idle check
* initramfs: restore default compression behavior
usr/Kconfig
drm/bochs: downgrade pci_request_region failure from error to warning
drm/amd/display: Add link_rate quirk for Apple 15" MBP 2017
nvme-rdma: Avoid double freeing of async event data
* sctp: fix possibly using a bad saddr with a given dst
net/sctp/ipv6.c
net/sctp/protocol.c
* sctp: fix refcount bug in sctp_wfree
net/sctp/socket.c
* net, ip_tunnel: fix interface lookup with no key
net/ipv4/ip_tunnel.c
* ipv4: fix a RCU-list lock in fib_triestat_seq_show
net/ipv4/fib_trie.c
* ANDROID: GKI: export symbols required by SPECTRA_CAMERA
drivers/media/v4l2-core/v4l2-ioctl.c
drivers/media/v4l2-core/v4l2-subdev.c
* ANDROID: GKI: ARM/ARM64: Introduce arch_read_hardware_id
arch/arm64/include/asm/system_misc.h
arch/arm64/kernel/cpuinfo.c
* ANDROID: GKI: drivers: base: soc: export symbols for socinfo
drivers/base/soc.c
ANDROID: GKI: Update ABI
* ANDROID: GKI: ASoC: msm: fix integer overflow for long duration offload playback
include/uapi/sound/compress_offload.h
sound/core/compress_offload.c
ANDROID: GKI: Bulk ABI update
* Revert "ANDROID: GKI: mm: add struct/enum fields for SPECULATIVE_PAGE_FAULTS"
include/linux/mm.h
include/linux/mm_types.h
include/linux/vm_event_item.h
mm/vmstat.c
* ANDROID: GKI: Revert "arm64: kill flush_cache_all()"
arch/arm64/include/asm/cacheflush.h
arch/arm64/include/asm/proc-fns.h
arch/arm64/mm/cache.S
arch/arm64/mm/flush.c
arch/arm64/mm/proc.S
* ANDROID: GKI: Revert "arm64: Remove unused macros from assembler.h"
arch/arm64/include/asm/assembler.h
* ANDROID: GKI: kernel/dma, mm/cma: Export symbols needed by vendor modules
kernel/dma/contiguous.c
mm/cma.c
* ANDROID: GKI: mm: Export symbols __next_zones_zonelist and zone_watermark_ok_safe
mm/mmzone.c
mm/page_alloc.c
* ANDROID: GKI: mm/memblock: export memblock_overlaps_memory
mm/memblock.c
* ANDROID: GKI: net, skbuff: export symbols needed by vendor drivers
net/core/skbuff.c
* ANDROID: GKI: Add stub __cpu_isolated_mask symbol
kernel/cpu.c
* ANDROID: GKI: sched: stub sched_isolate symbols
kernel/sched/Makefile
* ANDROID: GKI: export saved_command_line
init/main.c
ANDROID: GKI: Update ABI
* ANDROID: GKI: ASoC: core: Update ALSA core to issue restart in underrun.
include/sound/pcm.h
sound/core/pcm_native.c
* ANDROID: GKI: SoC: pcm: Add a restart callback field to struct snd_pcm_ops
include/sound/pcm.h
* ANDROID: GKI: SoC: pcm: Add fields to struct snd_pcm_ops and struct snd_soc_component_driver
include/sound/pcm.h
include/sound/soc.h
* ANDROID: GKI: ASoC: core: Add compat_ioctl callback to struct snd_pcm_ops
include/sound/pcm.h
* ANDROID: GKI: ALSA: core: modify, rename and export create_subdir API
include/sound/info.h
sound/core/info.c
* ANDROID: GKI: usb: Add helper API to issue stop endpoint command
drivers/usb/core/hcd.c
drivers/usb/core/usb.c
drivers/usb/host/xhci.c
include/linux/usb.h
include/linux/usb/hcd.h
* ANDROID: GKI: Thermal: thermal_zone_get_cdev_by_name added
drivers/thermal/thermal_core.c
include/linux/thermal.h
* ANDROID: GKI: add missing exports for CONFIG_ARM_SMMU=m
drivers/iommu/iommu-sysfs.c
drivers/iommu/iommu-traces.c
drivers/iommu/iommu.c
drivers/of/base.c
drivers/pci/pci.c
drivers/pci/search.c
include/trace/events/iommu.h
* ANDROID: power: wakeup_reason: wake reason enhancements
drivers/base/power/main.c
drivers/base/power/wakeup.c
drivers/irqchip/irq-gic-v3.c
include/linux/wakeup_reason.h
kernel/irq/chip.c
kernel/power/process.c
kernel/power/suspend.c
kernel/power/wakeup_reason.c
* BACKPORT: FROMGIT: kbuild: mkcompile_h: Include $LD version in /proc/version
init/Makefile
scripts/mkcompile_h
* ANDROID: GKI: kernel: Export symbols needed by msm_minidump.ko and minidump_log.ko
init/version.c
mm/percpu.c
ANDROID: Bulk update the ABI xml
ANDROID: gki_defconfig: add CONFIG_IPV6_SUBTREES
* ANDROID: GKI: arm64: reserve space in cpu_hwcaps and cpu_hwcap_keys arrays
arch/arm64/include/asm/cpucaps.h
* ANDROID: GKI: of: reserved_mem: Fix kmemleak crash on no-map region
drivers/of/of_reserved_mem.c
* ANDROID: GKI: sched: add task boost vendor fields to task_struct
include/linux/sched.h
* ANDROID: GKI: mm: add rss counter for unreclaimable pages
include/linux/mm_types_task.h
* ANDROID: GKI: irqdomain: add bus token DOMAIN_BUS_WAKEUP
include/linux/irqdomain.h
* ANDROID: GKI: arm64: fault: do_tlb_conf_fault_cb register fault callback
arch/arm64/include/asm/traps.h
arch/arm64/mm/fault.c
* ANDROID: GKI: QoS: Enhance framework to support cpu/irq specific QoS requests
include/linux/pm_qos.h
kernel/power/qos.c
ANDROID: GKI: Bulk ABI update
* ANDROID: GKI: PM/devfreq: Do not switch governors from sysfs when device is suspended
drivers/devfreq/devfreq.c
include/linux/devfreq.h
* ANDROID: GKI: PM / devfreq: Fix race condition between suspend/resume and governor_store
drivers/devfreq/devfreq.c
include/linux/devfreq.h
* ANDROID: GKI: PM / devfreq: Introduce a sysfs lock
drivers/devfreq/devfreq.c
include/linux/devfreq.h
* ANDROID: GKI: regmap: irq: Add support to clear ack registers
drivers/base/regmap/regmap-irq.c
include/linux/regmap.h
ANDROID: GKI: Remove SCHED_AUTOGROUP
* ANDROID: ignore compiler tag __must_check for GENKSYMS
include/linux/compiler_types.h
ANDROID: GKI: Bulk update ABI
* ANDROID: GKI: Fix ABI diff for struct thermal_cooling_device_ops
include/linux/thermal.h
* ANDROID: GKI: ASoC: soc-core: export function to find components
include/sound/soc.h
sound/soc/soc-core.c
* ANDROID: GKI: thermal: thermal_sys: Add configurable thermal trip points.
include/linux/thermal.h
* ANDROID: fscrypt: fall back to filesystem-layer crypto when needed
fs/crypto/fscrypt_private.h
fs/crypto/inline_crypt.c
fs/crypto/keysetup.c
* ANDROID: block: require drivers to declare supported crypto key type(s)
block/blk-crypto-fallback.c
block/blk-crypto.c
block/keyslot-manager.c
drivers/md/dm-default-key.c
drivers/md/dm.c
drivers/scsi/ufs/ufshcd-crypto.c
fs/crypto/inline_crypt.c
include/linux/blk-crypto.h
include/linux/keyslot-manager.h
* ANDROID: block: make blk_crypto_start_using_mode() properly check for support
block/blk-crypto-fallback.c
block/blk-crypto-internal.h
block/blk-crypto.c
include/linux/blk-crypto.h
* ANDROID: GKI: power: supply: format regression
drivers/power/supply/power_supply_sysfs.c
* ANDROID: GKI: kobject: increase number of kobject uevent pointers to 64
include/linux/kobject.h
* ANDROID: GKI: drivers: video: backlight: Fix ABI diff for struct backlight_device
include/linux/backlight.h
* ANDROID: GKI: usb: xhci: Add support for secondary interrupters
drivers/usb/core/hcd.c
drivers/usb/core/usb.c
drivers/usb/host/xhci-mem.c
drivers/usb/host/xhci.c
drivers/usb/host/xhci.h
include/linux/usb.h
include/linux/usb/hcd.h
* ANDROID: GKI: usb: host: xhci: Add support for usb core indexing
drivers/usb/host/xhci.h
ANDROID: gki_defconfig: enable USB_XHCI_HCD
ANDROID: gki_defconfig: enable CONFIG_BRIDGE
ANDROID: GKI: Update ABI report
* ANDROID: GKI: arm64: smp: Add set_update_ipi_history_callback
arch/arm64/include/asm/smp.h
arch/arm64/kernel/smp.c
* ANDROID: kbuild: ensure __cfi_check is correctly aligned
Makefile
scripts/Makefile
* FROMLIST: kmod: make request_module() return an error when autoloading is disabled
kernel/kmod.c
ANDROID: GKI: Update ABI report
* ANDROID: GKI: ARM64: dma-mapping: export symbol arch_setup_dma_ops
arch/arm64/mm/dma-mapping.c
ANDROID: GKI: ARM: dma-mapping: export symbol arch_setup_dma_ops
* ANDROID: GKI: ASoC: dapm: Avoid static route b/w cpu and codec dai
include/sound/soc.h
sound/soc/soc-dapm.c
* ANDROID: GKI: ASoC: pcm: Add support for hostless playback/capture
include/sound/soc.h
sound/soc/soc-pcm.c
* ANDROID: GKI: ASoC: core - add hostless DAI support
include/sound/soc.h
sound/soc/soc-pcm.c
* ANDROID: GKI: drivers: thermal: Resolve ABI diff for struct thermal_zone_device_ops
include/linux/thermal.h
* ANDROID: GKI: drivers: thermal: Add support for getting trip temperature
drivers/thermal/of-thermal.c
include/linux/thermal.h
* ANDROID: GKI: Add functions of_thermal_handle_trip/of_thermal_handle_trip_temp
drivers/thermal/of-thermal.c
drivers/thermal/thermal_core.c
drivers/thermal/thermal_core.h
include/linux/thermal.h
* ANDROID: GKI: drivers: thermal: Add post suspend evaluate flag to thermal zone devicetree
drivers/thermal/of-thermal.c
drivers/thermal/thermal_core.c
include/linux/thermal.h
* UPSTREAM: loop: Only freeze block queue when needed.
drivers/block/loop.c
* UPSTREAM: loop: Only change blocksize when needed.
drivers/block/loop.c
* ANDROID: Fix wq fp check for CFI builds
kernel/workqueue.c
ANDROID: GKI: update abi definition after CONFIG_DEBUG_LIST was enabled
ANDROID: gki_defconfig: enable CONFIG_DEBUG_LIST
ANDROID: GKI: Update ABI definition
* ANDROID: GKI: remove condition causing sk_buff struct ABI differences
include/linux/skbuff.h
* ANDROID: GKI: Export symbol arch_timer_mem_get_cval
drivers/clocksource/arm_arch_timer.c
* ANDROID: GKI: pwm: core: Add option to config PWM duty/period with u64 data length
drivers/pwm/core.c
drivers/pwm/sysfs.c
include/linux/pwm.h
ANDROID: Update ABI whitelist for qcom SoCs
* ANDROID: Incremental fs: Fix remount
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/vfs.c
* ANDROID: Incremental fs: Protect get_fill_block, and add a field
fs/incfs/data_mgmt.c
fs/incfs/vfs.c
include/uapi/linux/incrementalfs.h
* ANDROID: Incremental fs: Fix crash polling 0 size read_log
fs/incfs/data_mgmt.c
* ANDROID: Incremental fs: get_filled_blocks: better index_out
fs/incfs/data_mgmt.c
fs/incfs/format.c
fs/incfs/format.h
* ANDROID: GKI: of: property: Add device links support for "qcom,wrapper-dev"
drivers/of/property.c
ANDROID: GKI: update abi definitions due to recent changes
Merge 4.19.114 into android-4.19
* ANDROID: GKI: clk: Initialize in stack clk_init_data to 0 in all drivers
drivers/clk/clk-composite.c
drivers/clk/clk-divider.c
drivers/clk/clk-fixed-factor.c
drivers/clk/clk-fixed-rate.c
drivers/clk/clk-fractional-divider.c
drivers/clk/clk-gate.c
drivers/clk/clk-mux.c
drivers/clk/clk-xgene.c
* ANDROID: GKI: drivers: clksource: Add API to return cval
drivers/clocksource/arm_arch_timer.c
include/clocksource/arm_arch_timer.h
* ANDROID: GKI: clk: Add support for voltage voting
drivers/clk/clk.c
include/linux/clk-provider.h
* ANDROID: GKI: kernel: Export task and IRQ affinity symbols
kernel/irq/manage.c
kernel/sched/core.c
* ANDROID: GKI: regulator: core: Add support for regulator providers with sync state
drivers/regulator/core.c
drivers/regulator/proxy-consumer.c
include/linux/regulator/driver.h
* ANDROID: GKI: regulator: Call proxy-consumer functions for each regulator registered
drivers/regulator/core.c
include/linux/regulator/driver.h
* ANDROID: GKI: regulator: Add proxy consumer driver
drivers/regulator/Kconfig
drivers/regulator/Makefile
drivers/regulator/proxy-consumer.c
include/linux/regulator/proxy-consumer.h
* ANDROID: GKI: regulator: core: allow long device tree supply regulator property names
drivers/regulator/core.c
* ANDROID: GKI: Revert "regulator: Enable supply regulator if child rail is enabled."
drivers/regulator/core.c
* ANDROID: GKI: regulator: Remove redundant set_mode call in drms_uA_update
drivers/regulator/core.c
* ANDROID: GKI: net: Add the get current NAPI context API
include/linux/netdevice.h
net/core/dev.c
* ANDROID: GKI: remove DRM_KMS_CMA_HELPER from GKI configuration
init/Kconfig.gki
* ANDROID: GKI: edac: Fix ABI diffs in edac_device_ctl_info struct
drivers/edac/edac_device.h
* ANDROID: GKI: pwm: Add different PWM output types support
drivers/pwm/core.c
include/linux/pwm.h
* UPSTREAM: cfg80211: Authentication offload to user space in AP mode
include/net/cfg80211.h
include/uapi/linux/nl80211.h
net/wireless/nl80211.c
* ANDROID: Incremental fs: Fix four resource bugs
fs/incfs/vfs.c
ANDROID: Bulk update the ABI xml based on the referenced bugs.
Linux 4.19.114
arm64: dts: ls1046ardb: set RGMII interfaces to RGMII_ID mode
arm64: dts: ls1043a-rdb: correct RGMII delay mode to rgmii-id
ARM: dts: N900: fix onenand timings
ARM: dts: imx6: phycore-som: fix arm and soc minimum voltage
ARM: bcm2835-rpi-zero-w: Add missing pinctrl name
ARM: dts: oxnas: Fix clear-mask property
perf map: Fix off by one in strncpy() size argument
* arm64: alternative: fix build with clang integrated assembler
arch/arm64/include/asm/alternative.h
net: ks8851-ml: Fix IO operations, again
gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 CHT + AXP288 model
* bpf: Explicitly memset some bpf info structures declared on the stack
kernel/bpf/btf.c
kernel/bpf/syscall.c
* bpf: Explicitly memset the bpf_attr structure
kernel/bpf/syscall.c
platform/x86: pmc_atom: Add Lex 2I385SW to critclk_systems DMI table
vt: vt_ioctl: fix use-after-free in vt_in_use()
vt: vt_ioctl: fix VT_DISALLOCATE freeing in-use virtual console
vt: vt_ioctl: remove unnecessary console allocation checks
* vt: switch vt_dont_switch to bool
include/linux/vt_kern.h
vt: ioctl, switch VT_IS_IN_USE and VT_BUSY to inlines
* vt: selection, introduce vc_is_sel
include/linux/selection.h
mac80211: fix authentication with iwlwifi/mvm
mac80211: Check port authorization in the ieee80211_tx_dequeue() case
media: xirlink_cit: add missing descriptor sanity checks
media: stv06xx: add missing descriptor sanity checks
media: dib0700: fix rc endpoint lookup
media: ov519: add missing endpoint sanity checks
* libfs: fix infoleak in simple_attr_read()
fs/libfs.c
ahci: Add Intel Comet Lake H RAID PCI ID
staging: wlan-ng: fix use-after-free Read in hfa384x_usbin_callback
staging: wlan-ng: fix ODEBUG bug in prism2sta_disconnect_usb
staging: rtl8188eu: Add ASUS USB-N10 Nano B1 to device table
media: usbtv: fix control-message timeouts
media: flexcop-usb: fix endpoint sanity check
usb: musb: fix crash with highmen PIO and usbmon
USB: serial: io_edgeport: fix slab-out-of-bounds read in edge_interrupt_callback
USB: cdc-acm: restore capability check order
USB: serial: option: add Wistron Neweb D19Q1
USB: serial: option: add BroadMobi BM806U
USB: serial: option: add support for ASKEY WWHC050
mac80211: set IEEE80211_TX_CTRL_PORT_CTRL_PROTO for nl80211 TX
mac80211: add option for setting control flags
Revert "r8169: check that Realtek PHY driver module is loaded"
* vti6: Fix memory leak of skb if input policy check fails
net/ipv6/ip6_vti.c
* bpf/btf: Fix BTF verification of enum members in struct/union
kernel/bpf/btf.c
netfilter: nft_fwd_netdev: validate family and chain type
netfilter: flowtable: reload ip{v6}h in nf_flow_tuple_ip{v6}
* afs: Fix some tracing details
include/trace/events/afs.h
* xfrm: policy: Fix doulbe free in xfrm_policy_timer
net/xfrm/xfrm_policy.c
* xfrm: add the missing verify_sec_ctx_len check in xfrm_add_acquire
net/xfrm/xfrm_user.c
* xfrm: fix uctx len check in verify_sec_ctx_len
net/xfrm/xfrm_user.c
RDMA/mlx5: Block delay drop to unprivileged users
* vti[6]: fix packet tx through bpf_redirect() in XinY cases
net/ipv4/Kconfig
net/ipv4/ip_vti.c
net/ipv6/ip6_vti.c
* xfrm: handle NETDEV_UNREGISTER for xfrm device
net/xfrm/xfrm_device.c
* genirq: Fix reference leaks on irq affinity notifiers
kernel/irq/manage.c
RDMA/core: Ensure security pkey modify is not lost
gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 BYT + AXP288 model
gpiolib: acpi: Rework honor_wakeup option into an ignore_wake option
gpiolib: acpi: Correct comment for HP x2 10 honor_wakeup quirk
mac80211: mark station unauthorized before key removal
* nl80211: fix NL80211_ATTR_CHANNEL_WIDTH attribute type
net/wireless/nl80211.c
* scsi: sd: Fix optimal I/O size for devices that change reported values
drivers/scsi/sd.c
scripts/dtc: Remove redundant YYLOC global declaration
tools: Let O= makes handle a relative path with -C option
perf probe: Do not depend on dwfl_module_addrsym()
ARM: dts: omap5: Add bus_dma_limit for L3 bus
ARM: dts: dra7: Add bus_dma_limit for L3 bus
* ceph: check POOL_FLAG_FULL/NEARFULL in addition to OSDMAP_FULL/NEARFULL
include/linux/ceph/osdmap.h
include/linux/ceph/rados.h
* Input: avoid BIT() macro usage in the serio.h UAPI header
include/uapi/linux/serio.h
Input: synaptics - enable RMI on HP Envy 13-ad105ng
Input: raydium_i2c_ts - fix error codes in raydium_i2c_boot_trigger()
i2c: hix5hd2: add missed clk_disable_unprepare in remove
ftrace/x86: Anotate text_mutex split between ftrace_arch_code_modify_post_process() and ftrace_arch_code_modify_prepare()
sxgbe: Fix off by one in samsung driver strncpy size arg
dpaa_eth: Remove unnecessary boolean expression in dpaa_get_headroom
mac80211: Do not send mesh HWMP PREQ if HWMP is disabled
scsi: ipr: Fix softlockup when rescanning devices in petitboot
s390/qeth: handle error when backing RX buffer
* fsl/fman: detect FMan erratum A050385
drivers/net/ethernet/freescale/fman/Kconfig
arm64: dts: ls1043a: FMan erratum A050385
dt-bindings: net: FMan erratum A050385
* cgroup1: don't call release_agent when it is ""
kernel/cgroup/cgroup-v1.c
* drivers/of/of_mdio.c:fix of_mdiobus_register()
drivers/of/of_mdio.c
cpupower: avoid multiple definition with gcc -fno-common
nfs: add minor version to nfs_server_key for fscache
* cgroup-v1: cgroup_pidlist_next should update position index
kernel/cgroup/cgroup-v1.c
hsr: set .netnsok flag
hsr: add restart routine into hsr_get_node_list()
hsr: use rcu_read_lock() in hsr_get_node_{list/status}()
vxlan: check return value of gro_cells_init()
* tcp: repair: fix TCP_QUEUE_SEQ implementation
net/ipv4/tcp.c
r8169: re-enable MSI on RTL8168c
net: phy: mdio-mux-bcm-iproc: check clk_prepare_enable() return value
net: dsa: mt7530: Change the LINK bit to reflect the link status
net: ip_gre: Accept IFLA_INFO_DATA-less configuration
net: ip_gre: Separate ERSPAN newlink / changelink callbacks
bnxt_en: Reset rings if ring reservation fails during open()
bnxt_en: fix memory leaks in bnxt_dcbnl_ieee_getets()
slcan: not call free_netdev before rtnl_unlock in slcan_open
NFC: fdp: Fix a signedness bug in fdp_nci_send_patch()
net: stmmac: dwmac-rk: fix error path in rk_gmac_probe
net_sched: keep alloc_hash updated after hash allocation
net_sched: cls_route: remove the right filter from hashtable
net: qmi_wwan: add support for ASKEY WWHC050
* net/packet: tpacket_rcv: avoid a producer race condition
net/packet/af_packet.c
net/packet/internal.h
net: mvneta: Fix the case where the last poll did not process all rx
net: dsa: Fix duplicate frames flooded by learning
net: cbs: Fix software cbs to consider packet sending time
mlxsw: spectrum_mr: Fix list iteration in error path
macsec: restrict to ethernet devices
hsr: fix general protection fault in hsr_addr_is_self()
geneve: move debug check after netdev unregister
* Revert "drm/dp_mst: Skip validating ports during destruction, just ref"
drivers/gpu/drm/drm_dp_mst_topology.c
mmc: sdhci-tegra: Fix busy detection by enabling MMC_CAP_NEED_RSP_BUSY
mmc: sdhci-omap: Fix busy detection by enabling MMC_CAP_NEED_RSP_BUSY
mmc: core: Respect MMC_CAP_NEED_RSP_BUSY for eMMC sleep command
mmc: core: Respect MMC_CAP_NEED_RSP_BUSY for erase/trim/discard
* mmc: core: Allow host controllers to require R1B for CMD6
include/linux/mmc/host.h
* ANDROID: GKI: block: resolve ABI diff when CONFIG_BLK_DEV_BSG is unset
include/linux/blkdev.h
include/linux/bsg.h
* ANDROID: GKI: bfq-iosched: update struct elevator_mq_ops ABI
include/linux/elevator.h
* ANDROID: GKI: locking/rwsem: add vendor field to struct rw_semaphore
include/linux/rwsem.h
* ANDROID: GKI: fs: add umount_end() function to struct super_operations
include/linux/fs.h
* ANDROID: GKI: perf: Add fields for CPU hotplug feature
include/linux/perf_event.h
* ANDROID: GKI: perf: Add field for struct perf_event
include/linux/perf_event.h
* ANDROID: GKI: cpuset: add field for task affinity for cpusets
include/linux/sched.h
init/init_task.c
UPSTREAM: ubifs: wire up FS_IOC_GET_ENCRYPTION_NONCE
* UPSTREAM: f2fs: wire up FS_IOC_GET_ENCRYPTION_NONCE
fs/f2fs/file.c
* UPSTREAM: ext4: wire up FS_IOC_GET_ENCRYPTION_NONCE
fs/ext4/ioctl.c
* UPSTREAM: fscrypt: add FS_IOC_GET_ENCRYPTION_NONCE ioctl
fs/crypto/fscrypt_private.h
fs/crypto/keysetup.c
fs/crypto/policy.c
include/linux/fscrypt.h
include/uapi/linux/fscrypt.h
* UPSTREAM: usb: raw_gadget: fix compilation warnings in uapi headers
include/uapi/linux/usb/raw_gadget.h
* BACKPORT: usb: gadget: add raw-gadget interface
drivers/usb/gadget/legacy/Kconfig
drivers/usb/gadget/legacy/Makefile
include/uapi/linux/usb/raw_gadget.h
* UPSTREAM: usb: gadget: move choice ... endchoice to legacy/Kconfig
drivers/usb/gadget/Kconfig
drivers/usb/gadget/legacy/Kconfig
* UPSTREAM: ipv6: ndisc: add support for 'PREF64' dns64 prefix identifier
include/net/ndisc.h
net/ipv6/ndisc.c
ANDROID: GKI: Removed cuttlefish configs
ANDROID: clang: update to 10.0.5
* FROMLIST: arm64: define __alloc_zeroed_user_highpage
arch/arm64/include/asm/page.h
* ANDROID: Incremental fs: Add INCFS_IOC_GET_FILLED_BLOCKS
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/format.c
fs/incfs/format.h
fs/incfs/vfs.c
include/uapi/linux/incrementalfs.h
* ANDROID: Incremental fs: Fix two typos
fs/incfs/data_mgmt.c
fs/incfs/integrity.c
ANDROID: GKI: Update ABI
* ANDROID: GKI: power_supply: add more soc properties
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
ANDROID: GKI: Update ABI
* ANDROID: GKI: google_battery: return string type for serial_number property
drivers/power/supply/power_supply_sysfs.c
* ANDROID: GKI: power: supply: Add APSD based power-supply properties
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: supply: Remove "Wipower" PSY type
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: supply: Add support for HVDCP_3P5
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: Define Debug Accessory Mode
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: supply: Add POWER_SUPPLY_PROP_AICL_*
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: supply: Add POWER_SUPPLY_PROP_ALIGNMENT
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: Add CP_ISNS_SLAVE power supply property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: add properties to report parallel connection topology
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: add POWER_SUPPLY_PROP_IRQ_STATUS property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: supply: add CHARGE_CHARGER_STATE property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: supply: Add POWER_SUPPLY_PROP_PTMC_ID
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: supply: Add POWER_SUPPLY_PROP_OTG_FASTROLESWAP
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: supply: Add VOLTAGE_STEP property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: supply: Add AICL_DONE parameter
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: Add operating frequency property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: supply: Add POWER_SUPPLY_PROP_CC_UAH
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: supply: Add POWER_SUPPLY_PROP_VOLTAGE_FIFO
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: supply: Add capacity and resistance estimates
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: Add vendor specific dead battery property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power-supply: add ADAPTER_DETAILS power supply property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: supply: Add POWER_SUPPLY_PROP_CHARGE_DISABLE
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: power_supply: Add property to display skin thermal status
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: Add properties to support PPS constant current(CC) mode
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: power_supply: Add REAL_CAPACITY property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: Add VOLTAGE_MAX_LIMIT power supply property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: Add DC_RESET power-supply property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: Add "THERM_ICL_LIMIT" property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: add CHIP_VERSION property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power-supply: Add VOLTAGE_VPH power supply property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: Add SCALE_MODE_EN power-supply property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: Add local extensions of string property names properly
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: add batt_age_level property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power-supply: Add CC_SOC power supply property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: add property to disable QC userspace optimizations
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: power_supply: Add FG_RESET power supply property
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power_supply: Add power supply type "Charge Pump"
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: supply: Add snapshot of power supply framework files
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: power_supply: Add property CHARGE_COUNTER_EXT and 64-bit precision properties
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: power_supply: add POWER_SUPPLY_PROP_CHARGE_ENABLED
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: power_supply: add POWER_SUPPLY_PROP_USB_OTG
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
* ANDROID: GKI: power: power_supply: Add custom property for USB High Current mode
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h
UPSTREAM: coresight: Potential uninitialized variable in probe()
ANDROID: GKI: Update ABI.
* ANDROID: GKI: Add API to create pagetable mappings.
arch/arm64/mm/mmu.c
include/linux/memblock.h
* ANDROID: GKI: drivers: usb: Add functions usb_func_ep_queue/usb_func_wakeup
drivers/usb/gadget/composite.c
drivers/usb/gadget/udc/core.c
include/linux/usb/composite.h
include/linux/usb/gadget.h
* ANDROID: GKI: Add API usb_ep_autoconfig_by_name
drivers/usb/gadget/epautoconf.c
include/linux/usb/gadget.h
* ANDROID: GKI: usb: core: Add helper function to return controller id
drivers/usb/core/hcd.c
drivers/usb/core/usb.c
include/linux/usb.h
include/linux/usb/hcd.h
ANDROID: dm-bow: Fix free_show value is incorrect
ANDROID: GKI: update ABI after fixing cfg80211_chan_def diff
* BACKPORT: nl80211: Add support for EDMG channels
include/net/cfg80211.h
include/uapi/linux/nl80211.h
net/wireless/chan.c
net/wireless/nl80211.c
net/wireless/util.c
* FROMGIT: sched/rt: cpupri_find: Trigger a full search as fallback
kernel/sched/cpupri.c
* FROMGIT: sched/rt: Remove unnecessary push for unfit tasks
kernel/sched/rt.c
* BACKPORT: FROMGIT: sched/rt: Allow pulling unfitting task
kernel/sched/rt.c
* FROMGIT: sched/rt: Optimize cpupri_find() on non-heterogenous systems
kernel/sched/cpupri.c
kernel/sched/cpupri.h
kernel/sched/rt.c
* FROMGIT: sched/rt: Re-instate old behavior in select_task_rq_rt()
kernel/sched/rt.c
* BACKPORT: FROMGIT: sched/rt: cpupri_find: Implement fallback mechanism for !fit case
kernel/sched/cpupri.c
ANDROID: GKI: re-enable LTO, CFI and SCS
Merge 4.19.113 into android-4.19
Linux 4.19.113
staging: greybus: loopback_test: fix potential path truncations
staging: greybus: loopback_test: fix potential path truncation
drm/bridge: dw-hdmi: fix AVI frame colorimetry
* arm64: smp: fix crash_smp_send_stop() behaviour
arch/arm64/kernel/smp.c
* arm64: smp: fix smp_send_stop() behaviour
arch/arm64/kernel/smp.c
ALSA: hda/realtek: Fix pop noise on ALC225
* Revert "ipv6: Fix handling of LLA with VRF and sockets bound to VRF"
net/ipv6/tcp_ipv6.c
Revert "vrf: mark skb for multicast or link-local as enslaved to VRF"
* futex: Unbreak futex hashing
kernel/futex.c
* futex: Fix inode life-time issue
fs/inode.c
include/linux/fs.h
include/linux/futex.h
kernel/futex.c
* kbuild: Disable -Wpointer-to-enum-cast
scripts/Makefile.extrawarn
iio: light: vcnl4000: update sampling periods for vcnl4200
USB: cdc-acm: fix rounding error in TIOCSSERIAL
USB: cdc-acm: fix close_delay and closing_wait units in TIOCSSERIAL
* x86/mm: split vmalloc_sync_all()
include/linux/vmalloc.h
kernel/notifier.c
mm/vmalloc.c
* page-flags: fix a crash at SetPageError(THP_SWAP)
include/linux/page-flags.h
* mm, slub: prevent kmalloc_node crashes and memory leaks
mm/slub.c
* mm: slub: be more careful about the double cmpxchg of freelist
mm/slub.c
* memcg: fix NULL pointer dereference in __mem_cgroup_usage_unregister_event
mm/memcontrol.c
* drm/lease: fix WARNING in idr_destroy
drivers/gpu/drm/drm_lease.c
drm/amd/amdgpu: Fix GPR read from debugfs (v2)
btrfs: fix log context list corruption after rename whiteout error
* xhci: Do not open code __print_symbolic() in xhci trace events
drivers/usb/host/xhci-trace.h
* rtc: max8907: add missing select REGMAP_IRQ
drivers/rtc/Kconfig
intel_th: pci: Add Elkhart Lake CPU support
intel_th: Fix user-visible error codes
staging/speakup: fix get_word non-space look-ahead
staging: greybus: loopback_test: fix poll-mask build breakage
staging: rtl8188eu: Add device id for MERCUSYS MW150US v2
mmc: sdhci-of-at91: fix cd-gpios for SAMA5D2
mmc: rtsx_pci: Fix support for speed-modes that relies on tuning
iio: adc: at91-sama5d2_adc: fix differential channels in triggered mode
iio: magnetometer: ak8974: Fix negative raw values in sysfs
iio: trigger: stm32-timer: disable master mode when stopping
iio: st_sensors: remap SMO8840 to LIS2DH12
ALSA: pcm: oss: Remove WARNING from snd_pcm_plug_alloc() checks
ALSA: pcm: oss: Avoid plugin buffer overflow
ALSA: seq: oss: Fix running status after receiving sysex
ALSA: seq: virmidi: Fix running status after receiving sysex
ALSA: line6: Fix endless MIDI read loop
* usb: xhci: apply XHCI_SUSPEND_DELAY to AMD XHCI controller 1022:145c
drivers/usb/host/xhci-pci.c
USB: serial: pl2303: add device-id for HP LD381
* usb: host: xhci-plat: add a shutdown
drivers/usb/host/xhci-plat.c
USB: serial: option: add ME910G1 ECM composition 0x110b
* usb: quirks: add NO_LPM quirk for RTL8153 based ethernet adapters
drivers/usb/core/quirks.c
* USB: Disable LPM on WD19's Realtek Hub
drivers/usb/core/quirks.c
parse-maintainers: Mark as executable
block, bfq: fix overwrite of bfq_group pointer in bfq_find_set_group()
xenbus: req->err should be updated before req->state
xenbus: req->body should be updated before req->state
drm/amd/display: fix dcc swath size calculations on dcn1
drm/amd/display: Clear link settings on MST disable connector
riscv: avoid the PIC offset of static percpu data in module beyond 2G limits
dm integrity: use dm_bio_record and dm_bio_restore
dm bio record: save/restore bi_end_io and bi_integrity
altera-stapl: altera_get_note: prevent write beyond end of 'key'
drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer
drm/exynos: dsi: fix workaround for the legacy clock name
drm/exynos: dsi: propagate error value and silence meaningless warning
spi/zynqmp: remove entry that causes a cs glitch
spi: pxa2xx: Add CS control clock quirk
ARM: dts: dra7: Add "dma-ranges" property to PCIe RC DT nodes
powerpc: Include .BTF section
spi: qup: call spi_qup_pm_resume_runtime before suspending
drm/mediatek: Find the cursor plane instead of hard coding it
ANDROID: ABI: Update ABI with CONFIG_SOC_BUS enabled
* ANDROID: GKI: Add CONFIG_SOC_BUS to gki_defconfig
init/Kconfig.gki
ANDROID: kbuild: do not merge .section..* into .section in modules
* ANDROID: scsi: ufs: add ->map_sg_crypto() variant op
drivers/scsi/ufs/ufshcd-crypto.c
drivers/scsi/ufs/ufshcd-crypto.h
drivers/scsi/ufs/ufshcd.c
drivers/scsi/ufs/ufshcd.h
ANDROID: GKI: Update ABI after fixing vm_event_item diffs
* ANDROID: GKI: mm: vmstat: add pageoutclean
include/linux/vm_event_item.h
mm/filemap.c
mm/vmstat.c
* ANDROID: GKI: mm: add struct/enum fields for SPECULATIVE_PAGE_FAULTS
include/linux/mm.h
include/linux/mm_types.h
include/linux/vm_event_item.h
mm/vmstat.c
ANDROID: GKI: Update ABI after fixing mm diffs
* ANDROID: GKI: Add write_pending and max_writes fields to swap_info_struct
include/linux/swap.h
* ANDROID: GKI: memblock: Add memblock_overlaps_memory() to fix ABI diff
include/linux/memblock.h
mm/memblock.c
* ANDROID: GKI: net: remove conditional members causing ABI diffs
include/net/net_namespace.h
include/net/netns/netfilter.h
include/net/netns/x_tables.h
* ANDROID: GKI: mm: introduce NR_UNRECLAIMABLE_PAGES
include/linux/mmzone.h
mm/vmstat.c
ANDROID: GKI: Update ABI
* ANDROID: GKI: sound: soc: Resolve ABI diff for struct snd_compr_stream
include/sound/compress_driver.h
include/sound/soc.h
* ANDROID: GKI: sound: pcm: Add field hw_no_buffer to snd_pcm_substream
include/sound/pcm.h
* ANDROID: GKI: ALSA: core: Add snd_soc_card_change_online_state() API
include/sound/core.h
include/sound/soc.h
sound/core/init.c
sound/soc/soc-core.c
* ANDROID: GKI: SoC: core: Introduce macro SOC_SINGLE_MULTI_EXT
include/sound/soc.h
sound/soc/soc-core.c
* ANDROID: GKI: ALSA: PCM: User control API implementation
include/sound/pcm.h
sound/core/pcm.c
sound/core/pcm_lib.c
* ANDROID: GKI: ALSA: PCM: volume API implementation
include/sound/pcm.h
sound/core/pcm.c
sound/core/pcm_lib.c
* ANDROID: GKI: kernel: tick-sched: Add API to get the next wakeup for a CPU
include/linux/tick.h
kernel/time/tick-sched.c
* ANDROID: GKI: extcon: Add extcon_register_blocking_notifier API.
drivers/extcon/extcon.c
drivers/extcon/extcon.h
include/linux/extcon.h
* UPSTREAM: bpf: Explicitly memset some bpf info structures declared on the stack
kernel/bpf/btf.c
kernel/bpf/syscall.c
* UPSTREAM: bpf: Explicitly memset the bpf_attr structure
kernel/bpf/syscall.c
ANDROID: ABI: Update abi after enabling CONFIG_USB_PHY
* ANDROID: GKI: Enable CONFIG_USB_PHY for usb drivers like dwc3
init/Kconfig.gki
* UPSTREAM: driver core: Add device link support for SYNC_STATE_ONLY flag
drivers/base/core.c
include/linux/device.h
* ANDROID: Conflict fix for merging 4.19.112
drivers/base/core.c
Merge 4.19.112 into android-4.19
* Revert "ANDROID: driver core: Add device link support for SYNC_STATE_ONLY flag"
drivers/base/core.c
include/linux/device.h
ANDROID: update the ABI xml representation
* ANDROID: GKI: Enable V4L2 hidden configs
init/Kconfig.gki
Linux 4.19.112
* ipv4: ensure rcu_read_lock() in cipso_v4_error()
net/ipv4/cipso_ipv4.c
efi: Fix debugobjects warning on 'efi_rts_work'
* HID: google: add moonball USB id
drivers/hid/hid-ids.h
* mm: slub: add missing TID bump in kmem_cache_alloc_bulk()
mm/slub.c
ARM: 8958/1: rename missed uaccess .fixup section
ARM: 8957/1: VDSO: Match ARMv8 timer in cntvct_functional()
* net: qrtr: fix len of skb_put_padto in qrtr_node_enqueue
net/qrtr/qrtr.c
* driver core: Fix creation of device links with PM-runtime flags
drivers/base/core.c
* driver core: Remove device link creation limitation
drivers/base/core.c
drivers/base/power/runtime.c
include/linux/device.h
* driver core: Add device link flag DL_FLAG_AUTOPROBE_CONSUMER
drivers/base/core.c
drivers/base/dd.c
include/linux/device.h
* driver core: Make driver core own stateful device links
drivers/base/core.c
* driver core: Fix adding device links to probing suppliers
drivers/base/core.c
* driver core: Remove the link if there is no driver with AUTO flag
drivers/base/core.c
mmc: sdhci-omap: Fix Tuning procedure for temperatures < -20C
mmc: sdhci-omap: Don't finish_mrq() on a command error during tuning
wimax: i2400: Fix memory leak in i2400m_op_rfkill_sw_toggle
wimax: i2400: fix memory leak
* jbd2: fix data races at struct journal_head
fs/jbd2/transaction.c
sfc: fix timestamp reconstruction at 16-bit rollover points
* net: rmnet: fix packet forwarding in rmnet bridge mode
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c
* net: rmnet: fix bridge mode bugs
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.h
* net: rmnet: use upper/lower device infrastructure
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
* net: rmnet: do not allow to change mux id if mux id is duplicated
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
* net: rmnet: remove rcu_read_lock in rmnet_force_unassociate_device()
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
* net: rmnet: fix suspicious RCU usage
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c
* net: rmnet: fix NULL pointer dereference in rmnet_changelink()
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
* net: rmnet: fix NULL pointer dereference in rmnet_newlink()
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
hinic: fix a bug of setting hw_ioctxt
hinic: fix a irq affinity bug
slip: not call free_netdev before rtnl_unlock in slip_open
* signal: avoid double atomic counter increments for user accounting
kernel/signal.c
mac80211: rx: avoid RCU list traversal under mutex
net: ks8851-ml: Fix IRQ handling and locking
net: usb: qmi_wwan: restore mtu min/max values after raw_ip switch
scsi: libfc: free response frame from GPN_ID
* cfg80211: check reg_rule for NULL in handle_channel_custom()
net/wireless/reg.c
HID: i2c-hid: add Trekstor Surfbook E11B to descriptor override
* HID: apple: Add support for recent firmware on Magic Keyboards
drivers/hid/hid-apple.c
ACPI: watchdog: Allow disabling WDAT at boot
* mmc: host: Fix Kconfig warnings on keystone_defconfig
drivers/mmc/host/Kconfig
* mmc: sdhci-omap: Workaround errata regarding SDR104/HS200 tuning failures (i929)
drivers/mmc/host/Kconfig
mmc: sdhci-omap: Add platform specific reset callback
perf/amd/uncore: Replace manual sampling check with CAP_NO_INTERRUPT flag
ANDROID: GKI: Enable CONFIG_BACKLIGHT_CLASS_DEVICE in gki_defconfig
* ANDROID: Incremental fs: Add INCFS_IOC_PERMIT_FILL
fs/incfs/vfs.c
include/uapi/linux/incrementalfs.h
* ANDROID: Incremental fs: Remove signature checks from kernel
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/format.c
fs/incfs/format.h
fs/incfs/integrity.c
fs/incfs/integrity.h
fs/incfs/vfs.c
include/uapi/linux/incrementalfs.h
* ANDROID: Incremental fs: Pad hash blocks
fs/incfs/integrity.c
* ANDROID: Incremental fs: Make fill block an ioctl
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/vfs.c
include/uapi/linux/incrementalfs.h
* ANDROID: Incremental fs: Remove all access_ok checks
fs/incfs/vfs.c
Merge 4.19.111 into android-4.19
Linux 4.19.111
batman-adv: Avoid free/alloc race when handling OGM2 buffer
efi: Add a sanity check to efivar_store_raw()
net/smc: cancel event worker during device removal
net/smc: check for valid ib_client_data
* ipv6: restrict IPV6_ADDRFORM operation
net/ipv6/ipv6_sockglue.c
i2c: acpi: put device when verifying client fails
iommu/vt-d: Ignore devices with out-of-spec domain number
iommu/vt-d: Fix the wrong printing in RHSA parsing
netfilter: nft_tunnel: add missing attribute validation for tunnels
netfilter: nft_payload: add missing attribute validation for payload csum flags
netfilter: cthelper: add missing attribute validation for cthelper
perf bench futex-wake: Restore thread count default to online CPU count
* nl80211: add missing attribute validation for channel switch
net/wireless/nl80211.c
* nl80211: add missing attribute validation for beacon report scanning
net/wireless/nl80211.c
* nl80211: add missing attribute validation for critical protocol indication
net/wireless/nl80211.c
i2c: gpio: suppress error on probe defer
drm/i915/gvt: Fix unnecessary schedule timer when no vGPU exits
* pinctrl: core: Remove extra kref_get which blocks hogs being freed
drivers/pinctrl/core.c
pinctrl: meson-gxl: fix GPIOX sdio pins
batman-adv: Don't schedule OGM for disabled interface
iommu/vt-d: Fix a bug in intel_iommu_iova_to_phys() for huge page
iommu/vt-d: dmar: replace WARN_TAINT with pr_warn + add_taint
* iommu/dma: Fix MSI reservation allocation
drivers/iommu/dma-iommu.c
x86/mce: Fix logic and comments around MSR_PPIN_CTL
mt76: fix array overflow on receiving too many fragments for a packet
* efi: Make efi_rts_work accessible to efi page fault handler
include/linux/efi.h
efi: Fix a race and a buffer overflow while reading efivars via sysfs
macintosh: windfarm: fix MODINFO regression
ARC: define __ALIGN_STR and __ALIGN symbols for ARC
KVM: x86: clear stale x86_emulate_ctxt->intercept value
gfs2_atomic_open(): fix O_EXCL|O_CREAT handling on cold dcache
* cifs_atomic_open(): fix double-put on late allocation failure
fs/open.c
ktest: Add timeout for ssh sync testing
drm/amd/display: remove duplicated assignment to grph_obj_type
* workqueue: don't use wq_select_unbound_cpu() for bound works
kernel/workqueue.c
* netfilter: x_tables: xt_mttg_seq_next should increase position index
net/netfilter/x_tables.c
netfilter: xt_recent: recent_seq_next should increase position index
netfilter: synproxy: synproxy_cpu_seq_next should increase position index
* netfilter: nf_conntrack: ct_cpu_seq_next should increase position index
net/netfilter/nf_conntrack_standalone.c
iommu/vt-d: quirk_ioat_snb_local_iommu: replace WARN_TAINT with pr_warn + add_taint
virtio-blk: fix hw_queue stopped on arbitrary error
iwlwifi: mvm: Do not require PHY_SKU NVM section for 3168 devices
* cgroup: Iterate tasks that did not finish do_exit()
include/linux/cgroup.h
kernel/cgroup/cgroup.c
* cgroup: cgroup_procs_next should increase position index
kernel/cgroup/cgroup.c
macvlan: add cond_resched() during multicast processing
net: fec: validate the new settings in fec_enet_set_coalesce()
* slip: make slhc_compress() more robust against malicious packets
drivers/net/slip/slhc.c
* bonding/alb: make sure arp header is pulled before accessing it
drivers/net/bonding/bond_alb.c
devlink: validate length of region addr/len
* tipc: add missing attribute validation for MTU property
net/tipc/netlink.c
* net/ipv6: remove the old peer route if change it to a new one
net/ipv6/addrconf.c
* net/ipv6: need update peer route when modify metric
net/ipv6/addrconf.c
selftests/net/fib_tests: update addr_metric_test for peer route testing
* net: phy: fix MDIO bus PM PHY resuming
drivers/net/phy/phy_device.c
include/linux/phy.h
nfc: add missing attribute validation for vendor subcommand
nfc: add missing attribute validation for deactivate target
nfc: add missing attribute validation for SE API
team: add missing attribute validation for array index
team: add missing attribute validation for port ifindex
net: fq: add missing attribute validation for orphan mask
macsec: add missing attribute validation for port
can: add missing attribute validation for termination
nl802154: add missing attribute validation for dev_type
nl802154: add missing attribute validation
* fib: add missing attribute validation for tun_id
include/net/fib_rules.h
devlink: validate length of param values
* net: memcg: fix lockdep splat in inet_csk_accept()
net/ipv4/inet_connection_sock.c
* net: memcg: late association of sock to memcg
mm/memcontrol.c
net/core/sock.c
net/ipv4/inet_connection_sock.c
* cgroup: memcg: net: do not associate sock with unrelated cgroup
kernel/cgroup/cgroup.c
mm/memcontrol.c
bnxt_en: reinitialize IRQs when MTU is modified
sfc: detach from cb_page in efx_copy_channel()
* r8152: check disconnect status after long sleep
drivers/net/usb/r8152.c
net: systemport: fix index check to avoid an array out of bounds access
net: stmmac: dwmac1000: Disable ACS if enhanced descs are not used
* net/packet: tpacket_rcv: do not increment ring index on drop
net/packet/af_packet.c
net: nfc: fix bounds checking bugs on "pipe"
net: macsec: update SCI upon MAC address change.
* netlink: Use netlink header as base to calculate bad attribute offset
net/netlink/af_netlink.c
* net/ipv6: use configured metric when add peer route
net/ipv6/addrconf.c
ipvlan: don't deref eth hdr before checking it's set
ipvlan: do not use cond_resched_rcu() in ipvlan_process_multicast()
ipvlan: do not add hardware address of master to its unicast filter list
ipvlan: add cond_resched_rcu() while processing muticast backlog
* ipv6/addrconf: call ipv6_mc_up() for non-Ethernet interface
net/ipv6/addrconf.c
* inet_diag: return classid for all socket types
include/linux/inet_diag.h
net/ipv4/inet_diag.c
net/ipv4/udp_diag.c
net/sctp/diag.c
* gre: fix uninit-value in __iptunnel_pull_header
net/ipv4/gre_demux.c
cgroup, netclassid: periodically release file_lock on classid updating
* net: phy: Avoid multiple suspends
drivers/net/phy/phy_device.c
* phy: Revert toggling reset changes.
drivers/net/phy/phy_device.c
* ANDROID: kbuild: fix module linker script flags for LTO
Makefile
* ANDROID: kbuild: avoid excessively long argument lists
scripts/Makefile.build
* UPSTREAM: cgroup: Iterate tasks that did not finish do_exit()
include/linux/cgroup.h
kernel/cgroup/cgroup.c
ANDROID: update the ABI xml representation
Revert "ANDROID: gki_defconfig: Temporarily disable CFI"
* ANDROID: GKI: dma-buf: Add support for XXX_cpu_access_umapped ops
drivers/dma-buf/dma-buf.c
include/linux/dma-buf.h
include/uapi/linux/dma-buf.h
* ANDROID: GKI: dma-buf: Add support to set a destructor on a dma-buf
drivers/dma-buf/dma-buf.c
include/linux/dma-buf.h
* ANDROID: GKI: dma-buf: use spinlock to protect set/get name operation
drivers/dma-buf/dma-buf.c
include/linux/dma-buf.h
* ANDROID: GKI: dma-buf: Add support to get flags associated with a buffer
drivers/dma-buf/dma-buf.c
include/linux/dma-buf.h
* ANDROID: GKI: dma-buf: Add support for mapping buffers with DMA attributes
include/linux/dma-buf.h
* ANDROID: GKI: dma-buf: Add support for partial cache maintenance
drivers/dma-buf/dma-buf.c
include/linux/dma-buf.h
* ANDROID: GKI: arm64: mm: Support setting removed_dma_ops in arch_setup_dma_ops
arch/arm64/mm/dma-mapping.c
include/linux/dma-removed.h
* ANDROID: GKI: drivers: Add dma removed ops
include/linux/device.h
kernel/dma/Makefile
kernel/dma/removed.c
* ANDROID: GKI: add dma_map_ops remap/unremap operations
arch/arm64/mm/dma-mapping.c
include/linux/dma-mapping.h
ANDROID: Add build.config files for ARM 32-bit
ANDROID: GKI: update abi due to CONFIG_JUMP_LABEL being enabled
ANDROID: GKI: enable CONFIG_JUMP_LABEL
ANDROID: Add build.config.gki-debug.x86_64
ANDROID: Add build.config.gki-debug.aarch64
Change-Id: Ifef77d2201a3833e4970cc7617d45814990bc3cb
Signed-off-by: lucaswei <lucaswei@google.com>
|
||
|
|
9298a1e640 |
ANDROID: GKI: locking/rwsem: add vendor field to struct rw_semaphore
For ABI compatibility, we are adding a vendor field to support the
config CONFIG_RWSEM_PRIO_AWARE.
Bug: 151792119
Bug: 148872640
Signed-off-by: Maria Yu <aiquny@codeaurora.org>
Signed-off-by: Biao long <blong@codeaurora.org>
[willmcvicker: Only cherry-picked the ABI diff]
(cherry picked from commit
|
||
|
|
c4b6927bb6 |
locking/rwsem: for rwsem prio aware enhancement
When add into waiting list will be prio aware, lower prio value means higher priority task will get lock before lower priority task. Only try to preempt waiters with which task priority which is higher than DEFAULT_PRIO. To avoid starvation, add count to record how many waiters preempt to queue in wait list. If preempt count is exceed MAX_PREEMPT_ALLOWED, use simple FIFO to queue in the wait list until the wait list is empty. Change-Id: I4d5fe6a823a16c9762e2e2f416d34bdd701341c4 Signed-off-by: Maria Yu <aiquny@codeaurora.org> Signed-off-by: Biao long <blong@codeaurora.org> |
||
|
|
5a817641f6 |
locking/percpu-rwsem: Annotate rwsem ownership transfer by setting RWSEM_OWNER_UNKNOWN
The filesystem freezing code needs to transfer ownership of a rwsem embedded in a percpu-rwsem from the task that does the freezing to another one that does the thawing by calling percpu_rwsem_release() after freezing and percpu_rwsem_acquire() before thawing. However, the new rwsem debug code runs afoul with this scheme by warning that the task that releases the rwsem isn't the one that acquires it, as reported by Amir Goldstein: DEBUG_LOCKS_WARN_ON(sem->owner != get_current()) WARNING: CPU: 1 PID: 1401 at /home/amir/build/src/linux/kernel/locking/rwsem.c:133 up_write+0x59/0x79 Call Trace: percpu_up_write+0x1f/0x28 thaw_super_locked+0xdf/0x120 do_vfs_ioctl+0x270/0x5f1 ksys_ioctl+0x52/0x71 __x64_sys_ioctl+0x16/0x19 do_syscall_64+0x5d/0x167 entry_SYSCALL_64_after_hwframe+0x49/0xbe To work properly with the rwsem debug code, we need to annotate that the rwsem ownership is unknown during the tranfer period until a brave soul comes forward to acquire the ownership. During that period, optimistic spinning will be disabled. Reported-by: Amir Goldstein <amir73il@gmail.com> Tested-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Waiman Long <longman@redhat.com> Acked-by: Peter Zijlstra <peterz@infradead.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Davidlohr Bueso <dave@stgolabs.net> Cc: Jan Kara <jack@suse.cz> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Matthew Wilcox <willy@infradead.org> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Theodore Y. Ts'o <tytso@mit.edu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Will Deacon <will.deacon@arm.com> Cc: linux-fsdevel@vger.kernel.org Link: http://lkml.kernel.org/r/1526420991-21213-3-git-send-email-longman@redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
8c5db92a70 |
Merge branch 'linus' into locking/core, to resolve conflicts
Conflicts: include/linux/compiler-clang.h include/linux/compiler-gcc.h include/linux/compiler-intel.h include/uapi/linux/stddef.h Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
b24413180f |
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
Many source files in the tree are missing licensing information, which makes it harder for compliance tools to determine the correct license. By default all files without license information are under the default license of the kernel, which is GPL version 2. Update the files which contain no license information with the 'GPL-2.0' SPDX license identifier. The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text. This patch is based on work done by Thomas Gleixner and Kate Stewart and Philippe Ombredanne. How this work was done: Patches were generated and checked against linux-4.14-rc6 for a subset of the use cases: - file had no licensing information it it. - file was a */uapi/* one with no licensing information in it, - file was a */uapi/* one with existing licensing information, Further patches will be generated in subsequent months to fix up cases where non-standard license headers were used, and references to license had to be inferred by heuristics based on keywords. The analysis to determine which SPDX License Identifier to be applied to a file was done in a spreadsheet of side by side results from of the output of two independent scanners (ScanCode & Windriver) producing SPDX tag:value files created by Philippe Ombredanne. Philippe prepared the base worksheet, and did an initial spot review of a few 1000 files. The 4.13 kernel was the starting point of the analysis with 60,537 files assessed. Kate Stewart did a file by file comparison of the scanner results in the spreadsheet to determine which SPDX license identifier(s) to be applied to the file. She confirmed any determination that was not immediately clear with lawyers working with the Linux Foundation. Criteria used to select files for SPDX license identifier tagging was: - Files considered eligible had to be source code files. - Make and config files were included as candidates if they contained >5 lines of source - File already had some variant of a license header in it (even if <5 lines). All documentation files were explicitly excluded. The following heuristics were used to determine which SPDX license identifiers to apply. - when both scanners couldn't find any license traces, file was considered to have no license information in it, and the top level COPYING file license applied. For non */uapi/* files that summary was: SPDX license identifier # files ---------------------------------------------------|------- GPL-2.0 11139 and resulted in the first patch in this series. If that file was a */uapi/* path one, it was "GPL-2.0 WITH Linux-syscall-note" otherwise it was "GPL-2.0". Results of that was: SPDX license identifier # files ---------------------------------------------------|------- GPL-2.0 WITH Linux-syscall-note 930 and resulted in the second patch in this series. - if a file had some form of licensing information in it, and was one of the */uapi/* ones, it was denoted with the Linux-syscall-note if any GPL family license was found in the file or had no licensing in it (per prior point). Results summary: SPDX license identifier # files ---------------------------------------------------|------ GPL-2.0 WITH Linux-syscall-note 270 GPL-2.0+ WITH Linux-syscall-note 169 ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) 21 ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 17 LGPL-2.1+ WITH Linux-syscall-note 15 GPL-1.0+ WITH Linux-syscall-note 14 ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) 5 LGPL-2.0+ WITH Linux-syscall-note 4 LGPL-2.1 WITH Linux-syscall-note 3 ((GPL-2.0 WITH Linux-syscall-note) OR MIT) 3 ((GPL-2.0 WITH Linux-syscall-note) AND MIT) 1 and that resulted in the third patch in this series. - when the two scanners agreed on the detected license(s), that became the concluded license(s). - when there was disagreement between the two scanners (one detected a license but the other didn't, or they both detected different licenses) a manual inspection of the file occurred. - In most cases a manual inspection of the information in the file resulted in a clear resolution of the license that should apply (and which scanner probably needed to revisit its heuristics). - When it was not immediately clear, the license identifier was confirmed with lawyers working with the Linux Foundation. - If there was any question as to the appropriate license identifier, the file was flagged for further research and to be revisited later in time. In total, over 70 hours of logged manual review was done on the spreadsheet to determine the SPDX license identifiers to apply to the source files by Kate, Philippe, Thomas and, in some cases, confirmation by lawyers working with the Linux Foundation. Kate also obtained a third independent scan of the 4.13 code base from FOSSology, and compared selected files where the other two scanners disagreed against that SPDX file, to see if there was new insights. The Windriver scanner is based on an older version of FOSSology in part, so they are related. Thomas did random spot checks in about 500 files from the spreadsheets for the uapi headers and agreed with SPDX license identifier in the files he inspected. For the non-uapi files Thomas did random spot checks in about 15000 files. In initial set of patches against 4.14-rc6, 3 files were found to have copy/paste license identifier errors, and have been fixed to reflect the correct identifier. Additionally Philippe spent 10 hours this week doing a detailed manual inspection and review of the 12,461 patched files from the initial patch version early this week with: - a full scancode scan run, collecting the matched texts, detected license ids and scores - reviewing anything where there was a license detected (about 500+ files) to ensure that the applied SPDX license was correct - reviewing anything where there was no detection but the patch license was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied SPDX license was correct This produced a worksheet with 20 files needing minor correction. This worksheet was then exported into 3 different .csv files for the different types of files to be modified. These .csv files were then reviewed by Greg. Thomas wrote a script to parse the csv files and add the proper SPDX tag to the file, in the format that the file expected. This script was further refined by Greg based on the output to detect more types of files automatically and to distinguish between header and source .c files (which need different comment types.) Finally Greg ran the script using the .csv files to generate the patches. Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|
|
76f8507f7a |
locking/rwsem: Add down_read_killable()
Similar to down_read() and down_write_killable(), add killable version of down_read(), based on __down_read_killable() function, added in previous patches. Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: arnd@arndb.de Cc: avagin@virtuozzo.com Cc: davem@davemloft.net Cc: fenghua.yu@intel.com Cc: gorcunov@virtuozzo.com Cc: heiko.carstens@de.ibm.com Cc: hpa@zytor.com Cc: ink@jurassic.park.msu.ru Cc: mattst88@gmail.com Cc: rientjes@google.com Cc: rth@twiddle.net Cc: schwidefsky@de.ibm.com Cc: tony.luck@intel.com Cc: viro@zeniv.linux.org.uk Link: http://lkml.kernel.org/r/150670119884.23930.2585570605960763239.stgit@localhost.localdomain Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
83ced169d9 |
locking/rwsem-xadd: Add killable versions of rwsem_down_read_failed()
Rename rwsem_down_read_failed() in __rwsem_down_read_failed_common() and teach it to abort waiting in case of pending signals and killable state argument passed. Note, that we shouldn't wake anybody up in EINTR path, as: We check for (waiter.task) under spinlock before we go to out_nolock path. Current task wasn't able to be woken up, so there are a writer, owning the sem, or a writer, which is the first waiter. In the both cases we shouldn't wake anybody. If there is a writer, owning the sem, and we were the only waiter, remove RWSEM_WAITING_BIAS, as there are no waiters anymore. Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: arnd@arndb.de Cc: avagin@virtuozzo.com Cc: davem@davemloft.net Cc: fenghua.yu@intel.com Cc: gorcunov@virtuozzo.com Cc: heiko.carstens@de.ibm.com Cc: hpa@zytor.com Cc: ink@jurassic.park.msu.ru Cc: mattst88@gmail.com Cc: rth@twiddle.net Cc: schwidefsky@de.ibm.com Cc: tony.luck@intel.com Link: http://lkml.kernel.org/r/149789534632.9059.2901382369609922565.stgit@localhost.localdomain Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
8ee62b1870 |
locking/rwsem: Convert sem->count to 'atomic_long_t'
Convert the rwsem count variable to an atomic_long_t since we use it
as an atomic variable. This also allows us to remove the
rwsem_atomic_{add,update}() "abstraction" which would now be an unnecesary
level of indirection. In follow up patches, we also remove the
rwsem_atomic_{add,update}() definitions across the various architectures.
Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Jason Low <jason.low2@hpe.com>
[ Build warning fixes on various architectures. ]
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Jason Low <jason.low2@hp.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Hurley <peter@hurleysoftware.com>
Cc: Terry Rudd <terry.rudd@hpe.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Waiman Long <Waiman.Long@hpe.com>
Link: http://lkml.kernel.org/r/1465017963-4839-2-git-send-email-jason.low2@hpe.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
|
||
|
|
887bddfa90 |
add down_write_killable_nested()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> |
||
|
|
916633a403 |
locking/rwsem: Provide down_write_killable()
Now that all the architectures implement the necessary glue code we can introduce down_write_killable(). The only difference wrt. regular down_write() is that the slow path waits in TASK_KILLABLE state and the interruption by the fatal signal is reported as -EINTR to the caller. Signed-off-by: Michal Hocko <mhocko@suse.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Chris Zankel <chris@zankel.net> Cc: David S. Miller <davem@davemloft.net> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Max Filippov <jcmvbkbc@gmail.com> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Signed-off-by: Davidlohr Bueso <dbueso@suse.de> Cc: Signed-off-by: Jason Low <jason.low2@hp.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Tony Luck <tony.luck@intel.com> Cc: linux-alpha@vger.kernel.org Cc: linux-arch@vger.kernel.org Cc: linux-ia64@vger.kernel.org Cc: linux-s390@vger.kernel.org Cc: linux-sh@vger.kernel.org Cc: linux-xtensa@linux-xtensa.org Cc: sparclinux@vger.kernel.org Link: http://lkml.kernel.org/r/1460041951-22347-12-git-send-email-mhocko@kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
d47996082f |
locking/rwsem: Introduce basis for down_write_killable()
Introduce a generic implementation necessary for down_write_killable(). This is a trivial extension of the already existing down_write() call which can be interrupted by SIGKILL. This patch doesn't provide down_write_killable() yet because arches have to provide the necessary pieces before. rwsem_down_write_failed() which is a generic slow path for the write lock is extended to take a task state and renamed to __rwsem_down_write_failed_common(). The return value is either a valid semaphore pointer or ERR_PTR(-EINTR). rwsem_down_write_failed_killable() is exported as a new way to wait for the lock and be killable. For rwsem-spinlock implementation the current __down_write() it updated in a similar way as __rwsem_down_write_failed_common() except it doesn't need new exports just visible __down_write_killable(). Architectures which are not using the generic rwsem implementation are supposed to provide their __down_write_killable() implementation and use rwsem_down_write_failed_killable() for the slow path. Signed-off-by: Michal Hocko <mhocko@suse.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Chris Zankel <chris@zankel.net> Cc: David S. Miller <davem@davemloft.net> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Max Filippov <jcmvbkbc@gmail.com> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Signed-off-by: Davidlohr Bueso <dbueso@suse.de> Cc: Signed-off-by: Jason Low <jason.low2@hp.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Tony Luck <tony.luck@intel.com> Cc: linux-alpha@vger.kernel.org Cc: linux-arch@vger.kernel.org Cc: linux-ia64@vger.kernel.org Cc: linux-s390@vger.kernel.org Cc: linux-sh@vger.kernel.org Cc: linux-xtensa@linux-xtensa.org Cc: sparclinux@vger.kernel.org Link: http://lkml.kernel.org/r/1460041951-22347-7-git-send-email-mhocko@kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
214e0aed63 |
locking/Documentation: Move locking related docs into Documentation/locking/
Specifically: Documentation/locking/lockdep-design.txt Documentation/locking/lockstat.txt Documentation/locking/mutex-design.txt Documentation/locking/rt-mutex-design.txt Documentation/locking/rt-mutex.txt Documentation/locking/spinlocks.txt Documentation/locking/ww-mutex-design.txt Signed-off-by: Davidlohr Bueso <davidlohr@hp.com> Acked-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: jason.low2@hp.com Cc: aswin@hp.com Cc: Alexei Starovoitov <ast@plumgrid.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Chris Mason <clm@fb.com> Cc: Dan Streetman <ddstreet@ieee.org> Cc: David Airlie <airlied@linux.ie> Cc: Davidlohr Bueso <davidlohr@hp.com> Cc: David S. Miller <davem@davemloft.net> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Jason Low <jason.low2@hp.com> Cc: Josef Bacik <jbacik@fusionio.com> Cc: Kees Cook <keescook@chromium.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Lubomir Rintel <lkundrak@v3.sk> Cc: Masanari Iida <standby24x7@gmail.com> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Randy Dunlap <rdunlap@infradead.org> Cc: Tim Chen <tim.c.chen@linux.intel.com> Cc: Vineet Gupta <vgupta@synopsys.com> Cc: fengguang.wu@intel.com Link: http://lkml.kernel.org/r/1406752916-3341-6-git-send-email-davidlohr@hp.com Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
5db6c6fefb |
locking/rwsem: Add CONFIG_RWSEM_SPIN_ON_OWNER
Just like with mutexes (CONFIG_MUTEX_SPIN_ON_OWNER), encapsulate the dependencies for rwsem optimistic spinning. No logical changes here as it continues to depend on both SMP and the XADD algorithm variant. Signed-off-by: Davidlohr Bueso <davidlohr@hp.com> Acked-by: Jason Low <jason.low2@hp.com> [ Also make it depend on ARCH_SUPPORTS_ATOMIC_RMW. ] Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/1405112406-13052-2-git-send-email-davidlohr@hp.com Cc: aswin@hp.com Cc: Chris Mason <clm@fb.com> Cc: Davidlohr Bueso <davidlohr@hp.com> Cc: Josef Bacik <jbacik@fusionio.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Waiman Long <Waiman.Long@hp.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
ce069fc920 |
locking/rwsem: Reduce the size of struct rw_semaphore
Recent optimistic spinning additions to rwsem provide significant performance benefits on many workloads on large machines. The cost of it was increasing the size of the rwsem structure by up to 128 bits. However, now that the previous patches in this series bring the overhead of struct optimistic_spin_queue to 32 bits, this patch reorders some fields in struct rw_semaphore such that we can reduce the overhead of the rwsem structure by 64 bits (on 64 bit systems). The extra overhead required for rwsem optimistic spinning would now be up to 8 additional bytes instead of up to 16 bytes. Additionally, the size of rwsem would now be more in line with mutexes. Signed-off-by: Jason Low <jason.low2@hp.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Scott Norton <scott.norton@hp.com> Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> Cc: Dave Chinner <david@fromorbit.com> Cc: Waiman Long <waiman.long@hp.com> Cc: Davidlohr Bueso <davidlohr@hp.com> Cc: Rik van Riel <riel@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Tim Chen <tim.c.chen@linux.intel.com> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Aswin Chandramouleeswaran <aswin@hp.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Chris Mason <clm@fb.com> Cc: Josef Bacik <jbacik@fusionio.com> Link: http://lkml.kernel.org/r/1405358872-3732-6-git-send-email-jason.low2@hp.com Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
4d9d951e6b |
locking/spinlocks/mcs: Introduce and use init macro and function for osq locks
Currently, we initialize the osq lock by directly setting the lock's values. It would be preferable if we use an init macro to do the initialization like we do with other locks. This patch introduces and uses a macro and function for initializing the osq lock. Signed-off-by: Jason Low <jason.low2@hp.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Scott Norton <scott.norton@hp.com> Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> Cc: Dave Chinner <david@fromorbit.com> Cc: Waiman Long <waiman.long@hp.com> Cc: Davidlohr Bueso <davidlohr@hp.com> Cc: Rik van Riel <riel@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Tim Chen <tim.c.chen@linux.intel.com> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Aswin Chandramouleeswaran <aswin@hp.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Chris Mason <clm@fb.com> Cc: Josef Bacik <jbacik@fusionio.com> Link: http://lkml.kernel.org/r/1405358872-3732-4-git-send-email-jason.low2@hp.com Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
90631822c5 |
locking/spinlocks/mcs: Convert osq lock to atomic_t to reduce overhead
The cancellable MCS spinlock is currently used to queue threads that are doing optimistic spinning. It uses per-cpu nodes, where a thread obtaining the lock would access and queue the local node corresponding to the CPU that it's running on. Currently, the cancellable MCS lock is implemented by using pointers to these nodes. In this patch, instead of operating on pointers to the per-cpu nodes, we store the CPU numbers in which the per-cpu nodes correspond to in atomic_t. A similar concept is used with the qspinlock. By operating on the CPU # of the nodes using atomic_t instead of pointers to those nodes, this can reduce the overhead of the cancellable MCS spinlock by 32 bits (on 64 bit systems). Signed-off-by: Jason Low <jason.low2@hp.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Scott Norton <scott.norton@hp.com> Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> Cc: Dave Chinner <david@fromorbit.com> Cc: Waiman Long <waiman.long@hp.com> Cc: Davidlohr Bueso <davidlohr@hp.com> Cc: Rik van Riel <riel@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Tim Chen <tim.c.chen@linux.intel.com> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Aswin Chandramouleeswaran <aswin@hp.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Chris Mason <clm@fb.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Josef Bacik <jbacik@fusionio.com> Link: http://lkml.kernel.org/r/1405358872-3732-3-git-send-email-jason.low2@hp.com Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
046a619d8e |
locking/spinlocks/mcs: Rename optimistic_spin_queue() to optimistic_spin_node()
Currently, the per-cpu nodes structure for the cancellable MCS spinlock is named "optimistic_spin_queue". However, in a follow up patch in the series we will be introducing a new structure that serves as the new "handle" for the lock. It would make more sense if that structure is named "optimistic_spin_queue". Additionally, since the current use of the "optimistic_spin_queue" structure are "nodes", it might be better if we rename them to "node" anyway. This preparatory patch renames all current "optimistic_spin_queue" to "optimistic_spin_node". Signed-off-by: Jason Low <jason.low2@hp.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Scott Norton <scott.norton@hp.com> Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> Cc: Dave Chinner <david@fromorbit.com> Cc: Waiman Long <waiman.long@hp.com> Cc: Davidlohr Bueso <davidlohr@hp.com> Cc: Rik van Riel <riel@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Tim Chen <tim.c.chen@linux.intel.com> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Aswin Chandramouleeswaran <aswin@hp.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Chris Mason <clm@fb.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Josef Bacik <jbacik@fusionio.com> Link: http://lkml.kernel.org/r/1405358872-3732-2-git-send-email-jason.low2@hp.com Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
dbb5eafa23 |
locking/rwsem: Fix warnings for CONFIG_RWSEM_GENERIC_SPINLOCK
Optimistic spinning is only used by the xadd variant of rw-semaphores. Make sure that we use the old version of the __RWSEM_INITIALIZER macro for systems that rely on the spinlock one, otherwise warnings can be triggered, such as the following reported on an arm box: ipc/ipcns_notifier.c:22:8: warning: excess elements in struct initializer [enabled by default] ipc/ipcns_notifier.c:22:8: warning: (near initialization for 'ipcns_chain.rwsem') [enabled by default] ipc/ipcns_notifier.c:22:8: warning: excess elements in struct initializer [enabled by default] ipc/ipcns_notifier.c:22:8: warning: (near initialization for 'ipcns_chain.rwsem') [enabled by default] Signed-off-by: Davidlohr Bueso <davidlohr@hp.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Tim Chen <tim.c.chen@linux.intel.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Paul McKenney <paulmck@linux.vnet.ibm.com> Cc: Michel Lespinasse <walken@google.com> Cc: Peter Hurley <peter@hurleysoftware.com> Cc: Alex Shi <alex.shi@linaro.org> Cc: Rik van Riel <riel@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Jason Low <jason.low2@hp.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Chris Mason <clm@fb.com> Cc: Josef Bacik <jbacik@fusionio.com> Link: http://lkml.kernel.org/r/1400545677.6399.10.camel@buesod1.americas.hpqcorp.net Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
4fc828e24c |
locking/rwsem: Support optimistic spinning
We have reached the point where our mutexes are quite fine tuned
for a number of situations. This includes the use of heuristics
and optimistic spinning, based on MCS locking techniques.
Exclusive ownership of read-write semaphores are, conceptually,
just about the same as mutexes, making them close cousins. To
this end we need to make them both perform similarly, and
right now, rwsems are simply not up to it. This was discovered
by both reverting commit
|
||
|
|
4a444b1f06 |
rwsem: add rwsem_is_contended
Btrfs needs a simple way to know if it needs to let go of it's read lock on a rwsem. Introduce rwsem_is_contended to check to see if there are any waiters on this rwsem currently. This is just a hueristic, it is meant to be light and not 100% accurate and called by somebody already holding on to the rwsem in either read or write. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <clm@fb.com> Acked-by: Ingo Molnar <mingo@kernel.org> |
||
|
|
84759c6d18 |
Revert "rw_semaphore: remove up/down_read_non_owner"
This reverts commit
|
||
|
|
e65b9ad222 |
lockdep, rwsem: fix down_write_nest_lock() if !CONFIG_DEBUG_LOCK_ALLOC
Commit
|
||
|
|
1b963c81b1 |
lockdep, rwsem: provide down_write_nest_lock()
down_write_nest_lock() provides a means to annotate locking scenario where an outer lock is guaranteed to serialize the order nested locks are being acquired. This is analogoue to already existing mutex_lock_nest_lock() and spin_lock_nest_lock(). Signed-off-by: Jiri Kosina <jkosina@suse.cz> Cc: Rik van Riel <riel@redhat.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Mel Gorman <mel@csn.ul.ie> Tested-by: Sedat Dilek <sedat.dilek@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
|
|
9ffc93f203 |
Remove all #inclusions of asm/system.h
Remove all #inclusions of asm/system.h preparatory to splitting and killing it. Performed with the following command: perl -p -i -e 's!^#\s*include\s*<asm/system[.]h>.*\n!!' `grep -Irl '^#\s*include\s*<asm/system[.]h>' *` Signed-off-by: David Howells <dhowells@redhat.com> |
||
|
|
ddb6c9b58a |
locking, rwsem: Annotate inner lock as raw
There is no reason to allow the lock protecting rwsems (the ownerless variant) to be preemptible on -rt. Convert it to raw. In mainline this change documents the low level nature of the lock - otherwise there's no functional difference. Lockdep and Sparse checking will work as usual. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> |
||
|
|
60063497a9 |
atomic: use <linux/atomic.h>
This allows us to move duplicated code in <asm/atomic.h> (atomic_inc_not_zero() for now) to <linux/atomic.h> Signed-off-by: Arun Sharma <asharma@fb.com> Reviewed-by: Eric Dumazet <eric.dumazet@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: David Miller <davem@davemloft.net> Cc: Eric Dumazet <eric.dumazet@gmail.com> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
|
|
11b80f459a |
rw_semaphore: remove up/down_read_non_owner
Now that the last users is gone these can be removed. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> |
||
|
|
d123375425 |
rwsem: Remove redundant asmregparm annotation
Peter Zijlstra pointed out, that the only user of asmregparm (x86) is compiling the kernel already with -mregparm=3. So the annotation of the rwsem functions is redundant. Remove it. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: David Howells <dhowells@redhat.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Matt Turner <mattst88@gmail.com> Cc: Tony Luck <tony.luck@intel.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: David Miller <davem@davemloft.net> Cc: Chris Zankel <chris@zankel.net> LKML-Reference: <alpine.LFD.2.00.1101262130450.31804@localhost6.localdomain6> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
||
|
|
aac72277fd |
rwsem: Move duplicate function prototypes to linux/rwsem.h
All architecture specific rwsem headers carry the same function prototypes. Just x86 adds asmregparm, which is an empty define on all other architectures. S390 has a stale rwsem_downgrade_write() prototype. Remove the duplicates and add the prototypes to linux/rwsem.h Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: David Howells <dhowells@redhat.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Richard Henderson <rth@twiddle.net> Acked-by: Tony Luck <tony.luck@intel.com> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Paul Mundt <lethal@linux-sh.org> Acked-by: David Miller <davem@davemloft.net> Cc: Chris Zankel <chris@zankel.net> LKML-Reference: <20110126195833.970840140@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
||
|
|
41e5887fa3 |
rwsem: Unify the duplicate rwsem_is_locked() inlines
Instead of having the same implementation in each architecture, move it to linux/rwsem.h and remove the duplicates. It's unlikely that an arch will ever implement something different, but we can deal with that when it happens. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: David Howells <dhowells@redhat.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Matt Turner <mattst88@gmail.com> Acked-by: Tony Luck <tony.luck@intel.com> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Paul Mundt <lethal@linux-sh.org> Acked-by: David Miller <davem@davemloft.net> Cc: Chris Zankel <chris@zankel.net> LKML-Reference: <20110126195833.876773757@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
||
|
|
12249b3441 |
rwsem: Move duplicate init macros and functions to linux/rwsem.h
The rwsem initializers and related macros and functions are mostly the
same. Some of them lack the lockdep initializer, but having it in
place does not matter for architectures which do not support lockdep.
powerpc, sparc, x86: No functional change
sh, s390: Removes the duplicate init_rwsem (inline and #define)
alpha, ia64, xtensa: Use the lockdep capable init function in
lib/rwsem.c which is just uninlining the init
function for the LOCKDEP=n case
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: David Howells <dhowells@redhat.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Matt Turner <mattst88@gmail.com>
Acked-by: Tony Luck <tony.luck@intel.com>
Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Acked-by: David Miller <davem@davemloft.net>
Cc: Chris Zankel <chris@zankel.net>
LKML-Reference: <20110126195833.771812729@linutronix.de>
|
||
|
|
1c8ed640d9 |
rwsem: Move duplicate struct rwsem declaration to linux/rwsem.h
The difference between these declarations is the data type of the count member and the lack of lockdep in some architectures/ long is equivivalent to signed long and the #ifdef guarded dep_map member does not hurt anyone. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: David Howells <dhowells@redhat.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Matt Turner <mattst88@gmail.com> Acked-by: Tony Luck <tony.luck@intel.com> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Paul Mundt <lethal@linux-sh.org> Acked-by: David Miller <davem@davemloft.net> Cc: Chris Zankel <chris@zankel.net> LKML-Reference: <20110126195833.679641914@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
||
|
|
c16a87ce06 |
rwsem: Cleanup includes
All rwsem implementations include the same headers. Include them from include/linux/rwsem.h Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: David Howells <dhowells@redhat.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Matt Turner <mattst88@gmail.com> Acked-by: Tony Luck <tony.luck@intel.com> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Paul Mundt <lethal@linux-sh.org> Acked-by: David Miller <davem@davemloft.net> Cc: Chris Zankel <chris@zankel.net> LKML-Reference: <20110126195833.483520950@linutronix.de> |
||
|
|
735643ee6c |
Remove "#ifdef __KERNEL__" checks from unexported headers
Remove the "#ifdef __KERNEL__" tests from unexported header files in linux/include whose entire contents are wrapped in that preprocessor test. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
|
|
5fca80e8b4 |
[PATCH] lockdep: add more rwsem.h documentation
Add more documentation to rwsem.h. Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
||
|
|
4ea2176dfa |
[PATCH] lockdep: prove rwsem locking correctness
Use the lock validator framework to prove rwsem locking correctness. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
||
|
|
c4e05116a2 |
[PATCH] lockdep: clean up rwsems
Clean up rwsems. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
||
|
|
62c4f0a2d5 |
Don't include linux/config.h from anywhere else in include/
Signed-off-by: David Woodhouse <dwmw2@infradead.org> |
||
|
|
1da177e4c3 |
Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip! |