Commit graph

855748 commits

Author SHA1 Message Date
TheKit
f13e1f4e3e Import F(x)tec Pro1-X BSP kernel changes as of 2022-06-01 2022-06-13 23:51:22 +03:00
TheKit
c3bcbab00e kernel: Merge LA.UM.9.15.r1-05300-KAMORTA.0 2022-06-11 03:14:24 +03:00
TheKit
ff61e8228a vendor/pro1x-perf_defconfig: enable AppArmor 2022-05-12 15:15:57 +03:00
Alfred Neumayer
ca92696699 apparmor: Forward-port query_label function from AppArmor 3.0rc
This fixes the gallery not showing thumbnails due to query_label failing.
2022-05-12 14:37:26 +03:00
John Johansen
4fa869cac3 apparmor: fix use after free in sk_peer_label
BugLink: http://bugs.launchpad.net/bugs/1778646
Signed-off-by: John Johansen <john.johansen@canonical.com>
2022-05-12 14:37:12 +03:00
John Johansen
c294600383 apparmor: af_unix mediation
af_socket mediation did not make it into 4.17 so add remaining out
of tree patch

Signed-off-by: John Johansen <john.johansen@canonical.com>
2022-05-12 14:36:51 +03:00
John Johansen
c14c8a5bff apparmor: patch to provide compatibility with v2.x net rules
The networking rules upstreamed in 4.17 have a deliberate abi break
with the older 2.x network rules.

This patch provides compatibility with the older rules for those
still using an apparmor 2.x userspace and still want network rules
to work on a newer kernel.

Signed-off-by: John Johansen <john.johansen@canonical.com>
2022-05-12 14:34:20 +03:00
TheKit
5b5b8f55b8 vendor/pro1x-perf_defconfig: reapply Halium/hybris changes 2022-03-20 22:10:55 +02:00
TheKit
c2a4dee8c7 vendor/pro1x-perf_defconfig: regenerate from bengal-perf_defconfig 2022-03-20 22:05:00 +02:00
TheKit
4b0b2030fb vendor/pro1x_defconfig: make QCA_CLD_WLAN built-in 2022-03-20 21:57:53 +02:00
TheKit
175a880aa5 vendor/pro1x_defconfig: hybris friendly defconfig 2022-03-16 13:20:49 +02:00
TheKit
eb24170bbc vendor/pro1x_defconfig: initial changes for Halium 2022-03-16 12:00:53 +02:00
Linux Build Service Account
a71c4cdc90 Merge 2959ed5eb8 on remote branch
Change-Id: I08b3f8ddabec61613780468af7303919a588162b
2021-12-15 02:25:29 -08:00
Puranam V G Tejaswi
2959ed5eb8 msm: kgsl: Signal fence only if last fence refcount was not put
Currently there is a chance that release for the fence was already called
before we call dma_fence_get during kgsl_timeline_signal and
kgsl_ioctl_timeline_destroy. This can cause use-after-free issue as we can
access fence after release. Fix this by signalling fence only if the last
refcount on the fence was not yet put. This makes sure that release for the
fence will not be called until we are done signalling.

Change-Id: I6bdcefa1f128febb7a0f7aef133757268a3b9ae3
Signed-off-by: Puranam V G Tejaswi <pvgtejas@codeaurora.org>
Signed-off-by: Pranav Patel <quic_pranavp@quicinc.com>
2021-12-01 17:16:54 +05:30
TheKit
3978f77820 vendor/pro1x_defconfig: regenerate from /proc/config.gz on device 2021-11-30 14:15:28 +02:00
TheKit
dcc5a3eab7 techpack: audio: import Pro1-X changes 2022-03-20 20:45:59 +02:00
TheKit
1d86f7ae7b Import Pro1-X kernel source code 2022-03-20 00:13:44 +01:00
Linux Build Service Account
426be5f400 Merge e904060a40 on remote branch
Change-Id: Ie4e98c1cfb3b60c97d120857b97baece7b472b31
2021-11-29 22:08:02 -08:00
qctecmdr
e904060a40 Merge "msm: adsprpc: Handle UAF in process shell memory" 2021-11-26 09:39:00 -08:00
Zhou Guo
17f07c01bc media: v4l2: Allow ioctl type of "U" for video devices like usb camera
When uvc_gadget application tries to call ioctl to send response for
usb control request, it might call compat_ioctl on platforms having
32bit userspace and 64bit kernel space. This leads to UVC functionality
failure as v4l2_compat_ioctl32() is checking only for ioctl type as "V"
and returning error for usb ioctl of type "U". Hence fix the issue by
adding check for ioctl type of "U" as well and allow calling corresponding
ioctl callback.

