Commit graph

891,882 commits

Author SHA1 Message Date
Elson Roy Serrao
df8a785e9d usb: dt-bindings: Remove target specific macro file
Remove target specific QMP register macro definition file
and replace it with the generic 5nm files for broader use.

Change-Id: I9c9b9f0615a74b71b35734e585d829f156bf2449
Signed-off-by: Elson Roy Serrao <[email protected]>
2020-10-16 08:28:38 -07:00
Carter Cooper
8025323237 msm: kgsl: Clear ddr_table pointer after free
Clear the table pointer after it is freed to make sure
it doesn't get freed again.

Change-Id: Ica693a048fd76473a3937084c87f3631ef5b27dd
Signed-off-by: Carter Cooper <[email protected]>
2020-10-16 08:01:48 -07:00
Harsh Agarwal
a6faeff051 usb: phy: Add snapshot of USB QUSB PHY driver
This change add USB QUSB PHY driver used on QTI MSM platforms.
This snapshot is taken as of msm-4.19 commit b82cc3a4ac60
("usb: phy: qusb: Do not power down PHY if EUD is enabled").

Change-Id: Id6ef9d554ab3d87205ee85a66d503e9733b1b5f1
Signed-off-by: Harsh Agarwal <[email protected]>
2020-10-16 19:03:36 +05:30
Naveen Yadav
25738f2916 clk: qcom: debugcc: Update register offset for debug mux
Update the register offsets for the debug mux to measure
the clock frequency correctly.

Change-Id: I329f3f3416d6b097e0fc38e72d136a5b21db7049
Signed-off-by: Naveen Yadav <[email protected]>
2020-10-16 18:59:02 +05:30
Paras Singh Jain
5f73483da2 net/embms-kernel : EMBMS Tunneling Module
This module is used to tunnel multicast
packets received on an interface to WLAN
clients which have registered for these
packet streams. Mainly used to tunnel
EMBMS packets received on TMGI streams.

Change-Id: I1cea29bff192d375317dda3d1baebb594e0b9c39
Acked-by: Raju Velpula <[email protected]>
Signed-off-by: Paras Singh Jain <[email protected]>
2020-10-16 18:23:27 +05:30
Pradeep P V K
45a05399cf mmc: sdhci-msm: Pass min and max voltage values to enable regulators
Pass minimum and maximum voltage values while enabling regulators.

Change-Id: I3de7f343cd0d8fd1953fa5d091c411c013a0dd29
Signed-off-by: Pradeep P V K <[email protected]>
2020-10-16 04:46:04 -07:00
Ram Prakash Gupta
674da8208b mmc: Enable clk scaling for cqe
Enable clk scaling for cqe.

Change-Id: I99e87a808e4d7663114736e45614a8082dda0eb1
Signed-off-by: Ram Prakash Gupta <[email protected]>
2020-10-16 15:52:56 +05:30
Raviteja Tamatam
c2ad8d4b00 ANDROID: ABI: update allowed list for QCOM
Update the android/abi_gki_aarch64_qcom with recent symbol additions.

No need to update the .xml file, as no new symbol addition.

Bug: 171024164
Signed-off-by: Raviteja Tamatam <[email protected]>
Change-Id: I38fdb82878c578a19fb01df1e97eb7fafd7dac06
2020-10-16 15:29:18 +05:30
Bavyasritha Alahari
e543f305ad defconfig: holi-gki: Enable CDSPRM driver
CDSPRM module implements a RPMSG interface to communicate with CDSP
while providing a way for CDSP to vote for CPU QoS to benefit CDSP
applications performance.

Change-Id: Ib2627e611b3d4e25f68b7ecee672d4a6474050c3
Acked-by: Sreekanth Gande <[email protected]>
Signed-off-by: Bavyasritha Alahari <[email protected]>
2020-10-16 12:02:27 +05:30
Chinmay Agarwal
bbe4ddc207 net: config: Enabling SYN_COOKIES config option for lahaina target
Enabling SYN_COOKIES config to allow multi stream tcp scenarios to
connect simultaneously.

