Commit graph

883,241 commits

Author SHA1 Message Date
Alexander Potapenko
a564726277 ANDROID: gki_defconfig: initialize locals with zeroes
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
2020-09-08 15:12:54 +00:00
glider@google.com
1b6a6a2efe UPSTREAM: security: allow using Clang's zero initialization for stack variables
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
2020-09-08 15:12:44 +00:00
Alexander Lobakin
2d5d56df7f BACKPORT: net: core: use listified Rx for GRO_NORMAL in napi_gro_receive()
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>
2020-09-08 17:14:13 +09:00
Luhua Xu
987c7b940b UPSTREAM: spi: add power control when set_cs
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
2020-09-07 10:13:03 +02:00
Johannes Berg
6d9aec4bc5 UPSTREAM: nl80211: fix NL80211_ATTR_HE_6GHZ_CAPABILITY usage
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
2020-09-05 11:19:47 +02:00
Raghavendra Rao Ananta
2bcdc156d9 ANDROID: ABI: Update allowed list for QCOM
Leaf changes summary: 2 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added
function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added
variable

1 Added function:

  [A] 'function void regmap_mmio_detach_clk(regmap*)'

1 Added variable:

  [A] 'const vb2_mem_ops vb2_vmalloc_memops'

Bug: 167839566
Change-Id: I503d09516e077a354ee7380597a4015baf80d75f
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
2020-09-04 15:47:26 -07:00
hajun.sung
54e6ca5c23 ANDROID: ABI: Update allowed list for EXYNOS
Leaf changes summary: 8 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 8 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

8 Added functions:

  [A] 'function void cpuidle_pause_and_lock()'
  [A] 'function void cpuidle_resume_and_unlock()'
  [A] 'function int tcp_register_congestion_control(tcp_congestion_ops*)'
  [A] 'function void tcp_reno_cong_avoid(sock*, u32, u32)'
  [A] 'function u32 tcp_reno_ssthresh(sock*)'
  [A] 'function u32 tcp_reno_undo_cwnd(sock*)'
  [A] 'function unsigned int tcp_slow_start(tcp_sock*, unsigned int)'
  [A] 'function void tcp_unregister_congestion_control(tcp_congestion_ops*)'

Bug: 167787841

Change-Id: I0b3569e73ecd45d9759e32e0819a94ef19e2a481
Signed-off-by: hajun.sung <hajun.sung@samsung.com>
2020-09-04 17:06:01 +00:00
Peter Wuw
71692ac54d ANDROID: GKI: add abi_gki_aarch64_oneplus
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>
2020-09-04 15:33:39 +02:00
Giuliano Procida
7b433370b3 ANDROID: GKI: prevent removal of monitored symbols
For aarch64 GKI builds, enable KMI_SYMBOL_LIST_ADD_ONLY.

Bug: 165839948
Change-Id: I5564da9ec054ae003a28f01a41dbeede6ab23afb
Signed-off-by: Giuliano Procida <gprocida@google.com>
2020-09-04 08:08:40 +00:00
Raghavendra Rao Ananta
260bc57301 ANDROID: ABI: Update allowed list for QCOM
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

1 Added function:

  [A] 'function void kernel_restart(char*)'

Bug: 167655719
Change-Id: I77ebb52869d4ea3b75d41c8a6c7ba47f3291bedb
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2020-09-03 22:30:48 +02:00
hajun.sung
3eb3ff0201 ANDROID: ABI: Update allowed list for EXYNOS
Leaf changes summary: 1 artifact changed (15 filtered out)
Changed leaf types summary: 0 (2 filtered out) leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed (13 filtered out), 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable

1 Added variable:

  [A] 'tracepoint __tracepoint_android_vh_ipi_stop'

Bug: 167650864

Change-Id: I3e50429eb5a1417c64f66f08e7d70a646038f8a5
Signed-off-by: hajun.sung <hajun.sung@samsung.com>
2020-09-03 18:04:05 +00:00
Jungrae Kim
3d6b9391da ANDROID: GKI: add abi_gki_aarch64_galaxy
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>
2020-09-03 16:25:18 +02:00
Kees Cook
898e9be82a UPSTREAM: module: Correctly truncate sysfs sections output
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
2020-09-03 14:26:03 +02:00
Greg Kroah-Hartman
44c13f4537 Revert "ANDROID: Revert "module: Do not expose section addresses to non-CAP_SYSLOG""
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
2020-09-03 14:24:54 +02:00
Greg Kroah-Hartman
94f8e7236d Revert "ANDROID: Revert "module: Refactor section attr into bin attribute""
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
2020-09-03 14:24:53 +02:00
Todd Kjos
9d8606b94c Revert "ANDROID: vendor_hooks: Add vendor hooks for key combination"
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
2020-09-02 21:08:13 -07:00
Todd Kjos
de039a31d6 Revert "ANDROID: fix i386 build break"
This reverts commit 2e9d469846.

Reverted since it's parent needed to be reverted.

Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Ibb438ae55788accc45e7f1a60b45f21f4655c883
2020-09-02 21:07:59 -07:00
Todd Kjos
2e9d469846 ANDROID: fix i386 build break
Fix declaration issue found by 0-day bot.

Fixes: ab2d60d901 ("ANDROID: vendor_hooks: Add vendor hooks for key combination")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: I2728fc009489a764b617e6c87ac52db37f6ce016
2020-09-03 00:12:51 +00:00
Changki Kim
ab2d60d901 ANDROID: vendor_hooks: Add vendor hooks for key combination
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>
2020-09-02 19:49:53 +00:00
Jeevan Shriram
054b210d81 ANDROID: ABI: Update allowed list for QCOM
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added
function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added
variable