CRs-Fixed: 3081837
Change-Id: Ie7ae67a796a8af5ea4a80fd437943b0f3d3b2afe
Signed-off-by: Zhou Guo <zhouguo@codeaurora.org>
2021-11-25 16:39:55 +08:00
prabha
51e05ee99d msm: adsprpc: Handle UAF in process shell memory
Added flag to indicate memory used
in process initialization. And, this memory
would not removed in internal unmap to avoid
UAF or double free.

Change-Id: Ie470fe58ac334421d186feb41fa67bd24bb5efea
Signed-off-by: prabha <prabha@codeaurora.org>
2021-11-25 11:46:34 +05:30
qctecmdr
8f53897b99 Merge "cnss2: Check if firmware asserts before power off for CBC" 2021-11-24 06:52:43 -08:00
qctecmdr
f4e3279c9b Merge "net: qrtr: Use radix_tree_iter_delete to delete tx flow" 2021-11-24 03:50:32 -08:00
qctecmdr
c0df939e7a Merge "net: qrtr: Cleanup flow control during DEL proc" 2021-11-23 23:58:07 -08:00
Madhvapathi Sriram
f41797e5c7 cnss2: Check if firmware asserts before power off for CBC
Do a final check for firmware assert before powering off device
in calibration mode. Collect RAM dump if firmware has asserted
for debug purpose. Also skip dump collection if device is already
powered off.

Change-Id: I99a438d6b7d7048b300244511c72d6fbfc610094
Signed-off-by: Yue Ma <yuem@codeaurora.org>
Signed-off-by: Madhvapathi Sriram <quic_msriram@quicinc.com>
2021-11-24 11:33:48 +05:30
qctecmdr
c7fd0e2c85 Merge "net: qrtr: Cleanup flow control during remote socket release" 2021-11-23 20:59:54 -08:00
qctecmdr
01f96cccff Merge "usb: gadget: cdev: Add single packet and dynamic buffer support for Rx path" 2021-11-22 20:51:39 -08:00
Ligui Deng
8c6a54ca0a usb: gadget: cdev: Add single packet and dynamic buffer support for Rx path
Display tearing functionality on SXR devices makes use of
both  bulk-in and bulk-out endpoints of cdev driver
to acquire real time audio/video data from usb host.

Currently if the userspace application making use of cdev
driver requests 50KB of data from host, the cdev_read function
queues multiple usb requests to host till it gets 50KB of data.
In Display Tearing, although the userspace application requests
50KB of data per frame, the actual amount sent by host for every
frame is variable and can be less than the requested amount. If
host is sending packets of size less that requested amount per frame,
driver ends up appending multiple frames in a single cdev_read call
and returns corrupt information to userspace causing low frame
rate on display.

To resolve this add a configfs property to specify the buffer size
for every usb request on out ep and a flag to specify if we need
single packet mode. If single packet mode is enabled, only one usb
request is queued on out endpoint per cdev_read call and buffer
corresponding to that request contains only one frame of data coming
from host. The driver appends data from one usb request in read_queued
pool to userspace buffer to avoid corrupting video frame information.