Change-Id: Idaf6ef9faf8df33df834ce7fbcbd63b91887f934
Signed-off-by: Chinmay Agarwal <[email protected]>
2020-10-16 11:05:49 +05:30
Pratham Pratap
1b64983eb0 usb: dwc3: core: Add ipc logs when sg lists are used
Currently ipc_logging will capture the usb request's dma address but
when sg list is used usb request's dma address is not populated. This
change adds start_sg's dma address which is populated when sg list is
used for usb transfers. Also increase the number of log pages to capture
more ep events.

Change-Id: I36ada11429e168e2d3d09cf3427b1f3bcdacc285
Signed-off-by: Pratham Pratap <[email protected]>
2020-10-15 21:59:57 -07:00
Taniya Das
b89a63869c clk: qcom: gcc-holi: Enable clocks for pm8008 by default
The pm8008 regulator is connected over I2C and the I2C device configures
its clocks in runtime_resume and runtime_suspend. These callbacks are
triggered from the pm8008 driver's regmap calls. This means regulator
framework requests for pm8008 call into the clock framework with the
regulator framework locks held. The qcom clock providers also call into
the regulator framework with the clock framework locks held. If thread A
makes a pm8008 request at the same time thread B makes a clock request,
then it can result in deadlocks. Thread A will be stuck waiting on the
clock locks while thread B is stuck waiting on the regulator locks.

To prevent these deadlocks, enable the I2C clocks required for pm8008 by
default during probe and stop registering them with the framework. This
NOPs any client requests, since of_clk_get() returns NULL when passed an
unregistered clock and all other clock APIs return success before
grabbing any locks when passed NULL.

Change-Id: I90c72e2588745d95472ad4a5b28144a3d4439762
Signed-off-by: Taniya Das <[email protected]>
2020-10-16 10:19:45 +05:30
qctecmdr
6998de7d04 Merge "mmc: core: Set reset done after hw reset" 2020-10-15 17:09:24 -07:00
qctecmdr
0b7aa5a74c Merge "iommu: arm-smmu: domain power on arm_smmu_map/map_sg" 2020-10-15 17:09:23 -07:00
qctecmdr
e308a4d511 Merge "iommu: iommu-debug: align iova before mapping" 2020-10-15 17:09:23 -07:00
qctecmdr
6e14331c56 Merge "input: touchscreen: focaltech: queue touch suspend work on workqueue" 2020-10-15 17:09:23 -07:00
qctecmdr
22c40c4905 Merge "haven: hh_msgq: add MSGQ label for display" 2020-10-15 17:09:23 -07:00
Todd Kjos
a2114d2456 ANDROID: Update KMI_GENERATION after KMI change
The KMI was changed by several patches on Oct 15. Update the
generation number.

Bug: 161946584
Signed-off-by: Todd Kjos <[email protected]>
Change-Id: If641819d24743f319cfe704b79ec479be8aae78f
2020-10-15 10:58:29 -07:00
Aman Mehta
0ef671a26e msm-perf: Removed game active status node
Removed the support for game status node to specifically compare
for gfx events, the same is archived with checking the value of pid.
This saves an extra fops on each iteration for game on and off.

Rejecting events with timestamp = 0.

Change-Id: Icbafc4d1f8fa1e444b9074fcf2fde47a6e85d609
Signed-off-by: Aman Mehta <[email protected]>
2020-10-15 10:22:59 -07:00
Pankaj Gupta
b817ad29cf msm: kgsl: Update the sequence to resume stalled SMMU on no GMU devices
Recently, sequence to resume stalled SMMU was updated to use GBIF GX
and CX halt to properly resume stalled SMMU but it was only taken care
for GMU devices. This patch updates the sequence for no GMU devices
as well to ensure that this debug feature works properly.

