Commit graph

602421 commits

Author SHA1 Message Date
Johannes Berg
da24b5fa50 ipv4: add option to drop gratuitous ARP packets
In certain 802.11 wireless deployments, there will be ARP proxies
that use knowledge of the network to correctly answer requests.
To prevent gratuitous ARP frames on the shared medium from being
a problem, on such deployments wireless needs to drop them.

Enable this by providing an option called "drop_gratuitous_arp".

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 4078228159c9f54cca7347a8bdace29f2abdef65)

Change-Id: I8772dbd7471085878f8b4161eb2a056d79b8b232
2018-12-30 12:35:55 +01:00
Pranav Vashi
6fe8b6e686 cpufreq: deoneplusify and remove PM QOS changes
Change-Id: I5a4fc49a9238d996cfe372a82e8988df3cfe0e30
2018-12-30 10:12:25 +01:00
Johannes Berg
ef6786d280 ipv6: add option to drop unsolicited neighbor advertisements
In certain 802.11 wireless deployments, there will be NA proxies
that use knowledge of the network to correctly answer requests.
To prevent unsolicitd advertisements on the shared medium from
being a problem, on such deployments wireless needs to drop them.

Enable this by providing an option called "drop_unsolicited_na".

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit aec215e7aa380fe5f85eb6948766b58bf78cb6c3)

Change-Id: Iad429a767a786087b0985632be44932b2e3fd1a8
2018-12-30 10:11:48 +01:00
Johannes Berg
b4a8e0d981 ipv6: add option to drop unicast encapsulated in L2 multicast
In order to solve a problem with 802.11, the so-called hole-196 attack,
add an option (sysctl) called "drop_unicast_in_l2_multicast" which, if
enabled, causes the stack to drop IPv6 unicast packets encapsulated in
link-layer multi- or broadcast frames. Such frames can (as an attack)
be created by any member of the same wireless network and transmitted
as valid encrypted frames since the symmetric key for broadcast frames
is shared between all stations.

Reviewed-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit dede82143bf1bbf92ea73a519bb0298b19c56cb9)

Change-Id: I76c8f84b53e95c40ad3c2b5adac0ec4964cc920c
2018-12-30 10:11:31 +01:00
Johannes Berg
dc5a07ff18 ipv4: add option to drop unicast encapsulated in L2 multicast
In order to solve a problem with 802.11, the so-called hole-196 attack,
add an option (sysctl) called "drop_unicast_in_l2_multicast" which, if
enabled, causes the stack to drop IPv4 unicast packets encapsulated in
link-layer multi- or broadcast frames. Such frames can (as an attack)
be created by any member of the same wireless network and transmitted
as valid encrypted frames since the symmetric key for broadcast frames
is shared between all stations.

Additionally, enabling this option provides compliance with a SHOULD
clause of RFC 1122.

Change-Id: I8de9fa5bdbea0556802f2ee553d0e73c1349213e
Reviewed-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-12-30 10:11:23 +01:00
codeworkx
8a4c483457 usb: deoneplusify usb stack
Causes freezes and crashes on cheeseburger when using MTP
or switching android usb debugging on/off.

Change-Id: If08cc8a2662122b24c3fd0fcc5d421bb6a84d777
2018-12-30 09:53:05 +01:00
codeworkx
d3a2b7ab76 smb: enable otg feature on driver init and based on dash status
Change-Id: Ic8d554e9df4457bc9e3ad8c2182d5b555b3513bf
2018-12-27 14:28:05 +01:00
codeworkx
5ca00b233b oneplus5: disable qcom dload mode
Change-Id: I196e4056d6cc7f37a9bccd89168f41c3c1f3d0d3
2018-12-26 10:41:10 +01:00
Pranav Vashi
1c38c5a897 power: Fix compilation without QCOM_DLOAD_MODE
* Add ifdef for OP additions.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2018-12-26 10:39:58 +01:00
Ethan Chen
8779ddc899 Revert "Android.bp: Initial header export bp for Android (qseecom only)"
This reverts commit 1a0aae2861.

Change-Id: I7788582bdc3576d25c64e5c9ab3d7a51340a1eba
2018-12-26 08:21:03 +01:00
codeworkx
96686cfcf2 mdss: use lower case letters for adobe_rgb, dcip3 and srgb to be consistent
Change-Id: Id7955f4c1675bc4b75a177b2bbbd4117694582b4
2018-12-26 08:21:03 +01:00
Ethan Chen
e6c2b3cc40 uapi: Define __BITS_PER_LONG based on compiler target
* We may compile 32-bit ARM code against these kernel headers in many
  situations, so provide a compiler-defined method of obtaining the width
  of long.

