Linux 4.9.80

2018-02-04 Thread Greg KH
 -
 fs/xfs/xfs_buf.c|   15 ++-
 fs/xfs/xfs_dquot.c  |   14 ++-
 fs/xfs/xfs_dquot_item.c |   40 
 fs/xfs/xfs_inode.c  |   21 
 include/linux/mlx5/mlx5_ifc.h   |   10 +-
 include/linux/tty.h |2 
 mm/kmemleak.c   |2 
 net/mac80211/mesh_hwmp.c|   15 +--
 net/openvswitch/flow_netlink.c  |   16 +--
 net/sunrpc/xprtsock.c   |1 
 tools/gpio/gpio-event-mon.c |1 
 tools/power/cpupower/bench/system.c |2 
 tools/power/cpupower/utils/idle_monitor/cpuidle_sysfs.c |9 +
 tools/usb/usbip/src/usbip_bind.c|9 +
 tools/usb/usbip/src/usbip_list.c|9 +
 84 files changed, 542 insertions(+), 238 deletions(-)

Aaron Armstrong Skomra (1):
  HID: wacom: EKR: ensure devres groups at higher indexes are released

Abhishek Goel (2):
  cpupowerutils: bench - Fix cpu online check
  cpupower : Fix cpupower working when cpu0 is offline

Andrew Elble (1):
  nfsd: check for use of the closed special stateid

Andrey Gusakov (6):
  drm/bridge: tc358767: do no fail on hi-res displays
  drm/bridge: tc358767: filter out too high modes
  drm/bridge: tc358767: fix DP0_MISC register set
  drm/bridge: tc358767: fix timing calculations
  drm/bridge: tc358767: fix AUXDATAn registers access
  drm/bridge: tc358767: fix 1-lane behavior

Ard Biesheuvel (1):
  crypto: sha3-generic - fixes for alignment and big endian operation

Benjamin Herrenschmidt (1):
  usb/gadget: Fix "high bandwidth" check in usb_gadget_ep_match_desc()

Carlos Maiolino (1):
  xfs: Properly retry failed dquot items in case of error during buffer 
writeback

Christian König (1):
  drm/amdgpu: don't try to move pinned BOs

Christophe JAILLET (2):
  bnxt_en: Fix an error handling path in 'bnxt_get_module_eeprom()'
  drm/omap: Fix error handling path in 'omap_dmm_probe()'

Chun-Yeow Yeoh (1):
  mac80211: fix the update of path metric for RANN frame

Colin Ian King (1):
  usb: gadget: don't dereference g until after it has been null checked

Darrick J. Wong (2):
  xfs: always free inline data before resetting inode fork during ifree
  xfs: ubsan fixes

Dmitry Eremin (1):
  staging: lustre: separate a connection destroy from free struct kib_conn

Eduardo Otubo (1):
  xen-netfront: remove warning when unloading module

Emmanuel Grumbach (1):
  iwlwifi: mvm: fix the TX queue hang timeout for MONITOR vif type

Fabio Estevam (1):
  serial: imx: Only wakeup via RTSDEN bit if the system has RTS/CTS

Felix Kuehling (2):
  drm/amdgpu: Fix SDMA load/unload sequence on HWS disabled mode
  drm/amdkfd: Fix SDMA oversubsription handling

Florian Fainelli (1):
  ARM: dts: NSP: Fix PPI interrupt types

Gaurav Kohli (1):
  tty: fix data race between tty_init_dev and flush of buf

Geert Uytterhoeven (1):
  net: ethernet: xilinx: Mark XILINX_LL_TEMAC broken on 64-bit

Greg Kroah-Hartman (2):
  USB: serial: pl2303: new device id for Chilitag
  Linux 4.9.80

Guilherme G. Piccoli (1):
  scsi: aacraid: Prevent crash in case of free interrupt during scsi EH path

Gustavo A. R. Silva (1):
  scsi: ufs: ufshcd: fix potential NULL pointer dereference in 
ufshcd_config_vreg

Hans de Goede (2):
  ACPI / bus: Leave modalias empty for devices which are not present
  USB: cdc-acm: Do not log urb submission errors on disconnect

Hauke Mehrtens (1):
  crypto: ecdh - fix typo in KPP dependency of CRYPTO_ECDH

Hemant Kumar (1):
  usb: f_fs: Prevent gadget unbind if it is already unbound

