~kmously/ubuntu/+source/linux/+git/xenial:update-to-4.4.185

Last commit made on 2019-07-17
Get this branch:
git clone -b update-to-4.4.185 https://git.launchpad.net/~kmously/ubuntu/+source/linux/+git/xenial
Only Khaled El Mously can upload to this branch. If you are Khaled El Mously please log in for upload directions.

Branch merges

Branch information

Name:
update-to-4.4.185
Repository:
lp:~kmously/ubuntu/+source/linux/+git/xenial

Recent commits

5260858... by Greg Kroah-Hartman <email address hidden>

Linux 4.4.185

BugLink: https://bugs.launchpad.net/bugs/1836668

Signed-off-by: Khalid Elmously <email address hidden>

81d8ae9... by Robin Gong <email address hidden>

dmaengine: imx-sdma: remove BD_INTR for channel0

BugLink: https://bugs.launchpad.net/bugs/1836668

commit 3f93a4f297961c12bb17aa16cb3a4d1291823cae upstream.

It is possible for an irq triggered by channel0 to be received later
after clks are disabled once firmware loaded during sdma probe. If
that happens then clearing them by writing to SDMA_H_INTR won't work
and the kernel will hang processing infinite interrupts. Actually,
don't need interrupt triggered on channel0 since it's pollling
SDMA_H_STATSTOP to know channel0 done rather than interrupt in
current code, just clear BD_INTR to disable channel0 interrupt to
avoid the above case.
This issue was brought by commit 1d069bfa3c78 ("dmaengine: imx-sdma:
ack channel 0 IRQ in the interrupt handler") which didn't take care
the above case.

Fixes: 1d069bfa3c78 ("dmaengine: imx-sdma: ack channel 0 IRQ in the interrupt handler")
Cc: <email address hidden> #5.0+
Signed-off-by: Robin Gong <email address hidden>
Reported-by: Sven Van Asbroeck <email address hidden>
Tested-by: Sven Van Asbroeck <email address hidden>
Reviewed-by: Michael Olbrich <email address hidden>
Signed-off-by: Vinod Koul <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Khalid Elmously <email address hidden>

70549bd... by Paolo Bonzini <email address hidden>

KVM: x86: degrade WARN to pr_warn_ratelimited

BugLink: https://bugs.launchpad.net/bugs/1836668

commit 3f16a5c318392cbb5a0c7a3d19dff8c8ef3c38ee upstream.

This warning can be triggered easily by userspace, so it should certainly not
cause a panic if panic_on_warn is set.

Reported-by: <email address hidden>
Suggested-by: Alexander Potapenko <email address hidden>
Acked-by: Alexander Potapenko <email address hidden>
Signed-off-by: Paolo Bonzini <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Khalid Elmously <email address hidden>

8494471... by Kees Cook

arm64, vdso: Define vdso_{start,end} as array

BugLink: https://bugs.launchpad.net/bugs/1836668

Commit dbbb08f500d6146398b794fdc68a8e811366b451 upstream.

Adjust vdso_{start|end} to be char arrays to avoid compile-time analysis
that flags "too large" memcmp() calls with CONFIG_FORTIFY_SOURCE.

Cc: Jisheng Zhang <email address hidden>
Acked-by: Catalin Marinas <email address hidden>
Suggested-by: Mark Rutland <email address hidden>
Signed-off-by: Kees Cook <email address hidden>
Signed-off-by: Will Deacon <email address hidden>
Signed-off-by: Arnd Bergmann <email address hidden>
Signed-off-by: Sasha Levin <email address hidden>
Signed-off-by: Khalid Elmously <email address hidden>

a4b4dd2... by Vineet Gupta <email address hidden>

ARC: handle gcc generated __builtin_trap for older compiler

BugLink: https://bugs.launchpad.net/bugs/1836668

commit af1be2e21203867cb958aaceed5366e2e24b88e8 upstream.

ARC gcc prior to GNU 2018.03 release didn't have a target specific
__builtin_trap() implementation, generating default abort() call.

Implement the abort() call - emulating what newer gcc does for the same,
as suggested by Arnd.

Acked-by: Arnd Bergmann <email address hidden>
Signed-off-by: Vineet Gupta <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Khalid Elmously <email address hidden>

668740f... by Linus Torvalds <email address hidden>

tty: rocket: fix incorrect forward declaration of 'rp_init()'

BugLink: https://bugs.launchpad.net/bugs/1836668

[ Upstream commit 423ea3255424b954947d167681b71ded1b8fca53 ]

Make the forward declaration actually match the real function
definition, something that previous versions of gcc had just ignored.

This is another patch to fix new warnings from gcc-9 before I start the
merge window pulls. I don't want to miss legitimate new warnings just
because my system update brought a new compiler with new warnings.

Signed-off-by: Linus Torvalds <email address hidden>
Signed-off-by: Sasha Levin <email address hidden>
Signed-off-by: Khalid Elmously <email address hidden>

a0e3ca1... by Nikolay Borisov <email address hidden>

btrfs: Ensure replaced device doesn't have pending chunk allocation

BugLink: https://bugs.launchpad.net/bugs/1836668

commit debd1c065d2037919a7da67baf55cc683fee09f0 upstream.

Recent FITRIM work, namely bbbf7243d62d ("btrfs: combine device update
operations during transaction commit") combined the way certain
operations are recoded in a transaction. As a result an ASSERT was added
in dev_replace_finish to ensure the new code works correctly.
Unfortunately I got reports that it's possible to trigger the assert,
meaning that during a device replace it's possible to have an unfinished
chunk allocation on the source device.

This is supposed to be prevented by the fact that a transaction is
committed before finishing the replace oepration and alter acquiring the
chunk mutex. This is not sufficient since by the time the transaction is
committed and the chunk mutex acquired it's possible to allocate a chunk
depending on the workload being executed on the replaced device. This
bug has been present ever since device replace was introduced but there
was never code which checks for it.

The correct way to fix is to ensure that there is no pending device
modification operation when the chunk mutex is acquire and if there is
repeat transaction commit. Unfortunately it's not possible to just
exclude the source device from btrfs_fs_devices::dev_alloc_list since
this causes ENOSPC to be hit in transaction commit.

Fixing that in another way would need to add special cases to handle the
last writes and forbid new ones. The looped transaction fix is more
obvious, and can be easily backported. The runtime of dev-replace is
long so there's no noticeable delay caused by that.

Reported-by: David Sterba <email address hidden>
Fixes: 391cd9df81ac ("Btrfs: fix unprotected alloc list insertion during the finishing procedure of replace")
CC: <email address hidden> # 4.4+
Signed-off-by: Nikolay Borisov <email address hidden>
Reviewed-by: David Sterba <email address hidden>
Signed-off-by: David Sterba <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Khalid Elmously <email address hidden>

8cfc3ec... by Herbert Xu

lib/mpi: Fix karactx leak in mpi_powm

BugLink: https://bugs.launchpad.net/bugs/1836668

commit c8ea9fce2baf7b643384f36f29e4194fa40d33a6 upstream.

Sometimes mpi_powm will leak karactx because a memory allocation
failure causes a bail-out that skips the freeing of karactx. This
patch moves the freeing of karactx to the end of the function like
everything else so that it can't be skipped.

Reported-by: <email address hidden>
Fixes: cdec9cb5167a ("crypto: GnuPG based MPI lib - source files...")
Cc: <email address hidden>
Signed-off-by: Herbert Xu <email address hidden>
Reviewed-by: Eric Biggers <email address hidden>
Signed-off-by: Herbert Xu <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Khalid Elmously <email address hidden>

7f243aa... by Colin Ian King

ALSA: usb-audio: fix sign unintended sign extension on left shifts

BugLink: https://bugs.launchpad.net/bugs/1836668

commit 2acf5a3e6e9371e63c9e4ff54d84d08f630467a0 upstream.

There are a couple of left shifts of unsigned 8 bit values that
first get promoted to signed ints and hence get sign extended
on the shift if the top bit of the 8 bit values are set. Fix
this by casting the 8 bit values to unsigned ints to stop the
unintentional sign extension.

Addresses-Coverity: ("Unintended sign extension")
Signed-off-by: Colin Ian King <email address hidden>
Cc: <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Khalid Elmously <email address hidden>

d1e1307... by Takashi Sakamoto

ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages

BugLink: https://bugs.launchpad.net/bugs/1836668

commit 7fbd1753b64eafe21cf842348a40a691d0dee440 upstream.

In IEC 61883-6, 8 MIDI data streams are multiplexed into single
MIDI conformant data channel. The index of stream is calculated by
modulo 8 of the value of data block counter.

In fireworks, the value of data block counter in CIP header has a quirk
with firmware version v5.0.0, v5.7.3 and v5.8.0. This brings ALSA
IEC 61883-1/6 packet streaming engine to miss detection of MIDI
messages.

This commit fixes the miss detection to modify the value of data block
counter for the modulo calculation.

For maintainers, this bug exists since a commit 18f5ed365d3f ("ALSA:
fireworks/firewire-lib: add support for recent firmware quirk") in Linux
kernel v4.2. There're many changes since the commit. This fix can be
backported to Linux kernel v4.4 or later. I tagged a base commit to the
backport for your convenience.

Besides, my work for Linux kernel v5.3 brings heavy code refactoring and
some structure members are renamed in 'sound/firewire/amdtp-stream.h'.
The content of this patch brings conflict when merging -rc tree with
this patch and the latest tree. I request maintainers to solve the
conflict to replace 'tx_first_dbc' with 'ctx_data.tx.first_dbc'.

Fixes: df075feefbd3 ("ALSA: firewire-lib: complete AM824 data block processing layer")
Cc: <email address hidden> # v4.4+
Signed-off-by: Takashi Sakamoto <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Khalid Elmously <email address hidden>