Change-Id: Idbdc5c8782ef5a63d05c879996792ce42c1bcf0b
Signed-off-by: Deepak Kumar <[email protected]>
Signed-off-by: Pankaj Gupta <[email protected]>
2020-10-15 21:45:16 +05:30
Greg Kroah-Hartman
9bb683349b ANDROID: GKI: update the .xml file with the October 15 ABI breakages
Leaf changes summary: 3291 artifacts changed (10 filtered out)
Changed leaf types summary: 5 (1 filtered out) leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 3237 Changed (9 filtered out), 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 49 Changed, 0 Added variable

3237 functions with some sub-type change:

49 Changed variables:
   type of variable changed:
      type size hasn't changed
      1 data member insertion:
        'deferred_split pglist_data::deferred_split_queue', at offset 42048 (in bits) at mmzone.h:785:1
      there are data member changes:
        'lruvec pglist_data::lruvec' offset changed from 42048 to 42304 (in bits) (by +256 bits)
        'unsigned long int pglist_data::flags' offset changed from 43136 to 43392 (in bits) (by +256 bits)
      3325 impacted interfaces

    type of variable changed:
      type size hasn't changed
      there are data member changes:
        type 'u64[2]' of 'task_struct::android_vendor_data1' changed:
          type name changed from 'u64[2]' to 'u64[3]'
          array type size changed from 128 to 192
          array type subrange 1 changed length from 2 to 3
        'u64 task_struct::android_kabi_reserved1' offset changed from 21312 to 21376 (in bits) (by +64 bits)
        'u64 task_struct::android_kabi_reserved2' offset changed from 21376 to 21440 (in bits) (by +64 bits)
        'u64 task_struct::android_kabi_reserved3' offset changed from 21440 to 21504 (in bits) (by +64 bits)
        'u64 task_struct::android_kabi_reserved4' offset changed from 21504 to 21568 (in bits) (by +64 bits)
        'u64 task_struct::android_kabi_reserved5' offset changed from 21568 to 21632 (in bits) (by +64 bits)
        'u64 task_struct::android_kabi_reserved6' offset changed from 21632 to 21696 (in bits) (by +64 bits)
        'u64 task_struct::android_kabi_reserved7' offset changed from 21696 to 21760 (in bits) (by +64 bits)
        'u64 task_struct::android_kabi_reserved8' offset changed from 21760 to 21824 (in bits) (by +64 bits)
      3325 impacted interfaces

'struct file at fs.h:955:1' changed:
  type size changed from 2048 to 2176 (in bits)
  2 data member insertions:
    'u64 file::android_kabi_reserved1', at offset 2048 (in bits) at fs.h:995:1
    'u64 file::android_vendor_data1', at offset 2112 (in bits) at fs.h:996:1
  3325 impacted interfaces

'struct mem_cgroup at memcontrol.h:208:1' changed:
  type size changed from 21504 to 22528 (in bits)
  1 data member insertion:
    'deferred_split mem_cgroup::deferred_split_queue', at offset 22144 (in bits) at memcontrol.h:334:1
  there are data member changes:
    type 'atomic_long_t[56]' of 'mem_cgroup::vmevents' changed:
      type name changed from 'atomic_long_t[56]' to 'atomic_long_t[70]'
      array type size changed from 3584 to 4480
      array type subrange 1 changed length from 56 to 70
    'atomic_long_t mem_cgroup::memory_events[7]' offset changed from 17280 to 18176 (in bits) (by +896 bits)
    'atomic_long_t mem_cgroup::memory_events_local[7]' offset changed from 17728 to 18624 (in bits) (by +896 bits)
    'unsigned long int mem_cgroup::socket_pressure' offset changed from 18176 to 19072 (in bits) (by +896 bits)
    'bool mem_cgroup::tcpmem_active' offset changed from 18240 to 19136 (in bits) (by +896 bits)
    'int mem_cgroup::tcpmem_pressure' offset changed from 18272 to 19168 (in bits) (by +896 bits)
    'int mem_cgroup::kmemcg_id' offset changed from 18304 to 19200 (in bits) (by +896 bits)
    'memcg_kmem_state mem_cgroup::kmem_state' offset changed from 18336 to 19232 (in bits) (by +896 bits)
    'list_head mem_cgroup::kmem_caches' offset changed from 18368 to 19264 (in bits) (by +896 bits)
    'int mem_cgroup::last_scanned_node' offset changed from 18496 to 19392 (in bits) (by +896 bits)
    'list_head mem_cgroup::cgwb_list' offset changed from 18560 to 19456 (in bits) (by +896 bits)
    'wb_domain mem_cgroup::cgwb_domain' offset changed from 18688 to 19584 (in bits) (by +896 bits)
    'memcg_cgwb_frn mem_cgroup::cgwb_frn[4]' offset changed from 19776 to 20672 (in bits) (by +896 bits)
    'list_head mem_cgroup::event_list' offset changed from 21056 to 21952 (in bits) (by +896 bits)
    'spinlock_t mem_cgroup::event_list_lock' offset changed from 21184 to 22080 (in bits) (by +896 bits)
    'mem_cgroup_per_node* mem_cgroup::nodeinfo[]' offset changed from 21248 to 22400 (in bits) (by +1152 bits)
  420 impacted interfaces