Icenowy Zheng (1):
  media: usbtv: add a new usbid

James Hogan (1):
  cpufreq: Add Loongson machine dependencies

Jeff Layton (1):
  reiserfs: remove unneeded i_version bump

Jesse Chan (4):
  power: reset: zx-reboot: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
  gpio: iop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
  gpio: ath79: add missing MODULE_DESCRIPTION/LICENSE
  mtd: nand: denali_pci: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE

Jia-Ju Bai (1):
  USB: serial: io_edgeport: fix possible sleep-in-atomic

Joel Stanley (1):
  tools/gpio: Fix build error with musl libc

Johan Hovold (1):
  USB: serial: simple: add Motorola Tetra driver

Josef Bacik (1):
  btrfs: fix deadlock when writing out space cache

Larry Finger (1):
  staging: rtl8188eu: Fix incorrect response to SIOCGIWESSID

Linus Torvalds (1):
  loop: fix concurrent lo_open/lo_release

Linus Walleij (1):
  gpio: Fix kernel stack leak to userspace

Liran Alon (2):
  KVM: x86: emulator: Return to user-

Linux 4.9.80

2018-02-04 Thread Greg KH
 -
 fs/xfs/xfs_buf.c|   15 ++-
 fs/xfs/xfs_dquot.c  |   14 ++-
 fs/xfs/xfs_dquot_item.c |   40 
 fs/xfs/xfs_inode.c  |   21 
 include/linux/mlx5/mlx5_ifc.h   |   10 +-
 include/linux/tty.h |2 
 mm/kmemleak.c   |2 
 net/mac80211/mesh_hwmp.c|   15 +--
 net/openvswitch/flow_netlink.c  |   16 +--
 net/sunrpc/xprtsock.c   |1 
 tools/gpio/gpio-event-mon.c |1 
 tools/power/cpupower/bench/system.c |2 
 tools/power/cpupower/utils/idle_monitor/cpuidle_sysfs.c |9 +
 tools/usb/usbip/src/usbip_bind.c|9 +
 tools/usb/usbip/src/usbip_list.c|9 +
 84 files changed, 542 insertions(+), 238 deletions(-)

Aaron Armstrong Skomra (1):
  HID: wacom: EKR: ensure devres groups at higher indexes are released

Abhishek Goel (2):
  cpupowerutils: bench - Fix cpu online check
  cpupower : Fix cpupower working when cpu0 is offline

Andrew Elble (1):
  nfsd: check for use of the closed special stateid

Andrey Gusakov (6):
  drm/bridge: tc358767: do no fail on hi-res displays
  drm/bridge: tc358767: filter out too high modes
  drm/bridge: tc358767: fix DP0_MISC register set
  drm/bridge: tc358767: fix timing calculations
  drm/bridge: tc358767: fix AUXDATAn registers access
  drm/bridge: tc358767: fix 1-lane behavior

Ard Biesheuvel (1):
  crypto: sha3-generic - fixes for alignment and big endian operation

Benjamin Herrenschmidt (1):
  usb/gadget: Fix "high bandwidth" check in usb_gadget_ep_match_desc()

Carlos Maiolino (1):
  xfs: Properly retry failed dquot items in case of error during buffer 
writeback

Christian König (1):
  drm/amdgpu: don't try to move pinned BOs

Christophe JAILLET (2):
  bnxt_en: Fix an error handling path in 'bnxt_get_module_eeprom()'
  drm/omap: Fix error handling path in 'omap_dmm_probe()'

Chun-Yeow Yeoh (1):
  mac80211: fix the update of path metric for RANN frame

Colin Ian King (1):
  usb: gadget: don't dereference g until after it has been null checked

Darrick J. Wong (2):
  xfs: always free inline data before resetting inode fork during ifree
  xfs: ubsan fixes

Dmitry Eremin (1):
  staging: lustre: separate a connection destroy from free struct kib_conn

Eduardo Otubo (1):
  xen-netfront: remove warning when unloading module

Emmanuel Grumbach (1):
  iwlwifi: mvm: fix the TX queue hang timeout for MONITOR vif type

Fabio Estevam (1):
  serial: imx: Only wakeup via RTSDEN bit if the system has RTS/CTS

Felix Kuehling (2):
  drm/amdgpu: Fix SDMA load/unload sequence on HWS disabled mode
  drm/amdkfd: Fix SDMA oversubsription handling

