From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751875AbdB0PKT (ORCPT ); Mon, 27 Feb 2017 10:10:19 -0500 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:50810 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751650AbdB0PKQ (ORCPT ); Mon, 27 Feb 2017 10:10:16 -0500 Date: Mon, 27 Feb 2017 14:34:52 +0000 From: Ben Hutchings To: linux-kernel@vger.kernel.org, Andrew Morton , torvalds@linux-foundation.org, Jiri Slaby , stable@vger.kernel.org Cc: lwn@lwn.net Message-ID: <20170227143452.GM4152@decadent.org.uk> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="jXoUnAu9pZeaHebo" Content-Disposition: inline X-Mailer: LinuxStableQueue (scripts by bwh) User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: ben@decadent.org.uk Subject: Linux 3.2.86 X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000) X-SA-Exim-Scanned: Yes (on shadbolt.decadent.org.uk) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --jXoUnAu9pZeaHebo Content-Type: multipart/mixed; boundary="FrxVhwK/bNRjN48l" Content-Disposition: inline --FrxVhwK/bNRjN48l Content-Type: text/plain; charset=us-ascii Content-Disposition: inline I'm announcing the release of the 3.2.86 kernel. All users of the 3.2 kernel series should upgrade. The updated 3.2.y git tree can be found at: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-3.2.y and can be browsed at the normal kernel.org git web browser: https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git The diff from 3.2.85 is attached to this message. Ben. ------------ Makefile | 2 +- arch/x86/kvm/vmx.c | 11 +++++------ drivers/usb/serial/kl5kusb105.c | 9 +++++---- net/dccp/input.c | 3 ++- net/ipv4/tcp.c | 6 ++++++ 5 files changed, 19 insertions(+), 12 deletions(-) Andrey Konovalov (1): dccp: fix freeing skb too early for IPV6_RECVPKTINFO Ben Hutchings (1): Linux 3.2.86 Eric Dumazet (1): tcp: avoid infinite loop in tcp_splice_read() Jim Mattson (1): kvm: nVMX: Allow L1 to intercept software exceptions (#BP and #OF) Johan Hovold (1): USB: serial: kl5kusb105: fix line-state error handling --FrxVhwK/bNRjN48l Content-Type: text/x-diff; charset=UTF-8; name="linux-3.2.86.patch" Content-Disposition: attachment; filename="linux-3.2.86.patch" Content-Transfer-Encoding: quoted-printable diff --git a/Makefile b/Makefile index 6858bcc57239..d3f775cb0a5a 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ VERSION =3D 3 PATCHLEVEL =3D 2 -SUBLEVEL =3D 85 +SUBLEVEL =3D 86 EXTRAVERSION =3D NAME =3D Saber-toothed Squirrel =20 diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index bd0ed47989e4..0fb33a013863 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -876,10 +876,10 @@ static inline bool nested_cpu_has_virtual_nmis(struct= vmcs12 *vmcs12, return vmcs12->pin_based_vm_exec_control & PIN_BASED_VIRTUAL_NMIS; } =20 -static inline bool is_exception(u32 intr_info) +static inline bool is_nmi(u32 intr_info) { return (intr_info & (INTR_INFO_INTR_TYPE_MASK | INTR_INFO_VALID_MASK)) - =3D=3D (INTR_TYPE_HARD_EXCEPTION | INTR_INFO_VALID_MASK); + =3D=3D (INTR_TYPE_NMI_INTR | INTR_INFO_VALID_MASK); } =20 static void nested_vmx_vmexit(struct kvm_vcpu *vcpu); @@ -4225,7 +4225,7 @@ static int handle_exception(struct kvm_vcpu *vcpu) return 0; } =20 - if ((intr_info & INTR_INFO_INTR_TYPE_MASK) =3D=3D INTR_TYPE_NMI_INTR) + if (is_nmi(intr_info)) return 1; /* already handled by vmx_vcpu_run() */ =20 if (is_no_device(intr_info)) { @@ -5773,7 +5773,7 @@ static bool nested_vmx_exit_handled(struct kvm_vcpu *= vcpu) =20 switch (exit_reason) { case EXIT_REASON_EXCEPTION_NMI: - if (!is_exception(intr_info)) + if (is_nmi(intr_info)) return 0; else if (is_page_fault(intr_info)) return enable_ept; @@ -5973,8 +5973,7 @@ static void vmx_complete_atomic_exit(struct vcpu_vmx = *vmx) kvm_machine_check(); =20 /* We need to handle NMIs before interrupts are enabled */ - if ((exit_intr_info & INTR_INFO_INTR_TYPE_MASK) =3D=3D INTR_TYPE_NMI_INTR= && - (exit_intr_info & INTR_INFO_VALID_MASK)) { + if (is_nmi(exit_intr_info)) { kvm_before_handle_nmi(&vmx->vcpu); asm("int $2"); kvm_after_handle_nmi(&vmx->vcpu); diff --git a/drivers/usb/serial/kl5kusb105.c b/drivers/usb/serial/kl5kusb10= 5.c index 19373cb7c5bf..2cf92f1d2847 100644 --- a/drivers/usb/serial/kl5kusb105.c +++ b/drivers/usb/serial/kl5kusb105.c @@ -209,10 +209,11 @@ static int klsi_105_get_line_state(struct usb_serial_= port *port, status_buf, KLSI_STATUSBUF_LEN, 10000 ); - if (rc < 0) - dev_err(&port->dev, "Reading line status failed (error =3D %d)\n", - rc); - else { + if (rc !=3D KLSI_STATUSBUF_LEN) { + dev_err(&port->dev, "reading line status failed: %d\n", rc); + if (rc >=3D 0) + rc =3D -EIO; + } else { status =3D get_unaligned_le16(status_buf); =20 dev_info(&port->serial->dev->dev, "read status %x %x", diff --git a/net/dccp/input.c b/net/dccp/input.c index 51d5fe5fffba..2305191f32f9 100644 --- a/net/dccp/input.c +++ b/net/dccp/input.c @@ -606,7 +606,8 @@ int dccp_rcv_state_process(struct sock *sk, struct sk_b= uff *skb, if (inet_csk(sk)->icsk_af_ops->conn_request(sk, skb) < 0) return 1; - goto discard; + consume_skb(skb); + return 0; } if (dh->dccph_type =3D=3D DCCP_PKT_RESET) goto discard; diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 9a7c01e5cb8d..80a9a9710726 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -659,6 +659,12 @@ ssize_t tcp_splice_read(struct socket *sock, loff_t *p= pos, ret =3D -EAGAIN; break; } + /* if __tcp_splice_read() got nothing while we have + * an skb in receive queue, we do not want to loop. + * This might happen with URG data. + */ + if (!skb_queue_empty(&sk->sk_receive_queue)) + break; sk_wait_data(sk, &timeo); if (signal_pending(current)) { ret =3D sock_intr_errno(timeo); --FrxVhwK/bNRjN48l-- --jXoUnAu9pZeaHebo Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIVAwUBWLQ5C+e/yOyVhhEJAQrxzhAAnmk/F5aqZi8M+LGwPYyaHDRp0cPkAO99 bEAc+mLKni8qo90dR/nLSgOKPVtkm8YbN7qojZfsS7v10NEpGnd/B+c+wsbgRWJM P0vX8HKrquu+zR7jaI08L0IJWoc/uGYSCZzU5KMVS6VynItlo9FeMu8uLt0GfDL/ 9HbKvCwrzlDSBKqjM1wod/3h24rJg2nJxKKnmJ2pICx9lbhnYJQdR4IXFPwGeJXg 0oLyR16ijlcMx0cXE5uJDBQwwBWe4D4BWGbNsm8PVmm0nZyhVt5cbwAAs7wtQUIe tPK/NrvpkYZnuFikEno5NBM7DZGmbJbyw4Vw5VrF0c+jC3JwwjxLoE4CF++Be6Wn /BaQSpy1NZmzz/2u5WYcsUL0ufNIDpUz3oLoJReTfjElgv6a/MgNfF9tRJsf9Fx7 dCcJmhWdyo+Jq+SzflECSPQsn43z8wPn2NZvt5Tq2Ncn8BL65RxPYHNpZRi8+yIL CVgRfrE6EvTt7henYU4zQylo47MCR3gtpfkzaMMZSWmwtHf7+QE+BxKF/q+Oy555 LZIrcAjZ1A5ksa9si/jdLz2Q3Kctekgvw+gQ4KmldFNBTlMJcc2ZR/c2b6T03QhR 8xuwclBqfuL40S734fsbetzIX2gi1kMG0TaUE0QKtxBL/jC6Nbter8IVFB+7TJNw FCMPDgQFY5I= =USAt -----END PGP SIGNATURE----- --jXoUnAu9pZeaHebo--