'struct memcg_vmstats_percpu at memcontrol.h:88:1' changed:
  type size changed from 6272 to 7168 (in bits)
  there are data member changes:
    type 'unsigned long int[56]' of 'memcg_vmstats_percpu::events' changed:
      type name changed from 'unsigned long int[56]' to 'unsigned long int[70]'
      array type size changed from 3584 to 4480
      array type subrange 1 changed length from 56 to 70
    'unsigned long int memcg_vmstats_percpu::nr_page_events' offset changed from 6016 to 6912 (in bits) (by +896 bits)
    'unsigned long int memcg_vmstats_percpu::targets[3]' offset changed from 6080 to 6976 (in bits) (by +896 bits)
  420 impacted interfaces

'struct pglist_data at mmzone.h:713:1' changed:
  details were reported earlier

'struct task_struct at sched.h:636:1' changed:
  details were reported earlier

Bug: 161946584
Change-Id: I84324ddd226df0c756d61fc02081dc4bc37f36b1
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2020-10-15 17:59:17 +02:00
qctecmdr
ccbf386326 Merge "f2fs: handle errors of f2fs_get_meta_page_nofail" 2020-10-15 08:45:49 -07:00
qctecmdr
742ed2a741 Merge "defconfig: sdxlemur: Enable CNSS platform driver" 2020-10-15 08:45:49 -07:00
qctecmdr
d659404b98 Merge "mmc: sdhci-msm: Add support for gcc hw reset for sdcc" 2020-10-15 08:45:48 -07:00
qctecmdr
10404900a1 Merge "Firmware: arm_scmi: Add #ifdef guards for vendor extensions" 2020-10-15 08:45:48 -07:00
Greg Kroah-Hartman
b7d30a3293 ANDROID: GKI: fs.h: add Android ABI padding to struct file
Try to mitigate potential future driver core api changes by adding
padding to struct file;

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Change-Id: Iba08ecfbd9cf365fe867cb57dbadf2eea00eaf0c
2020-10-15 17:21:03 +02:00
Egor Uleyskiy
3b300ff4c5 ANDROID: vendor_hooks: Add a vendor data to file struct
Add ANDROID_VENDOR_DATA(1) to struct file

Bug: 169343953
Signed-off-by: Egor Uleyskiy <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Change-Id: I1afc259f2bd02fee76b20802dda74cbe79658534
2020-10-15 17:21:03 +02:00
Egor Uleyskiy
e89b05984d ANDROID: vendor_hooks: Extend the vendor data array in task_struct
Add an element to ANDROID_VENDOR_DATA_ARRAY(1,2) in task_struct

Bug: 169343953
Signed-off-by: Egor Uleyskiy <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Change-Id: Iee22bb544da5cc355d162d7a966c656f453c8a33
2020-10-15 17:21:03 +02:00
Suren Baghdasaryan
7ee8b58cc1 ANDROID: GKI: add fields required to enable CONFIG_TRANSPARENT_HUGEPAGE
Devices with plenty of RAM might benefit from THP usage. Added fields
would allow to enable CONFIG_TRANSPARENT_HUGEPAGE without affecting ABI.

