~kamalmostafa/ubuntu/+source/linux/+git/bionic:stable-lp1780499.1

Last commit made on 2018-07-20
Get this branch:
git clone -b stable-lp1780499.1 https://git.launchpad.net/~kamalmostafa/ubuntu/+source/linux/+git/bionic
Only Kamal Mostafa can upload to this branch. If you are Kamal Mostafa please log in for upload directions.

Branch merges

Branch information

Name:
stable-lp1780499.1
Repository:
lp:~kamalmostafa/ubuntu/+source/linux/+git/bionic

Recent commits

0809196... by Peter Zijlstra <email address hidden>

sched/core: Fix possible Spectre-v1 indexing for sched_prio_to_weight[]

BugLink: http://bugs.launchpad.net/bugs/1780499

commit 7281c8dec8a87685cb54d503d8cceef5a0fc2fdd upstream.

> kernel/sched/core.c:6921 cpu_weight_nice_write_s64() warn: potential spectre issue 'sched_prio_to_weight'

Userspace controls @nice, so sanitize the value before using it to
index an array.

Reported-by: Dan Carpenter <email address hidden>
Signed-off-by: Peter Zijlstra (Intel) <email address hidden>
Cc: <email address hidden>
Cc: Linus Torvalds <email address hidden>
Cc: Mike Galbraith <email address hidden>
Cc: Peter Zijlstra <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: <email address hidden>
Signed-off-by: Ingo Molnar <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

c2899ed... by Ben Skeggs <email address hidden>

drm/nouveau/ttm: don't dereference nvbo::cli, it can outlive client

BugLink: http://bugs.launchpad.net/bugs/1780499

commit 0d5a03c3d9254813ca76d7886ff9ed76a0aea545 upstream.

Potentially responsible for some random OOPSes.

Signed-off-by: Ben Skeggs <email address hidden>
Cc: <email address hidden> [v4.15+]
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

028ff07... by Rodrigo Vivi

drm/i915: Adjust eDP's logical vco in a reliable place.

BugLink: http://bugs.launchpad.net/bugs/1780499

commit 9d219554d9bf59875b4e571a0392d620e8954879 upstream.

On intel_dp_compute_config() we were calculating the needed vco
for eDP on gen9 and we stashing it in
intel_atomic_state.cdclk.logical.vco

However few moments later on intel_modeset_checks() we fully
replace entire intel_atomic_state.cdclk.logical with
dev_priv->cdclk.logical fully overwriting the logical desired
vco for eDP on gen9.

So, with wrong VCO value we end up with wrong desired cdclk, but
also it will raise a lot of WARNs: On gen9, when we read
CDCLK_CTL to verify if we configured properly the desired
frequency the CD Frequency Select bits [27:26] == 10b can mean
337.5 or 308.57 MHz depending on the VCO. So if we have wrong
VCO value stashed we will believe the frequency selection didn't
stick and start to raise WARNs of cdclk mismatch.

[ 42.857519] [drm:intel_dump_cdclk_state [i915]] Changing CDCLK to 308571 kHz, VCO 8640000 kHz, ref 24000 kHz, bypass 24000 kHz, voltage level 0
[ 42.897269] cdclk state doesn't match!
[ 42.901052] WARNING: CPU: 5 PID: 1116 at drivers/gpu/drm/i915/intel_cdclk.c:2084 intel_set_cdclk+0x5d/0x110 [i915]
[ 42.938004] RIP: 0010:intel_set_cdclk+0x5d/0x110 [i915]
[ 43.155253] WARNING: CPU: 5 PID: 1116 at drivers/gpu/drm/i915/intel_cdclk.c:2084 intel_set_cdclk+0x5d/0x110 [i915]
[ 43.170277] [drm:intel_dump_cdclk_state [i915]] [hw state] 337500 kHz, VCO 8100000 kHz, ref 24000 kHz, bypass 24000 kHz, voltage level 0
[ 43.182566] [drm:intel_dump_cdclk_state [i915]] [sw state] 308571 kHz, VCO 8640000 kHz, ref 24000 kHz, bypass 24000 kHz, voltage level 0

v2: Move the entire eDP's vco logical adjustment to inside
    the skl_modeset_calc_cdclk as suggested by Ville.

