I'm announcing the release of the 3.18.107 kernel.
All users of the 3.18 kernel series must upgrade.
The updated 3.18.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-3.18.y
and can be browsed at the normal kernel.org git web browser:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2
arch/x86/kernel/tsc.c | 2
drivers/cdrom/cdrom.c | 2
drivers/message/fusion/mptsas.c | 1
drivers/net/bonding/bond_main.c | 3 -
drivers/net/ppp/pppoe.c | 4 +
drivers/net/team/team.c | 38 ++++++++++++++---
fs/cifs/dir.c | 9 ++--
fs/ext4/balloc.c | 3 -
fs/ext4/ialloc.c | 43 +------------------
fs/ext4/inline.c | 66 +++++++++++++-----------------
fs/ext4/inode.c | 2
fs/ext4/xattr.c | 30 +++++--------
fs/ext4/xattr.h | 32 ++++++++++++++
fs/jbd2/journal.c | 2
include/net/llc_conn.h | 1
kernel/events/core.c | 4 -
mm/filemap.c | 4 -
net/dns_resolver/dns_key.c | 13 ++---
net/ipv4/tcp.c | 6 +-
net/ipv4/tcp_input.c | 7 ---
net/ipv6/route.c | 2
net/l2tp/l2tp_ppp.c | 7 +++
net/llc/af_llc.c | 14 +++++-
net/llc/llc_c_ac.c | 9 ----
net/llc/llc_conn.c | 22 +++++++++-
net/packet/af_packet.c | 88 ++++++++++++++++++++++++++++------------
net/packet/internal.h | 10 ++--
28 files changed, 253 insertions(+), 173 deletions(-)
Cong Wang (3):
llc: hold llc_sap before release_sock()
llc: fix NULL pointer deref for SOCK_ZAPPED
llc: delete timers synchronously in llc_sk_free()
Dan Carpenter (1):
cdrom: information leak in cdrom_ioctl_media_changed()
Eric Biggers (1):
KEYS: DNS: limit the length of option strings
Eric Dumazet (3):
tcp: md5: reject TCP_MD5SIG or TCP_MD5SIG_EXT on established sockets
net: af_packet: fix race in PACKET_{R|T}X_RING
ipv6: add RTA_TABLE and RTA_PREFSRC to rtm_ipv6_policy
Greg Kroah-Hartman (1):
Linux 3.18.107
Guillaume Nault (2):
l2tp: check sockaddr length in pppol2tp_connect()
pppoe: check sockaddr length in pppoe_connect()
Jann Horn (1):
tcp: don't read out-of-bounds opsize
Jiri Olsa (1):
perf: Return proper values for user stack errors
Martin K. Petersen (1):
scsi: mptsas: Disable WRITE SAME
Matthew Wilcox (1):
mm/filemap.c: fix NULL pointer in page_cache_tree_insert()
Paolo Abeni (1):
team: avoid adding twice the same option to the event list
Sahitya Tummala (1):
jbd2: fix use after free in kjournald2()
Steve French (1):
cifs: do not allow creating sockets except with SMB1 posix exensions
Theodore Ts'o (2):
ext4: fix deadlock between inline_data and ext4_expand_extra_isize_ea()
ext4: don't update checksum of new initialized bitmaps
Willem de Bruijn (1):
packet: fix bitfield update race
Xiaoming Gao (1):
x86/tsc: Prevent 32bit truncation in calc_hpet_ref()
Xin Long (2):
bonding: do not set slave_dev npinfo before slave_enable_netpoll in bond_enslave
team: fix netconsole setup over team
wangguang (1):
ext4: bugfix for mmaped pages in mpage_release_unused_pages()
Jeremy Cline correctly points out in rhbz#1514836 that a device where the
QCA rome chipset needs the USB_QUIRK_RESET_RESUME quirk, may also ship
with a different wifi/bt chipset in some configurations.
If that is the case then we are needlessly penalizing those other chipsets
with a reset-resume quirk, typically causing 0.4W extra power use because
this disables runtime-pm.
This commit moves the DMI table check to a btusb_check_needs_reset_resume()
helper (so that we can easily also call it for other chipsets) and calls
this new helper only for QCA_ROME chipsets for now.
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1514836
Cc: stable(a)vger.kernel.org
Cc: Jeremy Cline <jcline(a)redhat.com>
Suggested-by: Jeremy Cline <jcline(a)redhat.com>
Signed-off-by: Hans de Goede <hdegoede(a)redhat.com>
---
drivers/bluetooth/btusb.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index f064984c9ec0..15e7cdca6eb5 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -2863,6 +2863,12 @@ static int btusb_config_oob_wake(struct hci_dev *hdev)
}
#endif
+static void btusb_check_needs_reset_resume(struct usb_interface *intf)
+{
+ if (dmi_check_system(btusb_needs_reset_resume_table))
+ interface_to_usbdev(intf)->quirks |= USB_QUIRK_RESET_RESUME;
+}
+
static int btusb_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{
@@ -2985,9 +2991,6 @@ static int btusb_probe(struct usb_interface *intf,
hdev->send = btusb_send_frame;
hdev->notify = btusb_notify;
- if (dmi_check_system(btusb_needs_reset_resume_table))
- interface_to_usbdev(intf)->quirks |= USB_QUIRK_RESET_RESUME;
-
#ifdef CONFIG_PM
err = btusb_config_oob_wake(hdev);
if (err)
@@ -3076,6 +3079,7 @@ static int btusb_probe(struct usb_interface *intf,
data->setup_on_usb = btusb_setup_qca;
hdev->set_bdaddr = btusb_set_bdaddr_ath3012;
set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks);
+ btusb_check_needs_reset_resume(intf);
}
#ifdef CONFIG_BT_HCIBTUSB_RTL
--
2.17.0
From: Ian W MORRISON <ianwmorrison(a)gmail.com>
As the Geminilake firmware is now merged to linux-firmware.git
use MODUE_FIRMWARE to load the firmware.
This removes the error message in the dmesg log:
i915 0000:00:02.0: Direct firmware load for
i915/glk_dmc_ver1_04.bin failed with error -2
i915 0000:00:02.0: Failed to load DMC firmware
i915/glk_dmc_ver1_04.bin. Disabling runtime power management.
i915 0000:00:02.0: DMC firmware homepage:
https://01.org/linuxgraphics/downloads/firmware
and now shows that the firmware has correctly loaded:
[drm] Finished loading DMC firmware i915/glk_dmc_ver1_04.bin (v1.4)
Cc: stable(a)vger.kernel.org
Signed-off-by: Ian W MORRISON <ianwmorrison(a)gmail.com>
---
drivers/gpu/drm/i915/intel_csr.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
index 41e6c75a7f3c..f9550ea46c26 100644
--- a/drivers/gpu/drm/i915/intel_csr.c
+++ b/drivers/gpu/drm/i915/intel_csr.c
@@ -35,6 +35,7 @@
*/
#define I915_CSR_GLK "i915/glk_dmc_ver1_04.bin"
+MODULE_FIRMWARE(I915_CSR_GLK);
#define GLK_CSR_VERSION_REQUIRED CSR_VERSION(1, 4)
#define I915_CSR_CNL "i915/cnl_dmc_ver1_07.bin"
--
2.11.0
Hi Greg,
These two patches should probably be part of the 4.4 because
ce59e48fdbad ("serial: mctrl_gpio: implement interrupt handling")
backport. 4.9, 4.14 and 4.16 have these patches already in it.
Romain Izard (1):
serial: mctrl_gpio: Add missing module license
Uwe Kleine-König (1):
serial: mctrl_gpio: export mctrl_gpio_disable_ms and mctrl_gpio_init
drivers/tty/serial/serial_mctrl_gpio.c | 5 +++++
1 file changed, 5 insertions(+)
--
2.14.3
On Sun, Apr 29, 2018 at 10:15:03PM +0200, Fredrik Schön wrote:
> 2018-04-29 14:53 GMT+02:00 Greg KH <gregkh(a)linuxfoundation.org>:
> > How about build warnings for gcc 8? Anything we need to make it build
> > "clean" there? I do have a fedora system around here, I guess I could
> > try it out myself later this week...
>
> There are a ton of build warnings of the kind:
>
> mm/vmscan.o: warning: objtool: shrink_slab.part.44()+0x120: sibling call
> from callable instruction with modified stack frame
>
> I don't know how to fix them, unfortunately.
Do they show up in Linus's tree? I thought Arnd was working on gcc 8
warning fixes a while ago...
thanks,
greg k-h
Since the commit "8003c9ae204e: add APIC Timer periodic/oneshot mode VMX
preemption timer support", a Windows 10 guest has some erratic timer
spikes.
Here the results on a 150000 times 1ms timer without any load:
Before 8003c9ae204e | After 8003c9ae204e
Max 1834us | 86000us
Mean 1100us | 1021us
Deviation 59us | 149us
Here the results on a 150000 times 1ms timer with a cpu-z stress test:
Before 8003c9ae204e | After 8003c9ae204e
Max 32000us | 140000us
Mean 1006us | 1997us
Deviation 140us | 11095us
The root cause of the problem is starting hrtimer with an expiry time
already in the past can take more than 20 milliseconds to trigger the
timer function. It can be solved by forward such past timers
immediately, rather than submitting them to hrtimer_start().
In case the timer is periodic, update the target expiration and call
hrtimer_start with it.
v2: Check if the tsc deadline is already expired. Thank you Mika.
v3: Execute the past timers immediately rather than submitting them to
hrtimer_start().
v4: Rearm the periodic timer with advance_periodic_target_expiration() a
simpler version of set_target_expiration(). Thank you Paolo.
Cc: Mika Penttilä <mika.penttila(a)nextfour.com>
Cc: Wanpeng Li <kernellwp(a)gmail.com>
Cc: Paolo Bonzini <pbonzini(a)redhat.com>
Cc: stable(a)vger.kernel.org
Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois(a)blade-group.com>
---
arch/x86/kvm/lapic.c | 37 ++++++++++++++++++++-----------------
1 file changed, 20 insertions(+), 17 deletions(-)
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index 70dcb5548022..b74c9c1405b9 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -1463,23 +1463,6 @@ static void start_sw_tscdeadline(struct kvm_lapic *apic)
local_irq_restore(flags);
}
-static void start_sw_period(struct kvm_lapic *apic)
-{
- if (!apic->lapic_timer.period)
- return;
-
- if (apic_lvtt_oneshot(apic) &&
- ktime_after(ktime_get(),
- apic->lapic_timer.target_expiration)) {
- apic_timer_expired(apic);
- return;
- }
-
- hrtimer_start(&apic->lapic_timer.timer,
- apic->lapic_timer.target_expiration,
- HRTIMER_MODE_ABS_PINNED);
-}
-
static void update_target_expiration(struct kvm_lapic *apic, uint32_t old_divisor)
{
ktime_t now, remaining;
@@ -1546,6 +1529,26 @@ static void advance_periodic_target_expiration(struct kvm_lapic *apic)
apic->lapic_timer.period);
}
+static void start_sw_period(struct kvm_lapic *apic)
+{
+ if (!apic->lapic_timer.period)
+ return;
+
+ if (ktime_after(ktime_get(),
+ apic->lapic_timer.target_expiration)) {
+ apic_timer_expired(apic);
+
+ if (apic_lvtt_oneshot(apic))
+ return;
+
+ advance_periodic_target_expiration(apic);
+ }
+
+ hrtimer_start(&apic->lapic_timer.timer,
+ apic->lapic_timer.target_expiration,
+ HRTIMER_MODE_ABS_PINNED);
+}
+
bool kvm_lapic_hv_timer_in_use(struct kvm_vcpu *vcpu)
{
if (!lapic_in_kernel(vcpu))
--
2.11.0