Bug: 168269341
Signed-off-by: Suren Baghdasaryan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Change-Id: Ieb644a8da5377383d514197ee02d7bfd6f1d346d
2020-10-15 17:21:03 +02:00
Quentin Perret
0ce2100bcf ANDROID: Drop abi_gki_aarch64_workarounds
ehci_handshake was added to the symbol list as a temporary workaround
for CRC-related issues in the ehci code. But since this has now been
fixed, let's drop the unnecessary symbol list altogether.

Bug: 167230325
Signed-off-by: Quentin Perret <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Change-Id: I8f56b01ff9bed8e0d417f8c90adb7c32480d55cf
2020-10-15 17:21:03 +02:00
Quentin Perret
f0c4a768cf UPSTREAM: ehci-hcd: Move include to keep CRC stable
The CRC calculation done by genksyms is triggered when the parser hits
EXPORT_SYMBOL*() macros. At this point, genksyms recursively expands the
types of the function parameters, and uses that as the input for the CRC
calculation. In the case of forward-declared structs, the type expands
to 'UNKNOWN'. Following this, it appears that the result of the
expansion of each type is cached somewhere, and seems to be re-used
when/if the same type is seen again for another exported symbol in the
same C file.

Unfortunately, this can cause CRC 'stability' issues when a struct
definition becomes visible in the middle of a C file. For example, let's
assume code with the following pattern:

    struct foo;

    int bar(struct foo *arg)
    {
	/* Do work ... */
    }
    EXPORT_SYMBOL_GPL(bar);

    /* This contains struct foo's definition */
    #include "foo.h"

    int baz(struct foo *arg)
    {
	/* Do more work ... */
    }
    EXPORT_SYMBOL_GPL(baz);

Here, baz's CRC will be computed using the expansion of struct foo that
was cached after bar's CRC calculation ('UNKOWN' here). But if
EXPORT_SYMBOL_GPL(bar) is removed from the file (because of e.g. symbol
trimming using CONFIG_TRIM_UNUSED_KSYMS), struct foo will be expanded
late, during baz's CRC calculation, which now has visibility over the
full struct definition, hence resulting in a different CRC for baz.

The proper fix for this certainly is in genksyms, but that will take me
some time to get right. In the meantime, we have seen one occurrence of
this in the ehci-hcd code which hits this problem because of the way it
includes C files halfway through the code together with an unlucky mix
of symbol trimming.

In order to workaround this, move the include done in ehci-hub.c early
in ehci-hcd.c, hence making sure the struct definitions are visible to
the entire file. This improves CRC stability of the ehci-hcd exports
even when symbol trimming is enabled.

Bug: 167230325
Acked-by: Alan Stern <[email protected]>
Cc: stable <[email protected]>
Signed-off-by: Quentin Perret <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
(cherry picked from commit 29231826f3bd65500118c473fccf31c0cf14dbc0)
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Change-Id: Ie56a4deee980652e5285a0744a8bcc2c9e60db73
2020-10-15 17:21:03 +02:00
Sandeep Singh
00410da99c icnss2: Avoid sending fw down uevent to wlan driver twice
Avoid sending fw down uevent to wlan driver twice for
one ssr/pdr.

Change-Id: I9c99b16c3760ef7b432df16b2f326db39371e3c3
Signed-off-by: Sandeep Singh <[email protected]>
2020-10-15 19:57:37 +05:30
wangting11
5427f8b72f ANDROID: GKI: update xiaomi symbol list
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 int snd_soc_dapm_del_routes(snd_soc_dapm_context*, const snd_soc_dapm_route*, int)'

Bug: 170934475

Signed-off-by: wangting11 <[email protected]>
Change-Id: I41e9e29e5f47345ae690a005630e00670285a20a
Signed-off-by: wangting11 <[email protected]>
2020-10-15 12:51:24 +00:00
Neeraj Upadhyay
0071fbbdb1 defconfig: msm: Enable qfprom_sys for Lahaina GKI
Enable qfprom_sys as module in Lahaina gki defconfig.