Cc: Ville Syrjälä <email address hidden>
Signed-off-by: Rodrigo Vivi <email address hidden>
Reviewed-by: Ville Syrjälä <email address hidden>
Fixes: bb0f4aab0e76 ("drm/i915: Track full cdclk state for the logical and actual cdclk frequencies")
Cc: <email address hidden> # v4.12+
Link: https://patchwork<email address hidden>
(cherry picked from commit 3297234a05ab1e90091b0574db4c397ef0e90d5f)
Signed-off-by: Joonas Lahtinen <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

9aa8e8d... by =?utf-8?q?Michel_D=C3=A4nzer?= <email address hidden>

drm/ttm: Use GFP_TRANSHUGE_LIGHT for allocating huge pages

BugLink: http://bugs.launchpad.net/bugs/1780499

commit da291320baec914f0bb4e65a9dccb86bd6c728f2 upstream.

GFP_TRANSHUGE tries very hard to allocate huge pages, which can result
in long delays with high memory pressure. I have observed firefox
freezing for up to around a minute due to this while restic was taking
a full system backup.

Since we don't really need huge pages, use GFP_TRANSHUGE_LIGHT |
__GFP_NORETRY instead, in order to fail quickly when there are no huge
pages available.

Set __GFP_KSWAPD_RECLAIM as well, in order for huge pages to be freed
up in the background if necessary.

With these changes, I'm no longer seeing freezes during a restic backup.

Cc: <email address hidden>
Reviewed-by: Christian König <email address hidden>
Signed-off-by: Michel Dänzer <email address hidden>
Signed-off-by: Alex Deucher <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

ef79d27... by Tetsuo Handa <email address hidden>

bdi: Fix use after free bug in debugfs_remove()

BugLink: http://bugs.launchpad.net/bugs/1780499

commit f53823c18131e755905b4f654196fd2cc3953f6e upstream.

syzbot is reporting use after free bug in debugfs_remove() [1].

This is because fault injection made memory allocation for
debugfs_create_file() from bdi_debug_register() from bdi_register_va()
fail and continued with setting WB_registered. But when debugfs_remove()
is called from debugfs_remove(bdi->debug_dir) from bdi_debug_unregister()
 from bdi_unregister() from release_bdi() because WB_registered was set
by bdi_register_va(), IS_ERR_OR_NULL(bdi->debug_dir) == false despite
debugfs_remove(bdi->debug_dir) was already called from bdi_register_va().

Fix this by making IS_ERR_OR_NULL(bdi->debug_dir) == true.

[1] https://syzkaller.appspot.com/bug?id=5ab4efd91a96dcea9b68104f159adf4af2a6dfc1

Signed-off-by: Tetsuo Handa <email address hidden>
Reported-by: syzbot <email address hidden>
Fixes: 97f07697932e6faf ("bdi: convert bdi_debug_register to int")
Cc: weiping zhang <email address hidden>
Reviewed-by: Greg Kroah-Hartman <email address hidden>
Reviewed-by: Jan Kara <email address hidden>
Signed-off-by: Jens Axboe <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

76fe959... by Alexander Popov

i2c: dev: prevent ZERO_SIZE_PTR deref in i2cdev_ioctl_rdwr()

BugLink: http://bugs.launchpad.net/bugs/1780499

commit 23a27722b5292ef0b27403c87a109feea8296a5c upstream.

i2cdev_ioctl_rdwr() allocates i2c_msg.buf using memdup_user(), which
returns ZERO_SIZE_PTR if i2c_msg.len is zero.

Currently i2cdev_ioctl_rdwr() always dereferences the buf pointer in case
of I2C_M_RD | I2C_M_RECV_LEN transfer. That causes a kernel oops in
case of zero len.

Let's check the len against zero before dereferencing buf pointer.

This issue was triggered by syzkaller.

Signed-off-by: Alexander Popov <email address hidden>
Reviewed-by: Uwe Kleine-König <email address hidden>
[wsa: use '< 1' instead of '!' for easier readability]
Signed-off-by: Wolfram Sang <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

f3a8f7b... by Peter Zijlstra <email address hidden>

perf/x86: Fix possible Spectre-v1 indexing for x86_pmu::event_map()

BugLink: http://bugs.launchpad.net/bugs/1780499

commit 46b1b577229a091b137831becaa0fae8690ee15a upstream.