CRs-Fixed: 3038067
Change-Id: I1ba0b954d14f187eeddc511f4ac199784248b33b
Signed-off-by: Ligui Deng <ldeng@codeaurora.org>
2021-11-22 20:20:34 +08:00
qctecmdr
82146398a4 Merge "ipa: Null persistent pointers after free" 2021-11-18 21:32:31 -08:00
qctecmdr
01d1a8c414 Merge "leds: qpnp-flash-v2: Add support for dynamic torch current update" 2021-11-17 07:28:39 -08:00
qctecmdr
3b795abefd Merge "qdss_bridge: handle usb write done event" 2021-11-17 04:12:22 -08:00
Arun Prakash
b669e0ea2e net: qrtr: Use radix_tree_iter_delete to delete tx flow
Below two issues are handled in this change.

1.Use radix_tree_iter_delete instead of radix_tree_delete to properly
remove slots in a radix tree without any dangling references.

2.Flow entry can be deleted when sending process waiting on the queue
if remote socket closes.Which leads to accessing non-valid flow entry.
To resolve this lookup for the tx flow entry each time before reading
flow count or inserting caller process to waiting list to check the
validity of flow entry in the radix tree.

Change-Id: I42b85b53cfcf5cd4256fbd6cb445d0098078a6f0
Signed-off-by: Arun Prakash <app@codeaurora.org>
2021-11-17 17:41:02 +05:30
Ilia Lin
12f20f950a ipa: Null persistent pointers after free
Assign NULL to pointers that may be used later
after calling kfree on them.

Change-Id: I3298eb484c92ee2373f0bc41aae8ae45fb373cf0
Signed-off-by: Ilia Lin <ilialin@codeaurora.org>
2021-11-17 03:51:32 -08:00
Arun Prakash
e13155f7ef net: qrtr: Cleanup flow control during DEL proc
Flow control cleanup of remote socket is not happening in
case of DEL proc which will cause flow control hit for that
remote socket once the proc is active again.

Cleanup flow control on the reception of DEL proc command.

Change-Id: I9cbaa121d7ca39a887b423ee274652dccaba8a38
Signed-off-by: Arun Prakash <app@codeaurora.org>
2021-11-17 12:35:58 +05:30
Yuanfang Zhang
45c3592664 qdss_bridge: handle usb write done event
USB_QDSS_DATA_WRITE_DONE event should be handle in
usb_notifier(), even if drvdata->open != ENABLE.

Change-Id: I7c7e106f03cf819117abfed67f2095e59d90004d
Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com>
2021-11-17 14:22:38 +08:00
Linux Build Service Account
9300138aad Merge 666f50fb93 on remote branch
Change-Id: I67d00d623efdce534bb0a293c7f8ed9a866c58d5
2021-11-16 22:21:48 -08:00
Arun Prakash
7006b6e27f net: qrtr: Cleanup flow control during remote socket release
In case of Q6 SSR for MSM+MDM target flow control cleanup is
not happening for the remote socket on MSM which might cause
flow control hit for that remote socket.

Cleanup flow control for each deleted remote server or client.

Change-Id: Ieaff0d6bb2605e9db54f93dd199dd481420067af
Signed-off-by: Arun Prakash <app@codeaurora.org>
2021-11-17 11:28:01 +05:30
Jishnu Prakash
707b831567 leds: qpnp-flash-v2: Add support for dynamic torch current update
Add support to update torch current for all torch devices under
a switch if switch has already been enabled, without requiring
disablement of switch before updating new value.

Change-Id: I51e8d5701395fa095e3623cba0d2aaeae7c910ef
Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org>
2021-11-17 10:31:42 +05:30
Archana Sriram
72394b6690 thermal: Update copyright info for ADC_TM driver
Update copyright info for qpnp-adc-tm driver files.

Change-Id: I07a0846c0fdc6970e092b1d2d3fb741aef73b952
Signed-off-by: Archana Sriram <quic_c_apsrir@quicinc.com>
2021-11-16 15:07:32 +05:30
Arun Prakash
48e493cb88 net: qrtr: Converting DEL_PROC command to BYE command
Converting DEL_PROC control command to BYE command to
cleanup service/client details of MSM.