Change-Id: I91d0c9e3883d130ca7ed51c12aa96581950e09db
Signed-off-by: Neeraj Upadhyay <[email protected]>
2020-10-15 18:09:11 +05:30
qctecmdr
74d363dba8 Merge "soc: qcom: msm_perf: Allow freq updates regardless of policy" 2020-10-15 05:37:58 -07:00
qctecmdr
abe544901b Merge "msm: kgsl: Don't allow re-importing memory owned by KGSL" 2020-10-15 05:37:57 -07:00
qctecmdr
b4b4cb7340 Merge "usb: dt-bindings: Add USB 5NM QMP PHY register macros" 2020-10-15 05:37:57 -07:00
qctecmdr
899c0b5bc8 Merge "rpmsg: glink: Remove channel decouple from rpdev release" 2020-10-15 05:37:57 -07:00
qctecmdr
6fe5f956c4 Merge "defconfig: enable config to add QTI specific code for sdxlemur" 2020-10-15 05:37:56 -07:00
Maria Yu
ed7fcc393d fdt: Add correct return for early_init_dt_scan_memory
For currently if return 0 it will search the whole
device tree blob for all device type memory. It will
affect the unnecessary boot up time.

Change-Id: I688b54eda224b744bbc7e706f8b70cccdf8cc38c
Signed-off-by: Maria Yu <[email protected]>
2020-10-15 19:40:10 +08:00
Fei Mao
d35c6d58eb input: touchscreen: mxt: refine power on/off flow
Refine driver's power on/off flow and make regulators' state
to be proper in all scenes.

Change-Id: I5d26c3134dfbdc53037fe4aac16739b24c0c183b
Signed-off-by: Fei Mao <[email protected]>
2020-10-15 18:09:15 +08:00
Prakash Gupta
12860809a9 iommu: iommu-debug: align iova before mapping
Align iova based on size for optimal performance before mapping.

Change-Id: Ic1d9a2125690f91ad3b15f7373683edb48d9f497
Signed-off-by: Prakash Gupta <[email protected]>
2020-10-15 14:05:28 +05:30
Chenggang Wang
ecb88922f5 ANDROID: GKI: update Vivo symbol list
Update the Vivo symbol list to come up to date with some more modules.

No new symbols are exported from the system, so no .xml file change
needed.

Bug: 170931247
Change-Id: I21e8ce22e327f315efecb9c4597560239b1e0aae
Signed-off-by: Chenggang Wang <[email protected]>
2020-10-15 16:30:53 +08:00
Ram Prakash Gupta
2589a250bd mmc: core: Set reset done after hw reset
Set hw reset flag as done after sdcc hw reset else
hw reset as part of recovery happens only once.

md->reset_done flag is set inside mmc_blk_reset function with
flag MMC_BLK_CQE_RECOVERY. And this flag is cleared only
inside function mmc_blk_reset_success. But since mmc_blk_reset
and mmc_blk_reset_success are used with if else condition, code
flow can execute only one of the function, hence if mmc_blk_reset
is executed and not cleared within mmc_blk_reset_success, next
mmc_blk_reset call returns without resetting the hw.

Change-Id: I14915ae26240769b45cec8d2793e5f8604062eef
Signed-off-by: Ram Prakash Gupta <[email protected]>
2020-10-15 13:26:45 +05:30
Ram Prakash Gupta
6e5cc9ee3e mmc: sdhci-msm: Restore cmdq vendor cfg register
During cqe initialization, upon enabling cqe enable bit,
command queue engine gets reset. During hw reset this is
leading to SMMU fault as during reset tdl base register
contents are getting lost.

Restore cmdq vendor cfg register data post hw reset to disable
cqe reset post cqe initialization.