Change-Id: Iac5e48200d70f1258ab3caca1a8f1eb6e8f7f2d3
2018-12-26 08:21:03 +01:00
codeworkx
5c945abcf9 tri_state_key: bring inline with lineage-15.1
Change-Id: Ia6ccec439c4c5f00646ecde3c3e9449f9711df65
2018-12-26 08:21:03 +01:00
codeworkx
c691b3c5fc fpc1020: bring inline with lineage-15.1
Change-Id: Icd0327cd8a5a537b91de8b7609d1b05edfeeb091
2018-12-26 08:21:03 +01:00
codeworkx
3ea60bc578 synaptics S3320: bring inline with lineage-15.1
Change-Id: I36d8cbac90add8cccef212eccae7dede9c9b806a
2018-12-26 08:21:03 +01:00
Sam Mortimer
083d0a1baf msm8998: Add proximity_state sysfs support to goodix driver
*) Implements sysfs proximity_state so that fp reader
   can be disabled by PocketMode app.

*) Code fragments copied from fpc1020 driver where possible.

Change-Id: If0e6fa3172e1546d989de8522b2bdd734a3840a6
2018-12-26 08:21:03 +01:00
codeworkx
176c73a746 gf_spi: add missing OEM_DEBUG_SUPPORT cflag
Change-Id: Ifa3b2907664dcafeb409f42a1718d92a45b0c375
2018-12-26 08:21:03 +01:00
codeworkx
05a8f2ac2b oneplus5: enable BFQ
Change-Id: I3cd34d4e851e60d4de21328bf7c5e144aa94cf11
2018-12-26 08:21:03 +01:00
Tim Murray
462a825e88 cpuidle: don't disable cpuidle when entering suspend
cpuidle was disabled while entering suspend as part of commit
8651f97bd9 in order to work around some
ACPI bugs. However, there's no reason to do this on modern
platforms. Leaving cpuidle enabled can result in improved power
consumption if dpm_resume_noirq runs for a significant time.

Change-Id: Ie182785b176f448698c0264eba554d1e315e8a06
2018-12-26 08:21:03 +01:00
Alex Naidis
eaced92da7 DTS: Reduce msm-core polling rate to 100ms
100ms is a better polling rate since the
scheduler's informational demand is lower
than expected.

Change-Id: I5c399155d9bc2469b249bff9e3b9a744b4121429
2018-12-26 08:21:03 +01:00
Park Ju Hyung
9a1200bfb8 cpufreq: fix op miss
Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
2018-12-26 08:21:03 +01:00
Sultanxda
5a5e77d5f5 power: msm-core: Fix mutex not getting unlocked in error path
When this copy_to_user() fails, the mutex won't be unlocked. Fix it.

Change-Id: I99c93fd04e812d187b83ff375d95a2abba82f501
Signed-off-by: Sultanxda <sultanxda@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2018-12-26 08:21:03 +01:00
Alexander Martinz
1e6bd4fc3b arm: dts: properly configure ramoops and reserved memory regions
Get rid of reserved bootloader_log, mtp and param regions, as we do not
use them.

This also removes the need to bump MAX_RESERVED_REGIONS in
  - drivers/of/of_reserved_mem.c

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2018-12-26 08:21:03 +01:00
Alexander Martinz
8a8d2137ec block, bfq: fix build breakage
Caused by latest block changes from 06100.
struct backing_device_info is not available anymore.

Change-Id: I47ca095ffbad02c3d9158d869d89485ed005435f
Signed-off-by: Alexander Martinz <alex@amartinz.at>
2018-12-26 08:21:03 +01:00
Alexander Martinz
833ce657e4 block, bfq: update to latest bfq-v8-v4.4 state
BFQ-v8r12 up to 887cf43acdb1d5415fa678e4a63be8fe1bab2d3a