Florian Fainelli (1):
  ARM: dts: NSP: Fix PPI interrupt types

Gaurav Kohli (1):
  tty: fix data race between tty_init_dev and flush of buf

Geert Uytterhoeven (1):
  net: ethernet: xilinx: Mark XILINX_LL_TEMAC broken on 64-bit

Greg Kroah-Hartman (2):
  USB: serial: pl2303: new device id for Chilitag
  Linux 4.9.80

Guilherme G. Piccoli (1):
  scsi: aacraid: Prevent crash in case of free interrupt during scsi EH path

Gustavo A. R. Silva (1):
  scsi: ufs: ufshcd: fix potential NULL pointer dereference in 
ufshcd_config_vreg

Hans de Goede (2):
  ACPI / bus: Leave modalias empty for devices which are not present
  USB: cdc-acm: Do not log urb submission errors on disconnect

Hauke Mehrtens (1):
  crypto: ecdh - fix typo in KPP dependency of CRYPTO_ECDH

Hemant Kumar (1):
  usb: f_fs: Prevent gadget unbind if it is already unbound

Icenowy Zheng (1):
  media: usbtv: add a new usbid

James Hogan (1):
  cpufreq: Add Loongson machine dependencies

Jeff Layton (1):
  reiserfs: remove unneeded i_version bump

Jesse Chan (4):
  power: reset: zx-reboot: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
  gpio: iop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
  gpio: ath79: add missing MODULE_DESCRIPTION/LICENSE
  mtd: nand: denali_pci: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE

Jia-Ju Bai (1):
  USB: serial: io_edgeport: fix possible sleep-in-atomic

Joel Stanley (1):
  tools/gpio: Fix build error with musl libc

Johan Hovold (1):
  USB: serial: simple: add Motorola Tetra driver

Josef Bacik (1):
  btrfs: fix deadlock when writing out space cache

Larry Finger (1):
  staging: rtl8188eu: Fix incorrect response to SIOCGIWESSID

Linus Torvalds (1):
  loop: fix concurrent lo_open/lo_release

Linus Walleij (1):
  gpio: Fix kernel stack leak to userspace

Liran Alon (2):
  KVM: x86: emulator: Return to user-

Re: Linux 4.9.80

2018-02-04 Thread Greg KH
diff --git a/Makefile b/Makefile
index 4a7e6dff1c2e..9550b6939076 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 VERSION = 4
 PATCHLEVEL = 9
-SUBLEVEL = 79
+SUBLEVEL = 80
 EXTRAVERSION =
 NAME = Roaring Lionus
 
diff --git a/arch/arm/boot/dts/bcm-nsp.dtsi b/arch/arm/boot/dts/bcm-nsp.dtsi
index 7c9e0fae9bb9..65e0db1d3bd7 100644
--- a/arch/arm/boot/dts/bcm-nsp.dtsi
+++ b/arch/arm/boot/dts/bcm-nsp.dtsi
@@ -85,7 +85,7 @@
timer@20200 {
compatible = "arm,cortex-a9-global-timer";
reg = <0x20200 0x100>;
-   interrupts = ;
+   interrupts = ;
clocks = <_clk>;
};
 
@@ -93,7 +93,7 @@
compatible = "arm,cortex-a9-twd-timer";
reg = <0x20600 0x20>;
interrupts = ;
+ IRQ_TYPE_EDGE_RISING)>;
clocks = <_clk>;
};
 
diff --git a/arch/x86/crypto/aesni-intel_glue.c 
b/arch/x86/crypto/aesni-intel_glue.c
index aa8b0672f87a..d9ae404f08c9 100644
--- a/arch/x86/crypto/aesni-intel_glue.c
+++ b/arch/x86/crypto/aesni-intel_glue.c
@@ -906,7 +906,7 @@ static int helper_rfc4106_encrypt(struct aead_request *req)
 