1 Added function:

  [A] 'function void wireless_send_event(net_device*, unsigned int,
  iwreq_data*, const char*)'

Bug: 167482009
Change-Id: Ic21292217d9a20d8eb9128f8908816d8a4d8e084
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-09-02 15:54:03 +00:00
Qiwu Huang
72a8e256c3 FROMLIST: power: supply: core: property to control reverse charge
Interface to control wireless reverse charge.

Bug: 159767865

Signed-off-by: Qiwu Huang <huangqiwu@xiaomi.com>
Link: https://lore.kernel.org/lkml/d2a4960e5641c4360a9360f438669ec03a2c3d0d.1598349907.git.huangqiwu@xiaomi.com/
Change-Id: Iddf4a9efe23180750c8f82709da659a1cf50ff0d
2020-09-01 17:57:03 +00:00
Qiwu Huang
bbf85ac1be FROMLIST: power: supply: core: add wireless signal strength property
reports wireless signal strength.
The value show degree of coupling between tx and rx.

Bug: 159767865

Signed-off-by: Qiwu Huang <huangqiwu@xiaomi.com>
Link: https://lore.kernel.org/lkml/4290093486eb640e851bf2f4cdc579676855a479.1598349907.git.huangqiwu@xiaomi.com/
Change-Id: I3f0b4f8e156e25a73871550f340ed2005eb4fb89
2020-09-01 17:56:56 +00:00
Qiwu Huang
2d759be267 FROMLIST: power: supply: core: add wireless charger adapter type property
Reports what type of wireless adapter connection is
currently active for the supply.
for example it can show if ADAPTER_PD capable source is attached.

Bug: 159767865

Signed-off-by: Qiwu Huang <huangqiwu@xiaomi.com>
Link: https://lore.kernel.org/lkml/b57461ee3d3fe4b3ad7462e251506e83bdb13887.1598349907.git.huangqiwu@xiaomi.com/
Change-Id: I1b10ec74019dc36305dcb24cd1db9e2b8bb9b721
2020-09-01 17:56:49 +00:00
Qiwu Huang
eebbc84b46 FROMLIST: power: supply: core: add quick charge type property
Reports the kind of quick charge type based on
different adapter power.

bug: 159767865

Signed-off-by: Qiwu Huang <huangqiwu@xiaomi.com>
Link: https://lore.kernel.org/lkml/a6872d7b15b283ef683085eacacb76a651edc3ed.1598349907.git.huangqiwu@xiaomi.com/
Change-Id: I883a93e4bccf69fdaaa12a494fd3117932028392
2020-09-01 17:55:23 +00:00
Prateek Sood
0d36496b97 BACKPORT: FROMLIST: firmware_loader: fix memory leak for paged buffer
vfree() is being called on paged buffer allocated
using alloc_page() and mapped using vmap().

Freeing of pages in __vunmap() relies on nr_pages of
struct vm_struct. vmap() does not update nr_pages.

Bug: 166705104
Link: https://lore.kernel.org/patchwork/patch/1292695/
Change-Id: I8d9610d89f2936edc01b977ceba1853b41d5c249
Signed-off-by: Prateek Sood <prsood@codeaurora.org>
2020-09-01 09:04:41 +00:00
Amar Singhal
77c45270a6 BACKPORT: cfg80211: Adjust 6 GHz frequency to channel conversion
Adjust the 6 GHz frequency to channel conversion function,
the other way around was previously handled.