Change-Id: I4725397969026ff9fa969d598c4378f24800c31d
Signed-off-by: Alexander Martinz <alex@amartinz.at>
2018-12-26 08:21:03 +01:00
Mauro Andreolini
6b7d5107ba block, bfq: add Early Queue Merge (EQM) to BFQ-v7r11 for 4.4.0
A set of processes may happen  to  perform interleaved reads, i.e.,requests
whose union would give rise to a  sequential read  pattern.  There are two
typical  cases: in the first  case,   processes  read  fixed-size chunks of
data at a fixed distance from each other, while in the second case processes
may read variable-size chunks at  variable distances. The latter case occurs
for  example with  QEMU, which  splits the  I/O generated  by the  guest into
multiple chunks,  and lets these chunks  be served by a  pool of cooperating
processes,  iteratively  assigning  the  next  chunk of  I/O  to  the first
available  process. CFQ  uses actual  queue merging  for the  first type of
rocesses, whereas it  uses preemption to get a sequential  read pattern out
of the read requests  performed by the second type of  processes. In the end
it uses  two different  mechanisms to  achieve the  same goal: boosting the
throughput with interleaved I/O.

This patch introduces  Early Queue Merge (EQM), a unified mechanism to get a
sequential  read pattern  with both  types of  processes. The  main idea is
checking newly arrived requests against the next request of the active queue
both in case of actual request insert and in case of request merge. By doing
so, both the types of processes can be handled by just merging their queues.
EQM is  then simpler and  more compact than the  pair of mechanisms used in
CFQ.

Finally, EQM  also preserves the  typical low-latency properties of BFQ, by
properly restoring the weight-raising state of a queue when it gets back to
a non-merged state.

Change-Id: I9c626abcc591f9d9bc82fa535b7a11a38b6f89cb
Signed-off-by: Mauro Andreolini <mauro.andreolini@unimore.it>
Signed-off-by: Arianna Avanzini <avanzini@google.com>
Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-12-26 08:21:03 +01:00
Paolo Valente
b7fd876358 block: introduce the BFQ-v7r11 I/O sched for 4.4.0
The general structure is borrowed from CFQ, as much of the code for
handling I/O contexts. Over time, several useful features have been
ported from CFQ as well (details in the changelog in README.BFQ). A
(bfq_)queue is associated to each task doing I/O on a device, and each
time a scheduling decision has to be made a queue is selected and served
until it expires.

    - Slices are given in the service domain: tasks are assigned
      budgets, measured in number of sectors. Once got the disk, a task
      must however consume its assigned budget within a configurable
      maximum time (by default, the maximum possible value of the
      budgets is automatically computed to comply with this timeout).
      This allows the desired latency vs "throughput boosting" tradeoff
      to be set.

    - Budgets are scheduled according to a variant of WF2Q+, implemented
      using an augmented rb-tree to take eligibility into account while
      preserving an O(log N) overall complexity.

    - A low-latency tunable is provided; if enabled, both interactive
      and soft real-time applications are guaranteed a very low latency.

    - Latency guarantees are preserved also in the presence of NCQ.

    - Also with flash-based devices, a high throughput is achieved
      while still preserving latency guarantees.

    - BFQ features Early Queue Merge (EQM), a sort of fusion of the
      cooperating-queue-merging and the preemption mechanisms present
      in CFQ. EQM is in fact a unified mechanism that tries to get a
      sequential read pattern, and hence a high throughput, with any
      set of processes performing interleaved I/O over a contiguous
      sequence of sectors.

    - BFQ supports full hierarchical scheduling, exporting a cgroups
      interface.  Since each node has a full scheduler, each group can
      be assigned its own weight.

    - If the cgroups interface is not used, only I/O priorities can be
      assigned to processes, with ioprio values mapped to weights
      with the relation weight = IOPRIO_BE_NR - ioprio.

    - ioprio classes are served in strict priority order, i.e., lower
      priority queues are not served as long as there are higher
      priority queues.  Among queues in the same class the bandwidth is
      distributed in proportion to the weight of each queue. A very
      thin extra bandwidth is however guaranteed to the Idle class, to
      prevent it from starving.

Change-Id: I1c789ca3c2eb93972d742f82ee729cfe5fb7170c
Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
Signed-off-by: Arianna Avanzini <avanzini@google.com>
2018-12-26 08:21:02 +01:00
Sultanxda
3f14eeeba3 usb: dwc3-msm: Remove indefinite wakeup
Something is wrong with this wakeup; it isn't always relaxed, thus
wreaking havoc on battery life. We already have a wakeup in smbcharger
that is triggered on USB connection, so instead of fixing this one, just
remove it since it's redundant.
2018-12-26 08:21:02 +01:00
codeworkx
059a3189df oneplus5: optimize defconfig
Change-Id: I8da1f36855269fdf98588fea38e6c80869d792e4
2018-12-26 08:21:02 +01:00
codeworkx
dc9467f236 leds-qpnp: revert changes made by op
Change-Id: I80c710dbee8f57fe522a82f4b5bd0c6e09c0553f
2018-12-26 08:21:02 +01:00
Pranav Vashi
aa79d2f01e drivers: Allow disabling OEM debug support
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2018-12-26 08:21:02 +01:00
Srinivas Girigowda
42535d6d10 cfg80211: Support backport of removing ieee80211
Bug: 62058353
Change-Id: Id8725947048bb4ba461dcb77b7b9023991a304be
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
2018-12-26 08:21:02 +01:00
Johannes Berg
37cfc3815d BACKPORT: cfg80211: remove enum ieee80211_band
This enum is already perfectly aliased to enum nl80211_band, and
the only reason for it is that we get IEEE80211_NUM_BANDS out of
it. There's no really good reason to not declare the number of
bands in nl80211 though, so do that and remove the cfg80211 one.