Change-Id: I8ffa2c2fa6754b697c4d441004efa4dc366bbf5f
Signed-off-by: Ram Prakash Gupta <[email protected]>
2020-10-15 13:25:32 +05:30
Ram Prakash Gupta
e2a34cfbfb mmc: sdhci-msm: Add support for gcc hw reset for sdcc
Add support for gcc hw reset for sdcc. This feature would
help recover emmc host controller and card cleanly in case
software recovery fails.
This would also help reset hwkm key during probe for crypto
when called during probe.

Change-Id: I32c7fbfb1a97bb69924e1a0c6ea90a400dd35c43
Signed-off-by: Ram Prakash Gupta <[email protected]>
2020-10-15 13:17:17 +05:30
Jaegeuk Kim
4c7f9d9f28 f2fs: handle errors of f2fs_get_meta_page_nofail
First problem is we hit BUG_ON() in f2fs_get_sum_page given EIO on
f2fs_get_meta_page_nofail().

Quick fix was not to give any error with infinite loop, but syzbot caught
a case where it goes to that loop from fuzzed image. In turned out we abused
f2fs_get_meta_page_nofail() like in the below call stack.

- f2fs_fill_super
 - f2fs_build_segment_manager
  - build_sit_entries
   - get_current_sit_page

INFO: task syz-executor178:6870 can't die for more than 143 seconds.
task:syz-executor178 state:R
 stack:26960 pid: 6870 ppid:  6869 flags:0x00004006
Call Trace:

Showing all locks held in the system:
1 lock held by khungtaskd/1179:
 #0: ffffffff8a554da0 (rcu_read_lock){....}-{1:2}, at: debug_show_all_locks+0x53/0x260 kernel/locking/lockdep.c:6242
1 lock held by systemd-journal/3920:
1 lock held by in:imklog/6769:
 #0: ffff88809eebc130 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0xe9/0x100 fs/file.c:930
1 lock held by syz-executor178/6870:
 #0: ffff8880925120e0 (&type->s_umount_key#47/1){+.+.}-{3:3}, at: alloc_super+0x201/0xaf0 fs/super.c:229

Actually, we didn't have to use _nofail in this case, since we could return
error to mount(2) already with the error handler.

As a result, this patch tries to 1) remove _nofail callers as much as possible,
2) deal with error case in last remaining caller, f2fs_get_sum_page().

Change-Id: I886e51597190332553b6a6bbd9fa474f4995bac6
Reported-by: [email protected]
Reviewed-by: Chao Yu <[email protected]>
Signed-off-by: Jaegeuk Kim <[email protected]>
Git-commit: 86f33603f8c51537265ff7ac0320638fd2cbdb1b
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux.git/
Signed-off-by: Sayali Lokhande <[email protected]>
2020-10-15 11:12:42 +05:30
Chris Lew
8fb662388c rpmsg: glink: Remove channel decouple from rpdev release
If a channel is being rapidly restarting and the kobj release worker
is busy, there is a chance the the rpdev_release function will run
after the channel struct itself has been released.

There should not be a need to decouple the channel from rpdev in the
rpdev release since that should only happen from the close commands.

Change-Id: Ia4131151b7efb014716c5a0666f940384975ea42
Signed-off-by: Chris Lew <[email protected]>
2020-10-14 21:54:20 -07:00
Rohith Kollalsi
6e482a1b77 usb: f_gsi: Memory optimization for buffers on gsi for low MEM variants
For low memory variant targets overall buffer size to be allocated
for gsi needs to be reduced. This patch introduces a defconfig
USB_LOW_MEM_VARIANT which is a boolean and will be set if target
is low memory variant and accordingly allocate memory for buffers
on GSI.

Change-Id: Ibc99fb0d04c964b3097af3896109dadb9ea473c9
Signed-off-by: Rohith Kollalsi <[email protected]>
2020-10-15 10:07:19 +05:30
Santosh Mardi
575809e6e3 Firmware: arm_scmi: Add #ifdef guards for vendor extensions
Surround vendor extensions with #ifdef directive to make them 
available only for QGKI builds.

Change-Id: Ibea4847739e97e4ffd9ea97223c20f14aa53a967
Signed-off-by: Santosh Mardi <[email protected]>
2020-10-14 21:00:58 -07:00