* refs/heads/tmp-a564726:
ANDROID: gki_defconfig: initialize locals with zeroes
UPSTREAM: security: allow using Clang's zero initialization for stack variables
BACKPORT: net: core: use listified Rx for GRO_NORMAL in napi_gro_receive()
UPSTREAM: spi: add power control when set_cs
UPSTREAM: nl80211: fix NL80211_ATTR_HE_6GHZ_CAPABILITY usage
ANDROID: ABI: Update allowed list for QCOM
Change-Id: If9451d95dac1c5414d25aff4bb115bc1a94df07b
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
This patch switches compiler-based stack initialization from 0xAA
to zero pattern, resulting in much more efficient code and saner
defaults for uninitialized local variables.
Bug: 154198143
Test: run cuttlefish and observe the following lines in dmesg:
test_stackinit: all tests passed!
test_meminit: all 130 tests passed!
Signed-off-by: Alexander Potapenko <glider@google.com>
Change-Id: If9f2047fcbee58b90dbd8ad45707c5b40a654e2d
Upstream commit f0fe00d4972a8cd4b98cc2c29758615e4d51cdfe.
In addition to -ftrivial-auto-var-init=pattern (used by
CONFIG_INIT_STACK_ALL now) Clang also supports zero initialization for
locals enabled by -ftrivial-auto-var-init=zero. The future of this flag
is still being debated (see https://bugs.llvm.org/show_bug.cgi?id=45497).
Right now it is guarded by another flag,
-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang,
which means it may not be supported by future Clang releases. Another
possible resolution is that -ftrivial-auto-var-init=zero will persist
(as certain users have already started depending on it), but the name
of the guard flag will change.
In the meantime, zero initialization has proven itself as a good
production mitigation measure against uninitialized locals. Unlike pattern
initialization, which has a higher chance of triggering existing bugs,
zero initialization provides safe defaults for strings, pointers, indexes,
and sizes. On the other hand, pattern initialization remains safer for
return values. Chrome OS and Android are moving to using zero
initialization for production builds.
Performance-wise, the difference between pattern and zero initialization
is usually negligible, although the generated code for zero
initialization is more compact.
This patch renames CONFIG_INIT_STACK_ALL to CONFIG_INIT_STACK_ALL_PATTERN
and introduces another config option, CONFIG_INIT_STACK_ALL_ZERO, that
enables zero initialization for locals if the corresponding flags are
supported by Clang.
Cc: Kees Cook <keescook@chromium.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Alexander Potapenko <glider@google.com>
Link: https://lore.kernel.org/r/20200616083435.223038-1-glider@google.com
Reviewed-by: Maciej Żenczykowski <maze@google.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Change-Id: I3c69570e7e3d3bbb666709de6feb531000bce2bf
Commit 323ebb61e3 ("net: use listified RX for handling GRO_NORMAL
skbs") made use of listified skb processing for the users of
napi_gro_frags().
The same technique can be used in a way more common napi_gro_receive()
to speed up non-merged (GRO_NORMAL) skbs for a wide range of drivers
including gro_cells and mac80211 users.
This slightly changes the return value in cases where skb is being
dropped by the core stack, but it seems to have no impact on related
drivers' functionality.
gro_normal_batch is left untouched as it's very individual for every
single system configuration and might be tuned in manual order to
achieve an optimal performance.
Signed-off-by: Alexander Lobakin <alobakin@dlink.ru>
Acked-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Bug: 167477898
Change-Id: Ie9e079cf9a5799ca2c4924848ca6b3caeef056d7
(cherry picked from commit 6570bc79c0dfff0f228b7afd2de720fb4e84d61d)
[hyunsoon: fix conflicts in net/core/dev.c]
Signed-off-by: Hyunsoon Kim <h10.kim@samsung.com>
As to set_cs takes effect immediately, power spi
is needed when setup spi.
Bug: 167938264
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Luhua Xu <luhua.xu@mediatek.com>
Link: https://lore.kernel.org/r/1572426234-30019-1-git-send-email-luhua.xu@mediatek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit d948e6ca189985495a21cd622c31e30e72b6b688)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4ed7f854419901f9537916096b941135796956d1
commit fce2ff728f95b8894db14f51c9274dc56c37616f upstream.
In nl80211_set_station(), we check NL80211_ATTR_HE_6GHZ_CAPABILITY
and then use NL80211_ATTR_HE_CAPABILITY, which is clearly wrong.
Fix this to use NL80211_ATTR_HE_6GHZ_CAPABILITY as well.
Cc: stable@vger.kernel.org
Fixes: 43e64bf301fd ("cfg80211: handle 6 GHz capability of new station")
Link: https://lore.kernel.org/r/20200805153516.310cef625955.I0abc04dc8abb2c7c005c88ef8fa2d0e3c9fb95c4@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit fce2ff728f95b8894db14f51c9274dc56c37616f)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ib3951a485537514e26a9ac70ad9773580ecc4f53
Add some symbols to symbol list included by oem modules.
Bug: 165594476
Change-Id: Ib6113961bd18f8ca0c6e41fe30768fd3fba3d2ea
Signed-off-by: Peter Wuw <peter.wuw@oneplus.com>
[ shorted the list to get the initial file mergable, more symbols can be
added later - gregkh]
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
WLAN host driver has new memory requirement in order to be loaded and
brought up interface. Increase prealloc table accordingly.
Change-Id: I44a394dd2c9e9636ec226ccb45fbf8ac6f30ddf3
Signed-off-by: Yue Ma <yuem@codeaurora.org>
MODULE_LICENSE is necessary for the module to be successfully loaded,
else the kernel would complain with "Unknown symbol (-2)" error
as the symbols would be of GPL v2 license. Hence, add the appropriate
license. Also, add MODULE_DESCRIPTION along with it.
Change-Id: I4b16de07a97ec604190c5806ecb35f074fcbe2c9
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Add initial abi_gki_aarch64_galaxy file, with no new symbols being
needed, they will be added later.
Bug: 166527556
Change-Id: I09a44ce129fc8d689150303887d5ba6c5e2bffce
Signed-off-by: Jungrae Kim <jryu.kim@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
commit 11990a5bd7e558e9203c1070fc52fb6f0488e75b upstream.
The only-root-readable /sys/module/$module/sections/$section files
did not truncate their output to the available buffer size. While most
paths into the kernfs read handlers end up using PAGE_SIZE buffers,
it's possible to get there through other paths (e.g. splice, sendfile).
Actually limit the output to the "count" passed into the read function,
and report it back correctly. *sigh*
Reported-by: kernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/lkml/20200805002015.GE23458@shao2-debian
Fixes: ed66f991bb19 ("module: Refactor section attr into bin attribute")
Cc: stable@vger.kernel.org
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Jessica Yu <jeyu@kernel.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 163100336
Cc: Saravana Kannan <saravanak@google.com
(cherry picked from commit 11990a5bd7e558e9203c1070fc52fb6f0488e75b)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I61cd70ce32bf06a6ec1be971a60101729606cd32
This reverts commit d837f090a6 as the
ramdump tooling is now fixed.
Bug: 163100336
Cc: Saravana Kannan <saravanak@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4d0917beb848563270343515c49e0d6ad055c917
This reverts commit ae8f7f7807 as the
ramdump tooling is now fixed.
Bug: 163100336
Cc: Saravana Kannan <saravanak@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I51d7b6ddb1e26602e53bf4fbfbfde72ca294246d
qcom-spmi-wled driver adds support for controlling backlight for
LCD panels that uses QTI PMICs like pmi8998, PM8150L and PM6150L.
This snapshot is taken as of msm-4.19
commit b82b280d402 ("arm64: defconfig: Enable dm-snapshot").
Change-Id: I3eafddc1a2ce064552415516b168f452d0b3c638
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
Keep gcc_ddrss_gpu_axi_clk enabled all the time as a workaround to
prevent CPU hangs when DVM is enabled.
Change-Id: Ib66899de60d53ce1b9e0c2a40a08f65d4512e453
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
This reverts commit ab2d60d901.
Caused KMI break (not detected by TH until after it was merged)
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: If1b10072bf3758fdbb6e0e4e2cdacbcf010ab44d
This reverts commit 2e9d469846.
Reverted since it's parent needed to be reverted.
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Ibb438ae55788accc45e7f1a60b45f21f4655c883
Certain Type-C USB adapters (which doesn't support PD),
when connected switch the USB port type from USB3 to USB2.
This is because the clients of UCSI receive a notification
when the response for GET_CONNECTOR_STATUS has empty partner type.
Example UCSI IPC log:
213.212929: sync_write: CONTROL: 12 00 01 00 00 00 00 00
213.216613: read: CCI: 02 09 00 80
213.221135: read: MSG_IN: 00 00 0d 00 00 00 00 00 00
Parsing the logs gives the following information:
Connect Status: connected
Power Operation Mode: USB Type-C Current - 3A
Power Direction: consumer
Connector Partner Type: Reserved
Fix this by checking whether partner changed flag is set
and not notify UCSI clients if it is not set.
Change-Id: Id8bd71c325b58f5ff45e9f69cc59776af974a885
Signed-off-by: Linyu Yuan <linyyuan@codeaurora.org>
Remove error log in case of rpmsg_send failures as it can flood
the kernel buffer when the remote subsystem is down.
Change-Id: I2ce8911f88c7ae520ee36913e46ec8f7bada96a7
Acked-by: Thyagarajan Venkatanarayanan <venkatan@qti.qualcomm.com>
Signed-off-by: Himateja Reddy <hmreddy@codeaurora.org>
* refs/heads/tmp-0d36496:
BACKPORT: FROMLIST: firmware_loader: fix memory leak for paged buffer
BACKPORT: cfg80211: Adjust 6 GHz frequency to channel conversion
ANDROID: db845c_gki.fragment: Remove CONFIG_USB_NET_AX88*
ANDROID: GKI: enable CONFIG_MTK_TIMER
ANDROID: ABI: Update ABI description after symbol list updates
ANDROID: ABI: Added symbols for allwinner
ANDROID: ABI: Update allowed list for QCOM
UPSTREAM: scsi: ufs: ufs-mediatek: Modify the minimum RX/TX lane count to 2
UPSTREAM: scsi: ufs: Fix possible infinite loop in ufshcd_hold
UPSTREAM: scsi: ufs-mediatek: Fix incorrect time to wait link status
UPSTREAM: scsi: ufs-mediatek: Apply DELAY_AFTER_LPM quirk to Micron devices
UPSTREAM: scsi: ufs: Introduce device quirk "DELAY_AFTER_LPM"
UPSTREAM: scsi: ufs-mediatek: Prevent LPM operation on undeclared VCC
BACKPORT: scsi: ufs-mediatek: Add inline encryption support
ANDROID: Update ABI
ANDROID: net: enable wireless core features with GKI_LEGACY_WEXT_ALLCONFIG
Revert "binder: Prevent context manager from incrementing ref 0"
FROMLIST: ufs: skip manual flush for write booster
ANDROID: ion: export some ion symbols
ANDROID: gki_defconfig: enable CONFIG_ARCH_SUNXI.
FROMLIST: clk: sunxi-ng: add support for the Allwinner A100 CCU
FROMLIST: pinctrl: sunxi: add support for the Allwinner A100 pin controller
ANDROID: vendor_hooks: Add new android vendor hooks for ipi stop
ANDROID: Incremental fs: fix magic compatibility again
Linux 5.4.61
KVM: arm64: Only reschedule if MMU_NOTIFIER_RANGE_BLOCKABLE is not set
KVM: Pass MMU notifier range flags to kvm_unmap_hva_range()
xen: don't reschedule in preemption off sections
mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible
do_epoll_ctl(): clean the failure exits up a bit
epoll: Keep a reference on files added to the check list
efi: add missed destroy_workqueue when efisubsys_init fails
powerpc/pseries: Do not initiate shutdown when system is running on UPS
net: dsa: b53: check for timeout
hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit()
net: gemini: Fix missing free_netdev() in error path of gemini_ethernet_port_probe()
net: ena: Prevent reset after device destruction
bonding: fix active-backup failover for current ARP slave
ARM64: vdso32: Install vdso32 from vdso_install
afs: Fix NULL deref in afs_dynroot_depopulate()
RDMA/bnxt_re: Do not add user qps to flushlist
Fix build error when CONFIG_ACPI is not set/enabled:
efi: avoid error message when booting under Xen
kconfig: qconf: fix signal connection to invalid slots
kconfig: qconf: do not limit the pop-up menu to the first row
Revert "scsi: qla2xxx: Disable T10-DIF feature with FC-NVMe during probe"
kvm: x86: Toggling CR4.PKE does not load PDPTEs in PAE mode
kvm: x86: Toggling CR4.SMAP does not load PDPTEs in PAE mode
vfio/type1: Add proper error unwind for vfio_iommu_replay()
ASoC: intel: Fix memleak in sst_media_open
ASoC: msm8916-wcd-analog: fix register Interrupt offset
s390/ptrace: fix storage key handling
s390/runtime_instrumentation: fix storage key handling
bonding: fix a potential double-unregister
can: j1939: add rxtimer for multipacket broadcast session
can: j1939: abort multipacket broadcast session when timeout occurs
can: j1939: cancel rxtimer on multipacket broadcast session complete
can: j1939: fix support for multipacket broadcast message
bonding: show saner speed for broadcast mode
net: fec: correct the error path for regulator disable in probe
i40e: Fix crash during removing i40e driver
i40e: Set RX_ONLY mode for unicast promiscuous on VLAN
can: j1939: transport: add j1939_session_skb_find_by_offset() function
can: j1939: transport: j1939_simple_recv(): ignore local J1939 messages send not by J1939 stack
can: j1939: fix kernel-infoleak in j1939_sk_sock2sockaddr_can()
bpf: sock_ops sk access may stomp registers when dst_reg = src_reg
ASoC: q6routing: add dummy register read/write function
ASoC: q6afe-dai: mark all widgets registers as SND_SOC_NOPM
spi: stm32: fixes suspend/resume management
netfilter: nf_tables: nft_exthdr: the presence return value should be little-endian
ext4: don't allow overlapping system zones
ext4: fix potential negative array index in do_split()
fs/signalfd.c: fix inconsistent return codes for signalfd4
alpha: fix annotation of io{read,write}{16,32}be()
xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init
tools/testing/selftests/cgroup/cgroup_util.c: cg_read_strcmp: fix null pointer dereference
media: camss: fix memory leaks on error handling paths in probe
virtio_ring: Avoid loop when vq is broken in virtqueue_poll
scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases
cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0
swiotlb-xen: use vmalloc_to_page on vmalloc virt addresses
ceph: fix use-after-free for fsc->mdsc
jffs2: fix UAF problem
drm/ttm: fix offset in VMAs with a pg_offs in ttm_bo_vm_access
xfs: fix inode quota reservation checks
svcrdma: Fix another Receive buffer leak
m68knommu: fix overwriting of bits in ColdFire V3 cache control
MIPS: Fix unable to reserve memory for Crash kernel
Input: psmouse - add a newline when printing 'proto' by sysfs
media: vpss: clean up resources in init
rtc: goldfish: Enable interrupt in set_alarm() when necessary
media: budget-core: Improve exception handling in budget_register()
scsi: target: tcmu: Fix crash in tcmu_flush_dcache_range on ARM
scsi: ufs: Add DELAY_BEFORE_LPM quirk for Micron devices
opp: Enable resources again if they were disabled earlier
kthread: Do not preempt current task if it is going to call schedule()
drm/amd/display: fix pow() crashing when given base 0
drm/amd/display: Fix EDID parsing after resume from suspend
drm/amdgpu/display: use GFP_ATOMIC in dcn20_validate_bandwidth_internal
scsi: zfcp: Fix use-after-free in request timeout handlers
jbd2: add the missing unlock_buffer() in the error path of jbd2_write_superblock()
ext4: fix checking of directory entry validity for inline directories
RDMA/hfi1: Correct an interlock issue for TID RDMA WRITE request
mm, page_alloc: fix core hung in free_pcppages_bulk()
mm: include CMA pages in lowmem_reserve at boot
uprobes: __replace_page() avoid BUG in munlock_vma_page()
kernel/relay.c: fix memleak on destroy relay channel
romfs: fix uninitialized memory leak in romfs_dev_read()
spi: Prevent adding devices below an unregistering controller
can: j1939: socket: j1939_sk_bind(): make sure ml_priv is allocated
can: j1939: transport: j1939_session_tx_dat(): fix use-after-free read in j1939_tp_txtimer()
ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion
ALSA: hda/realtek: Add quirk for Samsung Galaxy Flex Book
btrfs: add wrapper for transaction abort predicate
btrfs: return EROFS for BTRFS_FS_STATE_ERROR cases
btrfs: don't show full path of bind mounts in subvol=
btrfs: export helpers for subvolume name/id resolution
bcache: avoid nr_stripes overflow in bcache_device_init()
khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter()
khugepaged: khugepaged_test_exit() check mmget_still_valid()
perf probe: Fix memory leakage when the probe point is not found
gfs2: Never call gfs2_block_zero_range with an open transaction
gfs2: Improve mmap write vs. punch_hole consistency
drm/vgem: Replace opencoded version of drm_gem_dumb_map_offset()
kbuild: support LLVM=1 to switch the default tools to Clang/LLVM
kbuild: replace AS=clang with LLVM_IAS=1
kbuild: remove AS variable
kbuild: remove PYTHON2 variable
x86/boot: kbuild: allow readelf executable to be specified
net: wan: wanxl: use $(M68KCC) instead of $(M68KAS) for rebuilding firmware
net: wan: wanxl: use allow to pass CROSS_COMPILE_M68k for rebuilding firmware
Documentation/llvm: fix the name of llvm-size
Documentation/llvm: add documentation on building w/ Clang/LLVM
ANDROID: ABI: Added symbols for db845c and hikey960
ANDROID: Update abi_gki_aarch64_hikey960
ANDROID: Update abi_gki_aarch64_db845c
ANDROID: build.config.hikey960: Set KMI_SYMBOL_LIST
ANDROID: build.config.d845c: Set KMI_SYMBOL_LIST
ANDROID: hikey960_gki.fragment: Remove unused CONFIG_SERIAL_8250_DW
BACKPORT: FROMLIST: clk: Export clk_register_composite
ANDROID: power: Export log_{suspend_abort,abnormal_wakeup}_reason
ANDROID: ABI: add already existing __arm_smccc_smc to unisoc
ANDROID: ion: Remove unused local variable 'vaddr'
ANDROID: ion: remove kmap from begin[end]_cpu_access
Conflicts:
Makefile
android/abi_gki_aarch64_qcom
Change-Id: Ia7b012d7bd15b21f918a13f3c9da29c26f68da93
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
Invoke milestone call to QHEE as soc specific early initcall
to enable protection of kernel's memory regions in stage 2
memory mappings.
Change-Id: I3298cfebc3a5e5e64bf6a696a0a259c4059197b3
Signed-off-by: Preeti Nagar <pnagar@codeaurora.org>
When some problems happened in android, we can't use adb command because
android can be abnormal state. And we can't use uart because
uart pin is not connected in the board. So we need key combination
functions for debugging.
This function should only use in development environment.
In the market, this will be disabled.
Bug: 167516783
Change-Id: I82e096526b06570b4cc55bf04dc945940d1dd91a
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Capture ringbuffers, smmu info record, scratch memory and
preemption records into hw scheduling snapshot.
Change-Id: I119cc18115f3a74a6a26c976772b7d746e70900e
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>