Change-Id: Ifc56e6297146c9095432b757fabd0c463d7cc583
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Bug: 62057517
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
2018-12-26 08:21:02 +01:00
Tom Marshall
030f585c4e kernel: Fix potential refcount leak in su check
Change-Id: I8d2c8bed65a01eb0928308df638a04449a5bd881
2018-12-26 08:21:02 +01:00
Tom Marshall
e76227950e kernel: Only expose su when daemon is running
It has been claimed that the PG implementation of 'su' has security
vulnerabilities even when disabled.  Unfortunately, the people that
find these vulnerabilities often like to keep them private so they
can profit from exploits while leaving users exposed to malicious
hackers.

In order to reduce the attack surface for vulnerabilites, it is
therefore necessary to make 'su' completely inaccessible when it
is not in use (except by the root and system users).

Change-Id: I79716c72f74d0b7af34ec3a8054896c6559a181d
2018-12-26 08:21:02 +01:00
codeworkx
836593a31c oneplus5: leds: enable rgb sync 2018-12-26 08:21:02 +01:00
Scott Mertz
98658095b9 leds: leds-qpnp: add synchronized rgb control
Change-Id: Idd480a7d251a550f02f30e84f29a3f87f4e91323
2018-12-26 08:21:02 +01:00
matt_huang
82ba692ded pwm: qpnp: Fix qcom HW known issue
Bug: 62311944
Add 1ms delay to fix pwm abnormal HW known issue.
Change-ID: Ied6ca9caf659844655379f0df1b30b5b1c7aea87
Signed-off-by: matt_huang <matt_huang@htc.com>
2018-12-26 08:21:02 +01:00
yanyh2
b5207a48fe pwm-qpnp: fix the uninitialized pwm mode issue
If the led request the PWM mode and the initial mode is PWM
when change the led pwm mode, it will fail to change pwm mode
for no mode change with a uninitialized return code and cause
the LED configuration failing

Change-Id: I29ba3823fb7b4f0d1b2a0d9f22c464c94fbe9717
Signed-off-by: yanyh2 <yanyh2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1072946
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Yeqing Wang <wangyq13@motorola.com>
Reviewed-by: Coverity Analysis <coverity@motorola.com>
Reviewed-by: Kenneth Kessler <kennykessler@motorola.com>
Submit-Approved: Jira Key
2018-12-26 08:21:02 +01:00
Scott Mertz
9bf720ca64 pwm: qpnp-pwm: add api for synchronous enable of pwms
Change-Id: Ibe4d8f8f8c9dbb89434cd633a049bd9e216af6f4
2018-12-26 08:21:01 +01:00
codeworkx
f1446c7015 oneplus5: build qcacld 3.0
Change-Id: I3d9e22c8b83e240f01bd28fd2ecc3637759cc3f6
2018-12-26 08:21:01 +01:00
codeworkx
453c664baf staging: import wifi stack from LA.UM.7.4.r1-04100-8x98.0 2018-12-26 08:21:01 +01:00
Pranav Vashi
652ec5b399 oneplus5: Do not enable verity
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2018-12-26 08:21:01 +01:00
codeworkx
432b69c3d1 oneplus5: add initial defconfig
Change-Id: I196ae9cec431217fba6fe24e457e7c035bab7f55
2018-12-26 08:20:56 +01:00
Daniel Rosenberg
86a3796176 ANDROID: sdcardfs: Change current->fs under lock
Adjusted from previous version to add missing include

bug: 111641492

