~kamalmostafa/ubuntu/+source/linux/+git/bionic:bionic-v4.15.18
- Git
- lp:~kamalmostafa/ubuntu/+source/linux/+git/bionic
- bionic-v4.15.18
- Get this branch:
-
git clone
-b bionic-v4.15.18
https://git.launchpad.net/~kamalmostafa/ubuntu/+source/linux/+git/bionic
Branch merges
Related source package recipes
Branch information
- Name:
- bionic-v4.15.18
Recent commits
- a6a4bf2... by Greg Kroah-Hartman <email address hidden>
-
Linux 4.15.18
BugLink: http://
bugs.launchpad. net/bugs/ 1769723 Signed-off-by: Kamal Mostafa <email address hidden>
- 3316c62... by Amir Goldstein <email address hidden>
-
ovl: set lower layer st_dev only if setting lower st_ino
BugLink: http://
bugs.launchpad. net/bugs/ 1769723 commit 9f99e50d460ac7f
d5f6c9b97aad008 8c28c8656d upstream. For broken hardlinks, we do not return lower st_ino, so we should
also not return lower pseudo st_dev.Fixes: a0c5ad307ac0 ("ovl: relax same fs constraint for constant st_ino")
Cc: <email address hidden> #v4.15
Signed-off-by: Amir Goldstein <email address hidden>
Signed-off-by: Miklos Szeredi <email address hidden>
Signed-off-by: Amir Goldstein <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden> - 80b9ef3... by Sudhir
-
rtl8187: Fix NULL pointer dereference in priv->conf_mutex
BugLink: http://
bugs.launchpad. net/bugs/ 1769723 commit 7972326a26b5bf8
dc2adac575c4e03 ee7e9d193a upstream. This can be reproduced by bind/unbind the driver multiple times
in AM3517 board.Analysis revealed that rtl8187_start() was invoked before probe
finishes(ie. before the mutex is initialized).INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 0 PID: 821 Comm: wpa_supplicant Not tainted 4.9.80-dirty #250
Hardware name: Generic AM3517 (Flattened Device Tree)
[<c010e0d8>] (unwind_backtrace) from [<c010beac>] (show_stack+0x10/0x14)
[<c010beac>] (show_stack) from [<c017401c>] (register_lock_class+ 0x4f4/0x55c)
[<c017401c>] (register_lock_class) from [<c0176fe0>] (__lock_ acquire+ 0x74/0x1938)
[<c0176fe0>] (__lock_acquire) from [<c0178cfc>] (lock_acquire+0xfc/0x23c)
[<c0178cfc>] (lock_acquire) from [<c08aa2f8>] (mutex_lock_nested+ 0x50/0x3b0)
[<c08aa2f8>] (mutex_lock_nested) from [<c05f5bf8>] (rtl8187_start+0x2c/ 0xd54)
[<c05f5bf8>] (rtl8187_start) from [<c082dea0>] (drv_start+0xa8/0x320)
[<c082dea0>] (drv_start) from [<c084d1d4>] (ieee80211_do_open+ 0x2bc/0x8e4)
[<c084d1d4>] (ieee80211_do_open) from [<c069be94>] (__dev_open+0xb8/ 0x120)
[<c069be94>] (__dev_open) from [<c069c11c>] (__dev_change_ flags+0x88/ 0x14c)
[<c069c11c>] (__dev_change_ flags) from [<c069c1f8>] (dev_change_ flags+0x18/ 0x48)
[<c069c1f8>] (dev_change_flags) from [<c0710b08>] (devinet_ioctl+0x738/ 0x840)
[<c0710b08>] (devinet_ioctl) from [<c067925c>] (sock_ioctl+0x164/0x2f4)
[<c067925c>] (sock_ioctl) from [<c02883f8>] (do_vfs_ioctl+0x8c/ 0x9d0)
[<c02883f8>] (do_vfs_ioctl) from [<c0288da8>] (SyS_ioctl+0x6c/0x7c)
[<c0288da8>] (SyS_ioctl) from [<c0107760>] (ret_fast_syscall+ 0x0/0x1c)
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = cd1ec000
[00000000] *pgd=8d1de831, *pte=00000000, *ppte=00000000
Internal error: Oops: 817 [#1] PREEMPT ARM
Modules linked in:
CPU: 0 PID: 821 Comm: wpa_supplicant Not tainted 4.9.80-dirty #250
Hardware name: Generic AM3517 (Flattened Device Tree)
task: ce73eec0 task.stack: cd1ea000
PC is at mutex_lock_nested+ 0xe8/0x3b0
LR is at mutex_lock_nested+ 0xd0/0x3b0 Cc: <email address hidden>
Signed-off-by: Sudhir Sreedharan <email address hidden>
Signed-off-by: Kalle Valo <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden> - 7d71a88... by Hans de Goede <email address hidden>
-
Bluetooth: hci_bcm: Treat Interrupt ACPI resources as always being active-low
BugLink: http://
bugs.launchpad. net/bugs/ 1769723 commit bb5208b314c5127
b716b2ee4f55803 a8bb73b750 upstream. Older devices with a serdev attached bcm bt hci, use an Interrupt ACPI
resource to describe the IRQ (rather then a GpioInt resource).These device seem to all claim the IRQ is active-high and seem to all need
a DMI quirk to treat it as active-low. Instead simply always assume that
Interrupt resource specified IRQs are always active-low.This fixes the bt device not being able to wake the host from runtime-
suspend on the: Asus T100TAM, Asus T200TA, Lenovo Yoga2 and the Toshiba
Encore, without the need to add 4 new DMI quirks for these models.This also allows us to remove 2 DMI quirks for the Asus T100TA and Asus
T100CHI series. Likely the 2 remaining quirks can also be removed but I
could not find a DSDT of these devices to verify this.Cc: <email address hidden>
Buglink: https://bugzilla. kernel. org/show_ bug.cgi? id=198953
Buglink: https://bugzilla. redhat. com/show_ bug.cgi? id=1554835
Signed-off-by: Hans de Goede <email address hidden>
Signed-off-by: Marcel Holtmann <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden> - 5f369fd... by Szymon Janc <email address hidden>
-
Bluetooth: Fix connection if directed advertising and privacy is used
BugLink: http://
bugs.launchpad. net/bugs/ 1769723 commit 082f2300cfa1a3d
9d5221c38c5eba8 5d4ab98bd8 upstream. Local random address needs to be updated before creating connection if
RPA from LE Direct Advertising Report was resolved in host. Otherwise
remote device might ignore connection request due to address mismatch.This was affecting following qualification test cases:
GAP/CONN/SCEP/BV- 03-C, GAP/CONN/ GCEP/BV- 05-C, GAP/CONN/ DCEP/BV- 05-C Before patch:
< HCI Command: LE Set Random Address (0x08|0x0005) plen 6 #11350 [hci0] 84680.231216
Address: 56:BC:E8:24:11:68 (Resolvable)
Identity type: Random (0x01)
Identity: F2:F1:06:3D:9C:42 (Static)
> HCI Event: Command Complete (0x0e) plen 4 #11351 [hci0] 84680.246022
LE Set Random Address (0x08|0x0005) ncmd 1
Status: Success (0x00)
< HCI Command: LE Set Scan Parameters (0x08|0x000b) plen 7 #11352 [hci0] 84680.246417
Type: Passive (0x00)
Interval: 60.000 msec (0x0060)
Window: 30.000 msec (0x0030)
Own address type: Random (0x01)
Filter policy: Accept all advertisement, inc. directed unresolved RPA (0x02)
> HCI Event: Command Complete (0x0e) plen 4 #11353 [hci0] 84680.248854
LE Set Scan Parameters (0x08|0x000b) ncmd 1
Status: Success (0x00)
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2 #11354 [hci0] 84680.249466
Scanning: Enabled (0x01)
Filter duplicates: Enabled (0x01)
> HCI Event: Command Complete (0x0e) plen 4 #11355 [hci0] 84680.253222
LE Set Scan Enable (0x08|0x000c) ncmd 1
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 18 #11356 [hci0] 84680.458387
LE Direct Advertising Report (0x0b)
Num reports: 1
Event type: Connectable directed - ADV_DIRECT_IND (0x01)
Address type: Random (0x01)
Address: 53:38:DA:46:8C:45 (Resolvable)
Identity type: Public (0x00)
Identity: 11:22:33:44:55:66 (OUI 11-22-33)
Direct address type: Random (0x01)
Direct address: 7C:D6:76:8C:DF:82 (Resolvable)
Identity type: Random (0x01)
Identity: F2:F1:06:3D:9C:42 (Static)
RSSI: -74 dBm (0xb6)
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2 #11357 [hci0] 84680.458737
Scanning: Disabled (0x00)
Filter duplicates: Disabled (0x00)
> HCI Event: Command Complete (0x0e) plen 4 #11358 [hci0] 84680.469982
LE Set Scan Enable (0x08|0x000c) ncmd 1
Status: Success (0x00)
< HCI Command: LE Create Connection (0x08|0x000d) plen 25 #11359 [hci0] 84680.470444
Scan interval: 60.000 msec (0x0060)
Scan window: 60.000 msec (0x0060)
Filter policy: White list is not used (0x00)
Peer address type: Random (0x01)
Peer address: 53:38:DA:46:8C:45 (Resolvable)
Identity type: Public (0x00)
Identity: 11:22:33:44:55:66 (OUI 11-22-33)
Own address type: Random (0x01)
Min connection interval: 30.00 msec (0x0018)
Max connection interval: 50.00 msec (0x0028)
Connection latency: 0 (0x0000)
Supervision timeout: 420 msec (0x002a)
Min connection length: 0.000 msec (0x0000)
Max connection length: 0.000 msec (0x0000)
> HCI Event: Command Status (0x0f) plen 4 #11360 [hci0] 84680.474971
LE Create Connection (0x08|0x000d) ncmd 1
Status: Success (0x00)
< HCI Command: LE Create Connection Cancel (0x08|0x000e) plen 0 #11361 [hci0] 84682.545385
> HCI Event: Command Complete (0x0e) plen 4 #11362 [hci0] 84682.551014
LE Create Connection Cancel (0x08|0x000e) ncmd 1
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 19 #11363 [hci0] 84682.551074
LE Connection Complete (0x01)
Status: Unknown Connection Identifier (0x02)
Handle: 0
Role: Master (0x00)
Peer address type: Public (0x00)
Peer address: 00:00:00:00:00:00 (OUI 00-00-00)
Connection interval: 0.00 msec (0x0000)
Connection latency: 0 (0x0000)
Supervision timeout: 0 msec (0x0000)
Master clock accuracy: 0x00After patch:
< HCI Command: LE Set Scan Parameters (0x08|0x000b) plen 7 #210 [hci0] 667.152459
Type: Passive (0x00)
Interval: 60.000 msec (0x0060)
Window: 30.000 msec (0x0030)
Own address type: Random (0x01)
Filter policy: Accept all advertisement, inc. directed unresolved RPA (0x02)
> HCI Event: Command Complete (0x0e) plen 4 #211 [hci0] 667.153613
LE Set Scan Parameters (0x08|0x000b) ncmd 1
Status: Success (0x00)
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2 #212 [hci0] 667.153704
Scanning: Enabled (0x01)
Filter duplicates: Enabled (0x01)
> HCI Event: Command Complete (0x0e) plen 4 #213 [hci0] 667.154584
LE Set Scan Enable (0x08|0x000c) ncmd 1
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 18 #214 [hci0] 667.182619
LE Direct Advertising Report (0x0b)
Num reports: 1
Event type: Connectable directed - ADV_DIRECT_IND (0x01)
Address type: Random (0x01)
Address: 50:52:D9:A6:48:A0 (Resolvable)
Identity type: Public (0x00)
Identity: 11:22:33:44:55:66 (OUI 11-22-33)
Direct address type: Random (0x01)
Direct address: 7C:C1:57:A5:B7:A8 (Resolvable)
Identity type: Random (0x01)
Identity: F4:28:73:5D:38:B0 (Static)
RSSI: -70 dBm (0xba)
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2 #215 [hci0] 667.182704
Scanning: Disabled (0x00)
Filter duplicates: Disabled (0x00)
> HCI Event: Command Complete (0x0e) plen 4 #216 [hci0] 667.183599
LE Set Scan Enable (0x08|0x000c) ncmd 1
Status: Success (0x00)
< HCI Command: LE Set Random Address (0x08|0x0005) plen 6 #217 [hci0] 667.183645
Address: 7C:C1:57:A5:B7:A8 (Resolvable)
Identity type: Random (0x01)
Identity: F4:28:73:5D:38:B0 (Static)
> HCI Event: Command Complete (0x0e) plen 4 #218 [hci0] 667.184590
LE Set Random Address (0x08|0x0005) ncmd 1
Status: Success (0x00)
< HCI Command: LE Create Connection (0x08|0x000d) plen 25 #219 [hci0] 667.184613
Scan interval: 60.000 msec (0x0060)
Scan window: 60.000 msec (0x0060)
Filter policy: White list is not used (0x00)
Peer address type: Random (0x01)
Peer address: 50:52:D9:A6:48:A0 (Resolvable)
Identity type: Public (0x00)
Identity: 11:22:33:44:55:66 (OUI 11-22-33)
Own address type: Random (0x01)
Min connection interval: 30.00 msec (0x0018)
Max connection interval: 50.00 msec (0x0028)
Connection latency: 0 (0x0000)
Supervision timeout: 420 msec (0x002a)
Min connection length: 0.000 msec (0x0000)
Max connection length: 0.000 msec (0x0000)
> HCI Event: Command Status (0x0f) plen 4 #220 [hci0] 667.186558
LE Create Connection (0x08|0x000d) ncmd 1
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 19 #221 [hci0] 667.485824
LE Connection Complete (0x01)
Status: Success (0x00)
Handle: 0
Role: Master (0x00)
Peer address type: Random (0x01)
Peer address: 50:52:D9:A6:48:A0 (Resolvable)
Identity type: Public (0x00)
Identity: 11:22:33:44:55:66 (OUI 11-22-33)
Connection interval: 50.00 msec (0x0028)
Connection latency: 0 (0x0000)
Supervision timeout: 420 msec (0x002a)
Master clock accuracy: 0x07
@ MGMT Event: Device Connected (0x000b) plen 13 {0x0002} [hci0] 667.485996
LE Address: 11:22:33:44:55:66 (OUI 11-22-33)
Flags: 0x00000000
Data length: 0Signed-off-by: Szymon Janc <email address hidden>
Signed-off-by: Marcel Holtmann <email address hidden>
Cc: <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden> - d057720... by Al Viro <email address hidden>
-
getname_kernel() needs to make sure that ->name != ->iname in long case
BugLink: http://
bugs.launchpad. net/bugs/ 1769723 commit 30ce4d1903e1d8a
7ccd110860a5eef 3c638ed8be upstream. missed it in "kill struct filename.separate" several years ago.
Cc: <email address hidden>
Signed-off-by: Al Viro <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden> - b1390a3... by mst
-
mm/gup_benchmark: handle gup failures
BugLink: http://
bugs.launchpad. net/bugs/ 1769723 commit 09e35a4a1ca8b99
88ca9b8557d1794 8cd6c0808b upstream. Patch series "mm/get_
user_pages_ fast fixes, cleanups", v2. Turns out get_user_pages_fast and __get_user_
pages_fast return different
values on error when given a single page: __get_user_pages_fast returns
0. get_user_pages_fast returns either 0 or an error.Callers of get_user_pages_fast expect an error so fix it up to return an
error consistently.Stress the difference between get_user_pages_fast and
__get_user_pages_fast to make sure callers aren't confused. This patch (of 3):
__gup_benchmark
_ioctl does not handle the case where get_user_pages_fast
fails:- a negative return code will cause a buffer overrun
- returning with partial success will cause use of uninitialized
memory.[<email address hidden>: simplification]
Link: http://<email address hidden>
Signed-off-by: Michael S. Tsirkin <email address hidden>
Reviewed-by: Andrew Morton <email address hidden>
Cc: Kirill A. Shutemov <email address hidden>
Cc: Huang Ying <email address hidden>
Cc: Jonathan Corbet <email address hidden>
Cc: Peter Zijlstra <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Thorsten Leemhuis <email address hidden>
Cc: <email address hidden>
Signed-off-by: Andrew Morton <email address hidden>
Signed-off-by: Linus Torvalds <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden> - fa07c7d... by mst
-
get_user_
pages_fast( ): return -EFAULT on access_ok failure BugLink: http://
bugs.launchpad. net/bugs/ 1769723 commit c61611f70958d86
f659bca25c02ae6 9413747a8d upstream. get_user_pages_fast is supposed to be a faster drop-in equivalent of
get_user_pages. As such, callers expect it to return a negative return
code when passed an invalid address, and never expect it to return 0
when passed a positive number of pages, since its documentation says:* Returns number of pages pinned. This may be fewer than the number
* requested. If nr_pages is 0 or negative, returns 0. If no pages
* were pinned, returns -errno.When get_user_pages_fast fall back on get_user_pages this is exactly
what happens. Unfortunately the implementation is inconsistent: it
returns 0 if passed a kernel address, confusing callers: for example,
the following is pretty common but does not appear to do the right thing
with a kernel address:ret = get_user_
pages_fast( addr, 1, writeable, &page);
if (ret < 0)
return ret; Change get_user_pages_fast to return -EFAULT when supplied a kernel
address to make it match expectations.All callers have been audited for consistency with the documented
semantics.Link: http://<email address hidden>
Fixes: 5b65c4677a57 ("mm, x86/mm: Fix performance regression in get_user_pages_fast( )")
Signed-off-by: Michael S. Tsirkin <email address hidden>
Reported-by: <email address hidden>
Reviewed-by: Andrew Morton <email address hidden>
Cc: Kirill A. Shutemov <email address hidden>
Cc: Huang Ying <email address hidden>
Cc: Jonathan Corbet <email address hidden>
Cc: Peter Zijlstra <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Thorsten Leemhuis <email address hidden>
Cc: <email address hidden>
Signed-off-by: Andrew Morton <email address hidden>
Signed-off-by: Linus Torvalds <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden> - 415e5d0... by Vasily Gorbik <email address hidden>
-
s390/ipl: ensure loadparm valid flag is set
BugLink: http://
bugs.launchpad. net/bugs/ 1769723 commit 15deb080a6087b7
308913956955896 5750e69d67 upstream. When loadparm is set in reipl parm block, the kernel should also set
DIAG308_FLAGS_LP_ VALID flag. This fixes loadparm ignoring during z/VM fcp -> ccw reipl and kvm direct
boot -> ccw reipl.Cc: <email address hidden>
Reviewed-by: Heiko Carstens <email address hidden>
Signed-off-by: Vasily Gorbik <email address hidden>
Signed-off-by: Martin Schwidefsky <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden> - 6749805... by Julian Wiedmann <email address hidden>
-
s390/qdio: don't merge ERROR output buffers
BugLink: http://
bugs.launchpad. net/bugs/ 1769723 commit 0cf1e05157b9e55
30dcc3ca9fec9bf 617fc93375 upstream. On an Output queue, both EMPTY and PENDING buffer states imply that the
buffer is ready for completion-processing by the upper-layer drivers. So for a non-QEBSM Output queue, get_buf_states() merges mixed
batches of PENDING and EMPTY buffers into one large batch of EMPTY
buffers. The upper-layer driver (ie. qeth) later distuingishes PENDING
from EMPTY by inspecting the slsb_state for
QDIO_OUTBUF_STATE_FLAG_ PENDING. But the merge logic in get_buf_states() contains a bug that causes us to
erronously also merge ERROR buffers into such a batch of EMPTY buffers
(ERROR is 0xaf, EMPTY is 0xa1; so ERROR & EMPTY == EMPTY).
Effectively, most outbound ERROR buffers are currently discarded
silently and processed as if they had succeeded.Note that this affects _all_ non-QEBSM device types, not just IQD with CQ.
Fix it by explicitly spelling out the exact conditions for merging.
For extracting the "get initial state" part out of the loop, this relies
on the fact that get_buf_states() is never called with a count of 0. The
QEBSM path already strictly requires this, and the two callers with
variable 'count' make sure of it.Fixes: 104ea556ee7f ("qdio: support asynchronous delivery of storage blocks")
Cc: <email address hidden> #v3.2+
Signed-off-by: Julian Wiedmann <email address hidden>
Reviewed-by: Ursula Braun <email address hidden>
Reviewed-by: Benjamin Block <email address hidden>
Signed-off-by: Martin Schwidefsky <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>