> arch/x86/events/intel/cstate.c:307 cstate_pmu_event_init() warn: potential spectre issue 'pkg_msr' (local cap)
> arch/x86/events/intel/core.c:337 intel_pmu_event_map() warn: potential spectre issue 'intel_perfmon_event_map'
> arch/x86/events/intel/knc.c:122 knc_pmu_event_map() warn: potential spectre issue 'knc_perfmon_event_map'
> arch/x86/events/intel/p4.c:722 p4_pmu_event_map() warn: potential spectre issue 'p4_general_events'
> arch/x86/events/intel/p6.c:116 p6_pmu_event_map() warn: potential spectre issue 'p6_perfmon_event_map'
> arch/x86/events/amd/core.c:132 amd_pmu_event_map() warn: potential spectre issue 'amd_perfmon_event_map'

Userspace controls @attr, sanitize @attr->config before passing it on
to x86_pmu::event_map().

Reported-by: Dan Carpenter <email address hidden>
Signed-off-by: Peter Zijlstra (Intel) <email address hidden>
Cc: <email address hidden>
Cc: Alexander Shishkin <email address hidden>
Cc: Arnaldo Carvalho de Melo <email address hidden>
Cc: Jiri Olsa <email address hidden>
Cc: Linus Torvalds <email address hidden>
Cc: Peter Zijlstra <email address hidden>
Cc: Stephane Eranian <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Vince Weaver <email address hidden>
Signed-off-by: Ingo Molnar <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

8ccf3e7... by Peter Zijlstra <email address hidden>

perf/core: Fix possible Spectre-v1 indexing for ->aux_pages[]

BugLink: http://bugs.launchpad.net/bugs/1780499

commit 4411ec1d1993e8dbff2898390e3fed280d88e446 upstream.

> kernel/events/ring_buffer.c:871 perf_mmap_to_page() warn: potential spectre issue 'rb->aux_pages'

Userspace controls @pgoff through the fault address. Sanitize the
array index before doing the array dereference.

Reported-by: Dan Carpenter <email address hidden>
Signed-off-by: Peter Zijlstra (Intel) <email address hidden>
Cc: <email address hidden>
Cc: Alexander Shishkin <email address hidden>
Cc: Arnaldo Carvalho de Melo <email address hidden>
Cc: Jiri Olsa <email address hidden>
Cc: Linus Torvalds <email address hidden>
Cc: Peter Zijlstra <email address hidden>
Cc: Stephane Eranian <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Vince Weaver <email address hidden>
Signed-off-by: Ingo Molnar <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

8b9e482... by Peter Zijlstra <email address hidden>

perf/x86/msr: Fix possible Spectre-v1 indexing in the MSR driver

BugLink: http://bugs.launchpad.net/bugs/1780499

commit 06ce6e9b6d6c09d4129c6e24a1314a395d816c10 upstream.

> arch/x86/events/msr.c:178 msr_event_init() warn: potential spectre issue 'msr' (local cap)

Userspace controls @attr, sanitize cfg (attr->config) before using it
to index an array.

Reported-by: Dan Carpenter <email address hidden>
Signed-off-by: Peter Zijlstra (Intel) <email address hidden>
Cc: <email address hidden>
Cc: Alexander Shishkin <email address hidden>
Cc: Arnaldo Carvalho de Melo <email address hidden>
Cc: Jiri Olsa <email address hidden>
Cc: Linus Torvalds <email address hidden>
Cc: Peter Zijlstra <email address hidden>
Cc: Stephane Eranian <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Vince Weaver <email address hidden>
Signed-off-by: Ingo Molnar <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

28dbe96... by Peter Zijlstra <email address hidden>

perf/x86/cstate: Fix possible Spectre-v1 indexing for pkg_msr

BugLink: http://bugs.launchpad.net/bugs/1780499

commit a5f81290ce475489fa2551c01a07470c1a4c932e upstream.

> arch/x86/events/intel/cstate.c:307 cstate_pmu_event_init() warn: potential spectre issue 'pkg_msr' (local cap)

Userspace controls @attr, sanitize cfg (attr->config) before using it
to index an array.

Reported-by: Dan Carpenter <email address hidden>
Signed-off-by: Peter Zijlstra (Intel) <email address hidden>
Cc: <email address hidden>
Cc: Alexander Shishkin <email address hidden>
Cc: Arnaldo Carvalho de Melo <email address hidden>
Cc: Jiri Olsa <email address hidden>
Cc: Linus Torvalds <email address hidden>
Cc: Peter Zijlstra <email address hidden>
Cc: Stephane Eranian <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Vince Weaver <email address hidden>
Signed-off-by: Ingo Molnar <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>