if (sg_is_last(req->src) &&
req->src->offset + req->src->length <= PAGE_SIZE &&
-   sg_is_last(req->dst) &&
++  sg_is_last(req->dst) && req->dst->length &&
req->dst->offset + req->dst->length <= PAGE_SIZE) {
one_entry_in_sg = 1;
scatterwalk_start(_sg_walk, req->src);
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index cbd1d44da2d3..20cfeeb681c6 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1113,7 +1113,8 @@ int x86_emulate_instruction(struct kvm_vcpu *vcpu, 
unsigned long cr2,
 static inline int emulate_instruction(struct kvm_vcpu *vcpu,
int emulation_type)
 {
-   return x86_emulate_instruction(vcpu, 0, emulation_type, NULL, 0);
+   return x86_emulate_instruction(vcpu, 0,
+   emulation_type | EMULTYPE_NO_REEXECUTE, NULL, 0);
 }
 
 void kvm_enable_efer_bits(u64);
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index c8f8dd8ca0a1..6f5a3b076341 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -4990,6 +4990,8 @@ int x86_decode_insn(struct x86_emulate_ctxt *ctxt, void 
*insn, int insn_len)
bool op_prefix = false;
bool has_seg_override = false;
struct opcode opcode;
+   u16 dummy;
+   struct desc_struct desc;
 
ctxt->memop.type = OP_NONE;
ctxt->memopp = NULL;
@@ -5008,6 +5010,11 @@ int x86_decode_insn(struct x86_emulate_ctxt *ctxt, void 
*insn, int insn_len)
switch (mode) {
case X86EMUL_MODE_REAL:
case X86EMUL_MODE_VM86:
+   def_op_bytes = def_ad_bytes = 2;
+   ctxt->ops->get_segment(ctxt, , , NULL, VCPU_SREG_CS);
+   if (desc.d)
+   def_op_bytes = def_ad_bytes = 4;
+   break;
case X86EMUL_MODE_PROT16:
def_op_bytes = def_ad_bytes = 2;
break;
diff --git a/arch/x86/kvm/ioapic.c b/arch/x86/kvm/ioapic.c
index 6e219e5c07d2..5f810bb80802 100644
--- a/arch/x86/kvm/ioapic.c
+++ b/arch/x86/kvm/ioapic.c
@@ -257,8 +257,7 @@ void kvm_ioapic_scan_entry(struct kvm_vcpu *vcpu, ulong 
*ioapic_handled_vectors)
index == RTC_GSI) {
if (kvm_apic_match_dest(vcpu, NULL, 0,
 e->fields.dest_id, e->fields.dest_mode) ||
-   (e->fields.trig_mode == IOAPIC_EDGE_TRIG &&
-kvm_apic_pending_eoi(vcpu, e->fields.vector)))
+   kvm_apic_pending_eoi(vcpu, e->fields.vector))
__set_bit(e->fields.vector,
  ioapic_handled_vectors);
}
@@ -279,6 +278,7 @@ static void ioapic_write_indirect(struct kvm_ioapic 
*ioapic, u32 val)
 {
unsigned index;
bool mask_before, mask_after;
+   int old_remote_irr, old_delivery_status;
union kvm_ioapic_redirect_entry *e;
 
switch (ioapic->ioregsel) {
@@ -301,14 +301,28 @@ static void ioapic_write_indirect(struct kvm_ioapic 
*ioapic, u32 val)
return;
e = >redirtbl[index];
mask_before = e->fields.mask;
+   /* Preserve read-only fields */
+   old_remote_irr = e->fields.remote_irr;
+   old_delivery_status = e->fields.delivery_status;
if (ioapic->ioregsel & 1) {
e->bits &= 0x;
e->bits |= (u64) val << 32;
} else {
e->bits &= ~0xULL;

Re: Linux 4.9.80

2018-02-04 Thread Greg KH
diff --git a/Makefile b/Makefile
index 4a7e6dff1c2e..9550b6939076 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 VERSION = 4
 PATCHLEVEL = 9
-SUBLEVEL = 79
+SUBLEVEL = 80
 EXTRAVERSION =
 NAME = Roaring Lionus
 
diff --git a/arch/arm/boot/dts/bcm-nsp.dtsi b/arch/arm/boot/dts/bcm-nsp.dtsi
index 7c9e0fae9bb9..65e0db1d3bd7 100644
--- a/arch/arm/boot/dts/bcm-nsp.dtsi
+++ b/arch/arm/boot/dts/bcm-nsp.dtsi
@@ -85,7 +85,7 @@
timer@20200 {
compatible = "arm,cortex-a9-global-timer";
reg = <0x20200 0x100>;
-   interrupts = ;
+   interrupts = ;
clocks = <_clk>;
};
 
@@ -93,7 +93,7 @@
compatible = "arm,cortex-a9-twd-timer";
reg = <0x20600 0x20>;
interrupts = ;
+ IRQ_TYPE_EDGE_RISING)>;
clocks = <_clk>;
};
 
diff --git a/arch/x86/crypto/aesni-intel_glue.c 
b/arch/x86/crypto/aesni-intel_glue.c
index aa8b0672f87a..d9ae404f08c9 100644
--- a/arch/x86/crypto/aesni-intel_glue.c
+++ b/arch/x86/crypto/aesni-intel_glue.c
@@ -906,7 +906,7 @@ static int helper_rfc4106_encrypt(struct aead_request *req)
 
if (sg_is_last(req->src) &&
req->src->offset + req->src->length <= PAGE_SIZE &&
-   sg_is_last(req->dst) &&
++  sg_is_last(req->dst) && req->dst->length &&
req->dst->offset + req->dst->length <= PAGE_SIZE) {
one_entry_in_sg = 1;
scatterwalk_start(_sg_walk, req->src);
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index cbd1d44da2d3..20cfeeb681c6 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1113,7 +1113,8 @@ int x86_emulate_instruction(struct kvm_vcpu *vcpu, 
unsigned long cr2,
 static inline int emulate_instruction(struct kvm_vcpu *vcpu,
int emulation_type)
 {
-   return x86_emulate_instruction(vcpu, 0, emulation_type, NULL, 0);
+   return x86_emulate_instruction(vcpu, 0,
+   emulation_type | EMULTYPE_NO_REEXECUTE, NULL, 0);
 }
 
 void kvm_enable_efer_bits(u64);
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index c8f8dd8ca0a1..6f5a3b076341 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -4990,6 +4990,8 @@ int x86_decode_insn(struct x86_emulate_ctxt *ctxt, void 
*insn, int insn_len)
bool op_prefix = false;
bool has_seg_override = false;
struct opcode opcode;
+   u16 dummy;
+   struct desc_struct desc;
 
ctxt->memop.type = OP_NONE;
ctxt->memopp = NULL;
@@ -5008,6 +5010,11 @@ int x86_decode_insn(struct x86_emulate_ctxt *ctxt, void 
*insn, int insn_len)
switch (mode) {
case X86EMUL_MODE_REAL:
case X86EMUL_MODE_VM86:
+   def_op_bytes = def_ad_bytes = 2;
+   ctxt->ops->get_segment(ctxt, , , NULL, VCPU_SREG_CS);
+   if (desc.d)
+   def_op_bytes = def_ad_bytes = 4;
+   break;
case X86EMUL_MODE_PROT16:
def_op_bytes = def_ad_bytes = 2;
break;
diff --git a/arch/x86/kvm/ioapic.c b/arch/x86/kvm/ioapic.c
index 6e219e5c07d2..5f810bb80802 100644
--- a/arch/x86/kvm/ioapic.c
+++ b/arch/x86/kvm/ioapic.c
@@ -257,8 +257,7 @@ void kvm_ioapic_scan_entry(struct kvm_vcpu *vcpu, ulong 
*ioapic_handled_vectors)
index == RTC_GSI) {
if (kvm_apic_match_dest(vcpu, NULL, 0,
 e->fields.dest_id, e->fields.dest_mode) ||
-   (e->fields.trig_mode == IOAPIC_EDGE_TRIG &&
-kvm_apic_pending_eoi(vcpu, e->fields.vector)))
+   kvm_apic_pending_eoi(vcpu, e->fields.vector))
__set_bit(e->fields.vector,
  ioapic_handled_vectors);
}
@@ -279,6 +278,7 @@ static void ioapic_write_indirect(struct kvm_ioapic 
*ioapic, u32 val)
 {
unsigned index;
bool mask_before, mask_after;
+   int old_remote_irr, old_delivery_status;
union kvm_ioapic_redirect_entry *e;
 
switch (ioapic->ioregsel) {
@@ -301,14 +301,28 @@ static void ioapic_write_indirect(struct kvm_ioapic 
*ioapic, u32 val)
return;
e = >redirtbl[index];
mask_before = e->fields.mask;
+   /* Preserve read-only fields */
+   old_remote_irr = e->fields.remote_irr;
+   old_delivery_status = e->fields.delivery_status;
if (ioapic->ioregsel & 1) {
e->bits &= 0x;
e->bits |= (u64) val << 32;
} else {
e->bits &= ~0xULL;