Signed-off-by: Amar Singhal <asinghal@codeaurora.org>
Link: https://lore.kernel.org/r/1592599921-10607-1-git-send-email-asinghal@codeaurora.org
[rewrite commit message, hard-code channel 2]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Bug: 167126230
(cherry picked from commit 2d9b55508556ccee6410310fb9ea2482fd3328eb)
Change-Id: Ieb788ea5a5ad614651c1a2c83d2c0fc16a98e00f
Signed-off-by: Vamsi Krishna <vamsin@codeaurora.org>
2020-08-31 13:40:45 +05:30
John Stultz
62b6e96e16 ANDROID: db845c_gki.fragment: Remove CONFIG_USB_NET_AX88*
Commit 55adb91acc ("ANDROID: GKI: enable some USB_NET_ config
options") implicitly enabled the CONFIG_USB_NET_AX88* options
which was causing trouble with the db845C_gki.fragment, since
we try to load these (along with PHYLIB) as modules.

So drop these, and it should work out.

Fixes: 55adb91acc ("ANDROID: GKI: enable some USB_NET_ config options")
Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: Ia7e69d7030842f5136aafc064e1ba8a70bad2bb6
2020-08-28 22:30:13 +00:00
Chun-Hung Wu
ea9b3d7e6b ANDROID: GKI: enable CONFIG_MTK_TIMER
It's needed by MTK board for reasons below:
After working with built-in mtk timer(timer-mediatek) as
tick-broadcast devices for few weeks, we found some issues caused
by linux timer framework:
1. tick broadcast installed by insmod cannot switch to oneshot
   mode correctly (BUG: 161822795)
2. rcu warning will be shown if we force to re-enabled tick-broadcast
for each cpu when new tick broadcast device is added by insmod
(timer-mediatek.c in our case)

Bug: 161675989
Change-Id: If3056df11d8256f2af4a6928820faed9f690b3db
Signed-off-by: Freddy Hsin <freddy.hsin@mediatek.com>
Signed-off-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
2020-08-28 22:28:50 +00:00
Todd Kjos
e54e1caec3 ANDROID: ABI: Update ABI description after symbol list updates
Leaf changes summary: 53 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 51 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 2 Added variables

51 Added functions:

  [A] 'function int __irq_alloc_domain_generic_chips(irq_domain*, int, int, const char*, irq_flow_handler_t, unsigned int, unsigned int, irq_gc_flags)'
  [A] 'function int __srcu_read_lock(srcu_struct*)'
  [A] 'function void __srcu_read_unlock(srcu_struct*, int)'
  [A] 'function void bt_err(const char*, ...)'
  [A] 'function void bt_info(const char*, ...)'
  [A] 'function void clk_unregister_fixed_factor(clk*)'
  [A] 'function void clk_unregister_fixed_rate(clk*)'
  [A] 'function void clk_unregister_gate(clk*)'
  [A] 'function void cpufreq_dbs_governor_exit(cpufreq_policy*)'
  [A] 'function int cpufreq_dbs_governor_init(cpufreq_policy*)'
  [A] 'function void cpufreq_dbs_governor_limits(cpufreq_policy*)'
  [A] 'function int cpufreq_dbs_governor_start(cpufreq_policy*)'
  [A] 'function void cpufreq_dbs_governor_stop(cpufreq_policy*)'
  [A] 'function unsigned short int crc16(unsigned short int, const unsigned char*, unsigned long int)'
  [A] 'function unsigned int dbs_update(cpufreq_policy*)'
  [A] 'function int device_move(device*, device*, dpm_order)'
  [A] 'function dma_chan* dma_get_any_slave_channel(dma_device*)'
  [A] 'function void ehci_init_driver(hc_driver*, const ehci_driver_overrides*)'
  [A] 'function int ehci_resume(usb_hcd*, bool)'
  [A] 'function int ehci_setup(usb_hcd*)'
  [A] 'function int ehci_suspend(usb_hcd*, bool)'
  [A] 'function void ethtool_convert_legacy_u32_to_link_mode(unsigned long int*, u32)'
  [A] 'function int filp_close(file*, void*)'
  [A] 'function long long unsigned int get_cpu_idle_time_us(int, long long unsigned int*)'
  [A] 'function void gov_update_cpu_data(dbs_data*)'
  [A] 'function int gpiochip_generic_config(gpio_chip*, unsigned int, unsigned long int)'
  [A] 'function int iio_map_array_register(iio_dev*, iio_map*)'
  [A] 'function int iio_map_array_unregister(iio_dev*)'
  [A] 'function void interval_tree_insert(interval_tree_node*, rb_root_cached*)'
  [A] 'function interval_tree_node* interval_tree_iter_first(rb_root_cached*, unsigned long int, unsigned long int)'
  [A] 'function interval_tree_node* interval_tree_iter_next(interval_tree_node*, unsigned long int, unsigned long int)'
  [A] 'function void interval_tree_remove(interval_tree_node*, rb_root_cached*)'
  [A] 'function void irq_gc_ack_set_bit(irq_data*)'
  [A] 'function void irq_gc_mask_clr_bit(irq_data*)'
  [A] 'function void irq_gc_mask_set_bit(irq_data*)'
  [A] 'function irq_chip_generic* irq_get_domain_generic_chip(irq_domain*, unsigned int)'
  [A] 'function int irq_setup_alt_chip(irq_data*, unsigned int)'
  [A] 'function int memblock_free(long long unsigned int, long long unsigned int)'
  [A] 'function void netdev_update_features(net_device*)'
  [A] 'function void* of_get_mac_address(device_node*)'
  [A] 'function int pinctrl_gpio_direction_input(unsigned int)'
  [A] 'function int pinctrl_gpio_direction_output(unsigned int)'
  [A] 'function void rfkill_set_states(rfkill*, bool, bool)'
  [A] 'function int snd_dmaengine_pcm_open(snd_pcm_substream*, dma_chan*)'
  [A] 'function ssize_t store_sampling_rate(gov_attr_set*, const char*, size_t)'
  [A] 'function int usb_alloc_streams(usb_interface*, usb_host_endpoint**, unsigned int, unsigned int, unsigned int)'
  [A] 'function int usb_free_streams(usb_interface*, usb_host_endpoint**, unsigned int, unsigned int)'
  [A] 'function int usb_wait_anchor_empty_timeout(usb_anchor*, unsigned int)'
  [A] 'function void usbnet_defer_kevent(usbnet*, int)'
  [A] 'function void vb2_dma_contig_clear_max_seg_size(device*)'
  [A] 'function int vb2_dma_contig_set_max_seg_size(device*, unsigned int)'

2 Added variables:

  [A] 'irq_domain_ops irq_generic_chip_ops'
  [A] 'const vb2_mem_ops vb2_dma_contig_memops'

Bug: 166748000
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Ideb6eaf46f5a7cf3fa2de1f673ce60767ec8fe19
2020-08-28 22:22:28 +00:00
huangshuosheng
1278a5bf16 ANDROID: ABI: Added symbols for allwinner
Leaf changes summary: 45 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 43 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 2 Added variables

43 Added functions:

  [A] 'function int __irq_alloc_domain_generic_chips(irq_domain*, int, int, const char*, irq_flow_handler_t, unsigned int, unsigned int, irq_gc_flags)'
  [A] 'function void bt_err(const char*, ...)'
  [A] 'function void bt_info(const char*, ...)'
  [A] 'function void clk_unregister_fixed_factor(clk*)'
  [A] 'function void clk_unregister_fixed_rate(clk*)'
  [A] 'function void clk_unregister_gate(clk*)'
  [A] 'function void cpufreq_dbs_governor_exit(cpufreq_policy*)'
  [A] 'function int cpufreq_dbs_governor_init(cpufreq_policy*)'
  [A] 'function void cpufreq_dbs_governor_limits(cpufreq_policy*)'
  [A] 'function int cpufreq_dbs_governor_start(cpufreq_policy*)'
  [A] 'function void cpufreq_dbs_governor_stop(cpufreq_policy*)'
  [A] 'function unsigned short int crc16(unsigned short int, const unsigned char*, unsigned long int)'
  [A] 'function unsigned int dbs_update(cpufreq_policy*)'
  [A] 'function int device_move(device*, device*, dpm_order)'
  [A] 'function dma_chan* dma_get_any_slave_channel(dma_device*)'
  [A] 'function void ehci_init_driver(hc_driver*, const ehci_driver_overrides*)'
  [A] 'function int ehci_resume(usb_hcd*, bool)'
  [A] 'function int ehci_setup(usb_hcd*)'
  [A] 'function int ehci_suspend(usb_hcd*, bool)'
  [A] 'function void ethtool_convert_legacy_u32_to_link_mode(unsigned long int*, u32)'
  [A] 'function int filp_close(file*, void*)'
  [A] 'function long long unsigned int get_cpu_idle_time_us(int, long long unsigned int*)'
  [A] 'function void gov_update_cpu_data(dbs_data*)'
  [A] 'function int gpiochip_generic_config(gpio_chip*, unsigned int, unsigned long int)'
  [A] 'function int iio_map_array_register(iio_dev*, iio_map*)'
  [A] 'function int iio_map_array_unregister(iio_dev*)'
  [A] 'function void irq_gc_ack_set_bit(irq_data*)'
  [A] 'function void irq_gc_mask_clr_bit(irq_data*)'
  [A] 'function void irq_gc_mask_set_bit(irq_data*)'
  [A] 'function irq_chip_generic* irq_get_domain_generic_chip(irq_domain*, unsigned int)'
  [A] 'function int irq_setup_alt_chip(irq_data*, unsigned int)'
  [A] 'function void* of_get_mac_address(device_node*)'
  [A] 'function int pinctrl_gpio_direction_input(unsigned int)'
  [A] 'function int pinctrl_gpio_direction_output(unsigned int)'
  [A] 'function void rfkill_set_states(rfkill*, bool, bool)'
  [A] 'function int snd_dmaengine_pcm_open(snd_pcm_substream*, dma_chan*)'
  [A] 'function ssize_t store_sampling_rate(gov_attr_set*, const char*, size_t)'
  [A] 'function int usb_alloc_streams(usb_interface*, usb_host_endpoint**, unsigned int, unsigned int, unsigned int)'
  [A] 'function int usb_free_streams(usb_interface*, usb_host_endpoint**, unsigned int, unsigned int)'
  [A] 'function int usb_wait_anchor_empty_timeout(usb_anchor*, unsigned int)'
  [A] 'function void usbnet_defer_kevent(usbnet*, int)'
  [A] 'function void vb2_dma_contig_clear_max_seg_size(device*)'
  [A] 'function int vb2_dma_contig_set_max_seg_size(device*, unsigned int)'

2 Added variables:

  [A] 'irq_domain_ops irq_generic_chip_ops'
  [A] 'const vb2_mem_ops vb2_dma_contig_memops'

Bug: 154880035
Change-Id: I7df6cc6200ea10565608cf7c9b7a089734805c8f
Signed-off-by: huangshuosheng <huangshuosheng@allwinnertech.com>
2020-08-28 22:21:13 +00:00
Raghavendra Rao Ananta
042f9c9a34 ANDROID: ABI: Update allowed list for QCOM
Leaf changes summary: 8 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 8 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

8 Added functions:

  [A] 'function int __srcu_read_lock(srcu_struct*)'
  [A] 'function void __srcu_read_unlock(srcu_struct*, int)'
  [A] 'function void interval_tree_insert(interval_tree_node*, rb_root_cached*)'
  [A] 'function interval_tree_node* interval_tree_iter_first(rb_root_cached*, unsigned long int, unsigned long int)'
  [A] 'function interval_tree_node* interval_tree_iter_next(interval_tree_node*, unsigned long int, unsigned long int)'
  [A] 'function void interval_tree_remove(interval_tree_node*, rb_root_cached*)'
  [A] 'function int memblock_free(long long unsigned int, long long unsigned int)'
  [A] 'function void netdev_update_features(net_device*)'

Bug: 166748000
Change-Id: I1683cce8238bf533d379a2d034f5640d1299859a
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
2020-08-28 15:12:00 -07:00
Andy Teng
55bbca30d4 UPSTREAM: scsi: ufs: ufs-mediatek: Modify the minimum RX/TX lane count to 2
MediaTek UFS host now supports 2 lanes. Modify the lane count to 2.

This modification shall not impact old 1-lane host because
PA_CONNECTEDRXDATALANES and PA_CONNECTEDTXDATALANES will limit the target
lanes properly during power mode change. So we could relax the limitation
in ufs_dev_params.

Link: https://lore.kernel.org/r/20200819084340.7021-1-stanley.chu@mediatek.com
Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Andy Teng <andy.teng@mediatek.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

Bug: 166747994
(cherry picked from commit 460d74a0911c562f56148519a2467271271a73aa)
Change-Id: Ia3cb46d691f4498829565a70ba332cd246dc98a2
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
2020-08-28 20:54:00 +00:00
Stanley Chu
48eafd42bd UPSTREAM: scsi: ufs: Fix possible infinite loop in ufshcd_hold
In ufshcd_suspend(), after clk-gating is suspended and link is set
as Hibern8 state, ufshcd_hold() is still possibly invoked before
ufshcd_suspend() returns. For example, MediaTek's suspend vops may
issue UIC commands which would call ufshcd_hold() during the command
issuing flow.

Now if UFSHCD_CAP_HIBERN8_WITH_CLK_GATING capability is enabled,
then ufshcd_hold() may enter infinite loops because there is no
clk-ungating work scheduled or pending. In this case, ufshcd_hold()
shall just bypass, and keep the link as Hibern8 state.

Link: https://lore.kernel.org/r/20200809050734.18740-1-stanley.chu@mediatek.com
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Co-developed-by: Andy Teng <andy.teng@mediatek.com>
Signed-off-by: Andy Teng <andy.teng@mediatek.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

Bug: 166747994
(cherry picked from commit 93b6c5db06028a3b55122bbb74d0715dd8ca4ae0)
Change-Id: I595ee3f0da3b89e11cbe5d6d31ba7ce58b1757bc
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
2020-08-28 20:53:45 +00:00
Stanley Chu
45f61ca720 UPSTREAM: scsi: ufs-mediatek: Fix incorrect time to wait link status
Fix incorrect calculation of "ms" based waiting time in function
ufs_mtk_setup_clocks().

Link: https://lore.kernel.org/r/20200809055702.20140-1-stanley.chu@mediatek.com
Fixes: 9006e3986f66 ("scsi: ufs-mediatek: Do not gate clocks if auto-hibern8 is not entered yet")
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

Bug: 166747994
(cherry picked from commit 215d326702516366a8dfa9624b67ba0761c22b86)
Change-Id: I705ec82183efd898629e6a77952bc5e0c4fdceb1
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
2020-08-28 20:53:28 +00:00
Stanley Chu
0c9580fc98 UPSTREAM: scsi: ufs-mediatek: Apply DELAY_AFTER_LPM quirk to Micron devices
Micron UFS devices require DELAY_AFTER_LPM device quirk in MediaTek
platforms.

Link: https://lore.kernel.org/r/20200729051840.31318-3-stanley.chu@mediatek.com
Acked-by: Avri Altman <Avri.Altman@wdc.com>
Reviewed-by: Andy Teng <andy.teng@mediatek.com>
Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

Bug: 166747994
(cherry picked from commit d61fa5bc3e521211d68d00c9199a61a7504b4dab)
Change-Id: Ib46db4c91cc5cc2e99c9868bc4ca98068aa80c6c
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
2020-08-28 20:53:12 +00:00
Stanley Chu
09f3953770 UPSTREAM: scsi: ufs: Introduce device quirk "DELAY_AFTER_LPM"
Some UFS devices require delay after VCC power rail is turned off.
Introduce a device quirk "DELAY_AFTER_LPM" to add 5ms delay after VCC
power-off during suspend flow.

Link: https://lore.kernel.org/r/20200729051840.31318-2-stanley.chu@mediatek.com
Reviewed-by: Andy Teng <andy.teng@mediatek.com>
Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Reviewed-by: Can Guo <cang@codeaurora.org>
Acked-by: Avri Altman <Avri.Altman@wdc.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

Bug: 166747994
(cherry picked from commit c4df6eed972e001a206a173738bec8c5f903257a)
Change-Id: Ia5c26f454374dfb591480acbf83007749ba11a0c
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
2020-08-28 20:52:56 +00:00
Stanley Chu
982976f583 UPSTREAM: scsi: ufs-mediatek: Prevent LPM operation on undeclared VCC
In some platforms, VCC regulator may not be declared in device tree to keep
itself "always-on". In this case, hba->vreg_info.vcc is NULL and shall not
be operated during any flow.

Prevent possible NULL hba->vreg_info.vcc access in LPM mode by checking
if it is valid first.

Link: https://lore.kernel.org/r/20200724141627.20094-1-stanley.chu@mediatek.com
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

Bug: 166747994
(cherry picked from commit 0255b1e3d84962f8f8d19f9e2768a8a4f0de7487)
Change-Id: I6351c0bb93ba78a66e286e6aaf8a0c8956cab895
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
2020-08-28 20:52:43 +00:00
Stanley Chu
684efd746e BACKPORT: scsi: ufs-mediatek: Add inline encryption support
Add inline encryption support to ufs-mediatek.

The standards-compliant parts, such as querying the crypto capabilities and
enabling crypto for individual UFS requests, are already handled by
ufshcd-crypto.c, which itself is wired into the blk-crypto framework.

However MediaTek UFS host requires a vendor-specific hce_enable operation
to allow crypto-related registers being accessed normally in kernel.  After
this step, MediaTek UFS host can work as standard-compliant host for
inline-encryption related functions.

Link: https://lore.kernel.org/r/20200712003226.7593-1-stanley.chu@mediatek.com
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

Bug: 166747994
[ Resolved minor conflict in drivers/scsi/ufs/ufs-mediatek.c ]
(cherry picked from commit 46426552e74fd38e43aa95af17487d3cc285d71f)
Change-Id: I47629ab3823e361e4cf778c08ffd1c6b1a1d6e06
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
2020-08-28 20:52:28 +00:00
Mark Salyzyn
1c300cd58f ANDROID: Update ABI
Leaf changes summary: 644 artifacts changed (1 filtered out)
Changed leaf types summary: 2 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 637 Changed (1 filtered out), 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 5 Changed, 0 Added variable

637 functions with some sub-type change:

<redacted>

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 140250271
Change-Id: I97288bd961bd1f7f0dbb56241de952efde7e0fb9
2020-08-28 12:28:07 -07:00
Chun-Hung Wu
af38fd3120 ANDROID: net: enable wireless core features with GKI_LEGACY_WEXT_ALLCONFIG
In embedded environments the requirements are to be able to pick and
chose which features one requires built into the kernel.  If an
embedded environment wants to supports loading modules that have been
kbuilt out of tree, there is a need to enable hidden configurations
for legacy wireless core features to provide the API surface for
them to load.

Introduce CONFIG_GKI_LEGACY_WEXT_ALLCONFIG to select all legacy wireless
extension core features by activating in turn all the associated
hidden configuration options, without having to specifically select
any wireless module(s).

This reverts commit c2f96db077.
(rejected upstream commit url https://lkml.org/lkml/2019/9/6/878)
Bug: 140250271
Signed-off-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
Change-Id: I7ca31317df82cf3a349ba6cc2dc42c37090625be
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
2020-08-28 12:19:22 -07:00
Todd Kjos
8e529fec60 Revert "binder: Prevent context manager from incrementing ref 0"
This reverts commit c5665cafbe.

This patch was causing display hangs for Qualcomm after the 5.4.58
merge.

Bug: 166779391
Change-Id: Iaf22ede68247422709b00f059e5c4d517f219adf
Signed-off-by: Todd Kjos <tkjos@google.com>
2020-08-28 18:56:10 +00:00
Kiwoong Kim
7acf895171 FROMLIST: ufs: skip manual flush for write booster
We have two knobs to flush for write booster, i.e.
fWriteBoosterBufferFlushDuringHibernate and fWriteBoosterBufferFlushEn.
However, many product makers uses only fWriteBoosterBufferFlushDuringHibernate,
because this can reportedly cover most scenarios and
there have been some reports that flush by fWriteBoosterBufferFlushEn
could lead to raise power consumption thanks to unexpected internal
operations. So we need a way to enable or disable fWriteBoosterEn
operations. For those case, this quirk will allow to avoid manual flush

Bug: 165776315
Link: https://lore.kernel.org/linux-scsi/cover.1598319701.git.kwmad.kim@samsung.com/T/#t
Change-Id: Ia8297c7372e276d74ae7143ab1e9bf332630de87
Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com>
2020-08-28 16:27:21 +00:00
Chao Hao
20e34147b4 ANDROID: ion: export some ion symbols
Background:
  We can allocate buffer from ion_system_heap for general case,
if the buffer is needed to access by HW, we need to map/unmap
dma_address by iommu driver before and after HW engine access for
iommu case. For example, if the same buffer is accessed by three
HW engines, then every device driver needs to map/unmap dma_address
by iommu driver respectively.
  For MTK platform, all the multimedia HW engines use the same
iommu HW and share the same iommu page table, so multiple map/unmap
dma_address by iommu driver maybe reduce performance seriously for
above case, especially for big size buffer. In order to improve
performance for MTK platform, we want to add ion_mtk_iommu_heap
and implement map/unmap dma_address by ion_mtk_iommu_heap:
  a.heap->buf_ops.map_dma_buf: If more than one attachments map
dma_address by iommu driver about the same buffer, the function
only map once in first attachment, the other attachments of buffer
copy sg_table which has already mapped to respective sg_table directly
and don't mapping dma_address truly.
  b.heap->buf_ops.unmap_dma_buf: Do nothing.
  c.heap->buf_ops.release: unmap dma_address by iommu driver about buffer
and free the buffer.

Based on above description:
We will build ion_mtk_iommu_heap as a kernel module and ion_mtk_iommu_heap
also use some APIs like ion_system_heap but they not do export symbol
ion_page_pool_alloc()
ion_page_pool_free()
ion_page_pool_nr_pages()
ion_page_pool_shrink()
ion_page_pool_create()
ion_page_pool_destroy()

Bug: 158729041
Change-Id: If3897d5e0105edefe03a51ac52c7b3d423aaa988
Signed-off-by: Chao Hao <chao.hao@mediatek.com>
Signed-off-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
2020-08-27 21:06:34 +00:00
Frank Lee
38f65f5aa5 ANDROID: gki_defconfig: enable CONFIG_ARCH_SUNXI.
CONFIG_ARCH_SUNXI is a dependency of sunxi devices.

Bug: 154880035
Change-Id: Icc3f67d41b0617c6e1c17ce82d28e8629b277bdf
Signed-off-by: huangshuosheng <huangshuosheng@allwinnertech.com>
Signed-off-by: Frank Lee <frank@allwinnertech.com>
2020-08-27 17:11:22 +08:00
Yangtao Li
5ff1d0acdc FROMLIST: clk: sunxi-ng: add support for the Allwinner A100 CCU
Add support for a100 in the sunxi-ng CCU framework.

Signed-off-by: Yangtao Li <frank@allwinnertech.com>
Acked-by: Rob Herring <robh@kernel.org>

Bug: 157278975
Change-Id: I2eb73fd43a25296a611834f2feb767aa89ad0256
Link: https://lore.kernel.org/lkml/1eb41bf6c966a0e54820200650d27a5d4f2ac160.1595572867.git.frank@allwinnertech.com/
Signed-off-by: Frank Lee <frank@allwinnertech.com>
2020-08-27 17:11:05 +08:00
Yangtao Li
6e84f59263 FROMLIST: pinctrl: sunxi: add support for the Allwinner A100 pin controller
This commit introduces support for the pin controller on A100.

Signed-off-by: Yangtao Li <frank@allwinnertech.com>
Acked-by: Maxime Ripard <mripard@kernel.org>

Bug: 157278978
Change-Id: Ib3fef6ed9bec10ad12ff256afb965bcaa998ace1
Link: https://lore.kernel.org/lkml/4e331a2ed4a30c883df6157bc5c52bb686aa8e0d.1595572867.git.frank@allwinnertech.com/
Signed-off-by: Frank Lee <frank@allwinnertech.com>
2020-08-27 17:09:29 +08:00
Changki Kim
55ff3b05bf ANDROID: vendor_hooks: Add new android vendor hooks for ipi stop
When a kernel panic occurred, it is sometimes caused by a other cpu
than the panic cpu. When a panic cpu sends smp stop IPI, it can help to
solve the problem even more if aonther cpu stores registers and
run cache flush.

Bug: 165956922

Change-Id: I21c74fe0d047e49b676c502bc9b8d8830e5431de
Signed-off-by: Changki Kim <changki.kim@samsung.com>
2020-08-27 03:08:51 +00:00
mtk81325
4049b523f6 ANDROID: Incremental fs: fix magic compatibility again
It's still magic number issue which cannot be compatible with
arm-32 platform, although we try to fix it in Iae4f3877444
("ANDROID: Incremental fs: magic number compatible 32-bit"),
there is still incompatible scenario, such as: get_incfs_node(),
it will return NULL then kernel exception will be trigger because
of NULL pointer access. (inode_set() -> get_incfs_node(), then used
node->xxx directly)

We change magic number directly, otherwise, we must fix above issues one by one.

Bug: 159772865
Fixes: Iae4f3877444("ANDROID: Incremental fs: magic number compatible 32-bit")
Signed-off-by: Peng Zhou <Peng.Zhou@mediatek.com>
Signed-off-by: mtk81325 <peng.zhou@mediatek.com>
Change-Id: I71f279c1bb55ea296ab33a47644f30df4a9f60a6
2020-08-26 14:05:41 +00:00
Greg Kroah-Hartman
d6430e6763 This is the 5.4.61 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl9GIDoACgkQONu9yGCS
 aT7WKw//W69xawVqio91JxxYoYEC6fpFANMoaGAJwfIOz88Kr3D5n6g4Ldbmzlwa
 NlaJT1oTm7L9iWYdyBWUEKSau74o9yhiy1V7IGNuj2sS+N7mH3BJ6rAjiQxiCH7K
 UuFtpg7MgSlX2L3x93IsauV+PxU0E0Em3hrLw7XS8tYCCURwlyoyhpNb/fcIbu4Z
 m4iBC9p2b5WcsS0c7J4m9aT94TpXajBfMMQdrHiYqFxdeyXRK/0Auk/C4HFLH+7b
 Xt+ZLF/fQguiXH1ZDDLAudVxfqRf6zz2zNNRzN8npsneIJGLqQ1Ty3FUW6z7EYq5
 jHz3w+amXt/ijeoxqS+QJU3Vgz7LZUvclB3RTOGXouPUlQFAUzD5tA1kobiQUFVC
 D7vl1NjLbAkjMkr4jWs8A1//CwLey2CvPumI507iamLpXh/TsrA3qkpRrB+FUGQn
 2YdflclIr5UMIYio3e9Gwf3eQTYjujQU19cyKa0SzhvmaFS0CRUrpRH5h5dJHLBV
 rTxvhkXEkAMFfTyDI7zsRmIBAd4RgsIqyikU8GGprWrRQemA/aXH0jillZUMtFxE
 jWdlSpF7aUGTGKTki/CWdx7t58BOH+uzcjIBdLpQKJOm+GTwJ3n2Cfqzei8KVGML
 pDcSlqV4C2DO9OxhB/PeRI2V6H0AzAPBiZCow2vsl+LXlM9qHMQ=
 =gnUK
 -----END PGP SIGNATURE-----

Merge 5.4.61 into android11-5.4

Changes in 5.4.61
	Documentation/llvm: add documentation on building w/ Clang/LLVM
	Documentation/llvm: fix the name of llvm-size
	net: wan: wanxl: use allow to pass CROSS_COMPILE_M68k for rebuilding firmware
	net: wan: wanxl: use $(M68KCC) instead of $(M68KAS) for rebuilding firmware
	x86/boot: kbuild: allow readelf executable to be specified
	kbuild: remove PYTHON2 variable
	kbuild: remove AS variable
	kbuild: replace AS=clang with LLVM_IAS=1
	kbuild: support LLVM=1 to switch the default tools to Clang/LLVM
	drm/vgem: Replace opencoded version of drm_gem_dumb_map_offset()
	gfs2: Improve mmap write vs. punch_hole consistency
	gfs2: Never call gfs2_block_zero_range with an open transaction
	perf probe: Fix memory leakage when the probe point is not found
	khugepaged: khugepaged_test_exit() check mmget_still_valid()
	khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter()
	bcache: avoid nr_stripes overflow in bcache_device_init()
	btrfs: export helpers for subvolume name/id resolution
	btrfs: don't show full path of bind mounts in subvol=
	btrfs: return EROFS for BTRFS_FS_STATE_ERROR cases
	btrfs: add wrapper for transaction abort predicate
	ALSA: hda/realtek: Add quirk for Samsung Galaxy Flex Book
	ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion
	can: j1939: transport: j1939_session_tx_dat(): fix use-after-free read in j1939_tp_txtimer()
	can: j1939: socket: j1939_sk_bind(): make sure ml_priv is allocated
	spi: Prevent adding devices below an unregistering controller
	romfs: fix uninitialized memory leak in romfs_dev_read()
	kernel/relay.c: fix memleak on destroy relay channel
	uprobes: __replace_page() avoid BUG in munlock_vma_page()
	mm: include CMA pages in lowmem_reserve at boot
	mm, page_alloc: fix core hung in free_pcppages_bulk()
	RDMA/hfi1: Correct an interlock issue for TID RDMA WRITE request
	ext4: fix checking of directory entry validity for inline directories
	jbd2: add the missing unlock_buffer() in the error path of jbd2_write_superblock()
	scsi: zfcp: Fix use-after-free in request timeout handlers
	drm/amdgpu/display: use GFP_ATOMIC in dcn20_validate_bandwidth_internal
	drm/amd/display: Fix EDID parsing after resume from suspend
	drm/amd/display: fix pow() crashing when given base 0
	kthread: Do not preempt current task if it is going to call schedule()
	opp: Enable resources again if they were disabled earlier
	scsi: ufs: Add DELAY_BEFORE_LPM quirk for Micron devices
	scsi: target: tcmu: Fix crash in tcmu_flush_dcache_range on ARM
	media: budget-core: Improve exception handling in budget_register()
	rtc: goldfish: Enable interrupt in set_alarm() when necessary
	media: vpss: clean up resources in init
	Input: psmouse - add a newline when printing 'proto' by sysfs
	MIPS: Fix unable to reserve memory for Crash kernel
	m68knommu: fix overwriting of bits in ColdFire V3 cache control
	svcrdma: Fix another Receive buffer leak
	xfs: fix inode quota reservation checks
	drm/ttm: fix offset in VMAs with a pg_offs in ttm_bo_vm_access
	jffs2: fix UAF problem
	ceph: fix use-after-free for fsc->mdsc
	swiotlb-xen: use vmalloc_to_page on vmalloc virt addresses
	cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0
	scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases
	virtio_ring: Avoid loop when vq is broken in virtqueue_poll
	media: camss: fix memory leaks on error handling paths in probe
	tools/testing/selftests/cgroup/cgroup_util.c: cg_read_strcmp: fix null pointer dereference
	xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init
	alpha: fix annotation of io{read,write}{16,32}be()
	fs/signalfd.c: fix inconsistent return codes for signalfd4
	ext4: fix potential negative array index in do_split()
	ext4: don't allow overlapping system zones
	netfilter: nf_tables: nft_exthdr: the presence return value should be little-endian
	spi: stm32: fixes suspend/resume management
	ASoC: q6afe-dai: mark all widgets registers as SND_SOC_NOPM
	ASoC: q6routing: add dummy register read/write function
	bpf: sock_ops sk access may stomp registers when dst_reg = src_reg
	can: j1939: fix kernel-infoleak in j1939_sk_sock2sockaddr_can()
	can: j1939: transport: j1939_simple_recv(): ignore local J1939 messages send not by J1939 stack
	can: j1939: transport: add j1939_session_skb_find_by_offset() function
	i40e: Set RX_ONLY mode for unicast promiscuous on VLAN
	i40e: Fix crash during removing i40e driver
	net: fec: correct the error path for regulator disable in probe
	bonding: show saner speed for broadcast mode
	can: j1939: fix support for multipacket broadcast message
	can: j1939: cancel rxtimer on multipacket broadcast session complete
	can: j1939: abort multipacket broadcast session when timeout occurs
	can: j1939: add rxtimer for multipacket broadcast session
	bonding: fix a potential double-unregister
	s390/runtime_instrumentation: fix storage key handling
	s390/ptrace: fix storage key handling
	ASoC: msm8916-wcd-analog: fix register Interrupt offset
	ASoC: intel: Fix memleak in sst_media_open
	vfio/type1: Add proper error unwind for vfio_iommu_replay()
	kvm: x86: Toggling CR4.SMAP does not load PDPTEs in PAE mode
	kvm: x86: Toggling CR4.PKE does not load PDPTEs in PAE mode
	Revert "scsi: qla2xxx: Disable T10-DIF feature with FC-NVMe during probe"
	kconfig: qconf: do not limit the pop-up menu to the first row
	kconfig: qconf: fix signal connection to invalid slots
	efi: avoid error message when booting under Xen
	Fix build error when CONFIG_ACPI is not set/enabled:
	RDMA/bnxt_re: Do not add user qps to flushlist
	afs: Fix NULL deref in afs_dynroot_depopulate()
	ARM64: vdso32: Install vdso32 from vdso_install
	bonding: fix active-backup failover for current ARP slave
	net: ena: Prevent reset after device destruction
	net: gemini: Fix missing free_netdev() in error path of gemini_ethernet_port_probe()
	hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit()
	net: dsa: b53: check for timeout
	powerpc/pseries: Do not initiate shutdown when system is running on UPS
	efi: add missed destroy_workqueue when efisubsys_init fails
	epoll: Keep a reference on files added to the check list
	do_epoll_ctl(): clean the failure exits up a bit
	mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible
	xen: don't reschedule in preemption off sections
	KVM: Pass MMU notifier range flags to kvm_unmap_hva_range()
	KVM: arm64: Only reschedule if MMU_NOTIFIER_RANGE_BLOCKABLE is not set
	Linux 5.4.61

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I316392535e50265bbcce6a56d3e10586d1ed29cc
2020-08-26 11:11:38 +02:00
Greg Kroah-Hartman
6576d69aac Linux 5.4.61
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-26 10:41:08 +02:00