Change-Id: I321d83f5d599efb3abdfaf2f3a4900ac512beca6
Reported-by: Jann Horn <jannh@google.com>
Signed-off-by: Daniel Rosenberg <drosen@google.com>
Git-commit: f6d0920c41a732be06d284177311b57335227bd1
Git-repo: https://android.googlesource.com/kernel/common/
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
2018-12-26 08:00:06 +01:00
Daniel Rosenberg
f974075f8c ANDROID: sdcardfs: Don't use OVERRIDE_CRED macro
The macro hides some control flow, making it easier
to run into bugs.

bug: 111642636

Change-Id: I37ec207c277d97c4e7f1e8381bc9ae743ad78435
Reported-by: Jann Horn <jannh@google.com>
Signed-off-by: Daniel Rosenberg <drosen@google.com>
Git-commit: e1a7c83cfd36c26e208c72740a045a8fe79aee44
Git-repo: https://android.googlesource.com/kernel/common/
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
Signed-off-by: Srinivasa Rao Kuppala <srkupp@codeaurora.org>
2018-12-26 08:00:06 +01:00
Rohit kumar
1e9e68e4ef ASoC: Fix UBSAN warning at snd_soc_get/put_volsw_sx()
In functions snd_soc_get_volsw_sx() or snd_soc_put_volsw_sx(),
if the result of (min + max) is negative, then fls() returns
signed integer with value as 32. This leads to signed integer
overflow as complete operation is considered as signed integer.

UBSAN: Undefined behaviour in sound/soc/soc-ops.c:382:50
signed integer overflow:
-2147483648 - 1 cannot be represented in type 'int'
Call trace:
[<ffffff852f746fe4>] __dump_stack lib/dump_stack.c:15 [inline]
[<ffffff852f746fe4>] dump_stack+0xec/0x158 lib/dump_stack.c:51
[<ffffff852f7b5f3c>] ubsan_epilogue+0x18/0x50 lib/ubsan.c:164
[<ffffff852f7b6840>] handle_overflow+0xf8/0x130 lib/ubsan.c:195
[<ffffff852f7b68f0>] __ubsan_handle_sub_overflow+0x34/0x44 lib/ubsan.c:211
[<ffffff85307971a0>] snd_soc_get_volsw_sx+0x1a8/0x1f8 sound/soc/soc-ops.c:382

Typecast the operation to unsigned int to fix the issue.

Change-Id: I40d070b1357f016eb1622146180e4abb340e5d00
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Git-commit: ae7d1247d8673ebfd686b17e759d4be391165368
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
2018-12-26 07:58:34 +01:00
Mohammed Nayeem Ur Rahman
cbd6e50a51 msm: ADSPRPC: debugfs global and dsp file changes.
Changes the naming convention and adds
PID as suffix to the debugfs files.

Adds debugfs file data in the tabular format and also
creates global file in /sys/kernel/debug/adsprpc directory.

Change-Id: I25f3f7ea59dd39c9d44d99c8503f431f10072c33
Signed-off-by: Mohammed Nayeem Ur Rahman <mohara@codeaurora.org>
2018-12-26 07:58:34 +01:00
Banajit Goswami
458cfa59c9 ASoC: change mask in snd_soc_get/put_volsw_sx to unsigned int
If the result of (min + max) is negative in functions
snd_soc_get_volsw_sx() or snd_soc_put_volsw_sx(), there
will be an overflow for the variable 'mask'.
   UBSAN: Undefined behaviour in sound/soc/soc-ops.c:382:6
   signed integer overflow:
   -2147483648 - 1 cannot be represented in type 'int'

Fix this by updating the variable type of 'mask' to unsigned int.

Change-Id: Ia34f397fad5b93c0e2ffacae60e051ad20c20bdf
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2018-12-26 07:58:34 +01:00
Tejaswi Tanikella
0560cec7c7 pppolac: pull udp header before sock enqueue
pppolac driver incorrectly enqueues the packet into the sock queue
without pulling UDP headers. The application will receive data along
with UDP header when L2TP control packets are received.

The issue was introduced after moving UDP header removal functionality
from process rcvmesg context to BH context.

Instead of pppolac driver directly queuing L2TP control packets into
socket queue, return packet to udp_queue_rcv_skb, which will deliver the
packet to the application after pulling the UDP header.

Fixes: e6afc8ace ("udp: remove headers from UDP packets before queueing")

Change-Id: Icfa0fd8da43ea9c14fa7c718746a6529651ac202
Signed-off-by: Tejaswi Tanikella <tejaswit@codeaurora.org>
Signed-off-by: Chinmay Agarwal <chinagar@codeaurora.org>
Acked-by: Sharath Chandra Vurukala <sharathv@qti.qualcomm.com>
2018-12-26 07:58:34 +01:00