Change-Id: I08d22d47b092e0124f5e9a58451f1dbcaaf14ed1
Signed-off-by: Arun Prakash <app@codeaurora.org>
2021-11-15 12:56:21 +05:30
qctecmdr
666f50fb93 Merge "diag: Update log and event mask code ranges" 2021-11-09 04:50:41 -08:00
qctecmdr
0dbe65f5a2 Merge "defconfig: Enable SPMI TEMP ALARM driver for SPF targets" 2021-11-09 04:50:40 -08:00
qctecmdr
1affe01f14 Merge "drivers: thermal: Update a variable type in QMI encode logic" 2021-11-09 01:35:11 -08:00
Archana Sriram
aa85b8b635 defconfig: Enable SPMI TEMP ALARM driver for SPF targets
Enable config for SPMI TEMP ALARM driver for SPF targets
to be able to read temperature of temp alarm sensor.

Change-Id: If704bf800d79d06f070e63178748ac759af513e2
Signed-off-by: Archana Sriram <apsrir@codeaurora.org>
2021-11-09 12:33:55 +05:30
qctecmdr
05b4289870 Merge "msm: kgsl: Update the IFPC power up reglist" 2021-11-05 08:45:46 -07:00
Jagadeesh Ponduru
65d001e386 msm: ipa3: Fix to NULL terminate the header pointer in proc header table
While resetting the header rules if it finds invalid header ID it
will return before freeing proc header table it was leading to use
after free when accessing the header pointer from proc header table.
Adding changes to NULL terminating header pointer in proc header table
after header table deleted from the list.

Change-Id: If270d855d3907e61368336316161a250053e1e62
Signed-off-by: Jagadeesh Ponduru <jponduru@codeaurora.org>
2021-11-03 21:54:52 +05:30
qctecmdr
e7f004a48d Merge "media: uvcvideo: Use cached memory for USB transfers" 2021-11-01 11:45:23 -07:00
qctecmdr
ca59b61cf4 Merge "usb: dwc3: Prevent deadlock when wakeup happens through pwr event irq" 2021-11-01 07:20:18 -07:00
Rohith Kollalsi
93f8a37113 usb: dwc3: Prevent deadlock when wakeup happens through pwr event irq
Consider a scenario when a device which supports auto suspend is
connected to DUT and auto suspend happened. Now, as the device is
disconnected to DUT. Resume_work is called due to extcon notification
of disconnect and then again suspend is expected to schedule. As
a part of disconnect, pwr event irq and DP_HS_PHY_IRQ also got
triggered and now since usb is in lpm, resume work got scheduled
twice. This resume work flushed sm_work which is stuck because
disable_irq call is waiting for pwr_irq call which called resume_work
to complete. This is clearly a circular dependency because
resume work will flush sm_work which is waiting for pwr_irq_thread
to be complete because disable_irq in msm_suspend waits for
pwr_irq_handler to complete.

Solve this by replacing disable_irq api with disable_irq_nosync
so that it doesn't block control suspend.

Below are the sequence of events.

	usb is auto suspended with device connected to DUT.

	Now device is disconnected from DUT and hence resume
	hanppens first and then suspend.

	dwc3_resume_work is called due to extcon as a part of
	disconnect then suspend will be scheduled.

	When dwc3 is still in lpm, i.e dwc3_resume_work did
	not take effect yet.

	Now power event irq is fired because of which resume
	work runs.

	This resume work flushes sm work. Which is currently
	executing msm_suspend where disable_irq is waiting
	for power_irq call to finish which is waiting for
	sm_work to finish.

Change-Id: Ibf6e73663d4acaf997291e7eff6577adeaad6e8a
Signed-off-by: Rohith Kollalsi <quic_rkollals@quicinc.com>
2021-11-01 14:22:36 +05:30
Linux Build Service Account
66b8c52ba4 Merge e29f5d1c4e on remote branch
Change-Id: Ieba1f3af5ceb6d39f22d3726d47bea130b6f63a0
2021-11-01 00:58:20 -07:00