Patch "svcauth_gss: Close connection when dropping an incoming message" has been added to the 4.9-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    svcauth_gss: Close connection when dropping an incoming message

to the 4.9-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     svcauth_gss-close-connection-when-dropping-an-incoming-message.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From foo@baz Mon Apr 10 17:43:56 CEST 2017
From: alexander.levin@xxxxxxxxxxx
Date: Tue, 4 Apr 2017 19:32:07 +0000
Subject: svcauth_gss: Close connection when dropping an incoming message
To: "gregkh@xxxxxxxxxxxxxxxxxxx" <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: "stable@xxxxxxxxxxxxxxx" <stable@xxxxxxxxxxxxxxx>
Message-ID: <20170404193158.19041-17-alexander.levin@xxxxxxxxxxx>

From: Chuck Lever <chuck.lever@xxxxxxxxxx>

[ Upstream commit 4d712ef1db05c3aa5c3b690a50c37ebad584c53f ]

S5.3.3.1 of RFC 2203 requires that an incoming GSS-wrapped message
whose sequence number lies outside the current window is dropped.
The rationale is:

  The reason for discarding requests silently is that the server
  is unable to determine if the duplicate or out of range request
  was due to a sequencing problem in the client, network, or the
  operating system, or due to some quirk in routing, or a replay
  attack by an intruder.  Discarding the request allows the client
  to recover after timing out, if indeed the duplication was
  unintentional or well intended.

However, clients may rely on the server dropping the connection to
indicate that a retransmit is needed. Without a connection reset, a
client can wait forever without retransmitting, and the workload
just stops dead. I've reproduced this behavior by running xfstests
generic/323 on an NFSv4.0 mount with proto=rdma and sec=krb5i.

To address this issue, have the server close the connection when it
silently discards an incoming message due to a GSS sequence number
problem.

There are a few other places where the server will never reply.
Change those spots in a similar fashion.

Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 net/sunrpc/auth_gss/svcauth_gss.c |    2 +-
 net/sunrpc/svc.c                  |   14 +++++++++-----
 2 files changed, 10 insertions(+), 6 deletions(-)

--- a/net/sunrpc/auth_gss/svcauth_gss.c
+++ b/net/sunrpc/auth_gss/svcauth_gss.c
@@ -1548,7 +1548,7 @@ complete:
 	ret = SVC_COMPLETE;
 	goto out;
 drop:
-	ret = SVC_DROP;
+	ret = SVC_CLOSE;
 out:
 	if (rsci)
 		cache_put(&rsci->h, sn->rsc_cache);
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -1155,8 +1155,7 @@ svc_process_common(struct svc_rqst *rqst
 	case SVC_DENIED:
 		goto err_bad_auth;
 	case SVC_CLOSE:
-		if (test_bit(XPT_TEMP, &rqstp->rq_xprt->xpt_flags))
-			svc_close_xprt(rqstp->rq_xprt);
+		goto close;
 	case SVC_DROP:
 		goto dropit;
 	case SVC_COMPLETE:
@@ -1246,7 +1245,7 @@ svc_process_common(struct svc_rqst *rqst
 
  sendit:
 	if (svc_authorise(rqstp))
-		goto dropit;
+		goto close;
 	return 1;		/* Caller can now send it */
 
  dropit:
@@ -1254,11 +1253,16 @@ svc_process_common(struct svc_rqst *rqst
 	dprintk("svc: svc_process dropit\n");
 	return 0;
 
+ close:
+	if (test_bit(XPT_TEMP, &rqstp->rq_xprt->xpt_flags))
+		svc_close_xprt(rqstp->rq_xprt);
+	dprintk("svc: svc_process close\n");
+	return 0;
+
 err_short_len:
 	svc_printk(rqstp, "short len %Zd, dropping request\n",
 			argv->iov_len);
-
-	goto dropit;			/* drop request */
+	goto close;
 
 err_bad_rpc:
 	serv->sv_stats->rpcbadfmt++;


Patches currently in stable-queue which might be from gregkh@xxxxxxxxxxxxxxxxxxx are

queue-4.9/staging-android-ashmem-lseek-failed-due-to-no-fmode_lseek.patch
queue-4.9/arm64-dts-hisi-fix-hip06-sas-am-max-trans-quirk.patch
queue-4.9/scsi-ufs-introduce-ufshcd_quirk_prdt_byte_gran-quirk.patch
queue-4.9/acpi-button-change-default-behavior-to-lid_init_state-open.patch
queue-4.9/usb-musb-da8xx-fix-host-mode-suspend.patch
queue-4.9/drm-i915-fix-intel_bdw_ids-definition.patch
queue-4.9/sysfs-be-careful-of-error-returns-from-ops-show.patch
queue-4.9/mips-flush-wrong-invalid-ftlb-entry-for-huge-page.patch
queue-4.9/mips-end-spinlocks-with-.insn.patch
queue-4.9/mmc-sdhci-of-esdhc-remove-default-broken-cd-for-arm.patch
queue-4.9/kvm-arm-arm64-fix-locking-for-kvm_free_stage2_pgd.patch
queue-4.9/powerpc-disable-hfscr-if-tm-is-not-supported.patch
queue-4.9/metag-usercopy-add-missing-fixups.patch
queue-4.9/nios2-reserve-boot-memory-for-device-tree.patch
queue-4.9/alsa-usb-audio-add-implicit-fb-quirk-for-axe-fx-ii.patch
queue-4.9/svcauth_gss-close-connection-when-dropping-an-incoming-message.patch
queue-4.9/platform-x86-asus-wmi-detect-quirk_no_rfkill-from-the-dsdt.patch
queue-4.9/ring-buffer-fix-return-value-check-in-test_ringbuffer.patch
queue-4.9/ppdev-check-before-attaching-port.patch
queue-4.9/firmware-qcom-scm-fix-interrupted-scm-calls.patch
queue-4.9/pci-add-broadcom-northstar2-paxc-quirk-for-device-class-and-mpss.patch
queue-4.9/powerpc-64-fix-flush_-d-i-cache_range-called-from-modules.patch
queue-4.9/drm-sun4i-tcon-move-soc-specific-quirks-to-a-dt-matched-data-structure.patch
queue-4.9/acpi-gpio-do-not-fall-back-to-parsing-_crs-when-we-get-a-deferral.patch
queue-4.9/pci-explain-arm64-acpi-mcfg-quirk-kconfig-and-build-strategy.patch
queue-4.9/metag-usercopy-add-early-abort-to-copy_to_user.patch
queue-4.9/powerpc-crypto-crc32c-vpmsum-fix-missing-preempt_disable.patch
queue-4.9/hid-multitouch-do-not-retrieve-all-reports-for-all-devices.patch
queue-4.9/arm-arm64-kvm-take-mmap_sem-in-kvm_arch_prepare_memory_region.patch
queue-4.9/arm-dts-stih407-family-set-snps-dis_u3_susphy_quirk.patch
queue-4.9/rx51-broken-build.patch
queue-4.9/mips-ralink-fix-typos-in-rt3883-pinctrl.patch
queue-4.9/cfg80211-check-rdev-resume-callback-only-for-registered-wiphy.patch
queue-4.9/metag-usercopy-set-flags-before-addz.patch
queue-4.9/asoc-intel-bytct_rt5640-change-default-capture-settings.patch
queue-4.9/metag-usercopy-fix-src-fixup-in-from-user-rapf-loops.patch
queue-4.9/hid-asus-fix-keyboard-support.patch
queue-4.9/drm-sun4i-add-compatible-string-for-a31-a31s-tcon-timing-controller.patch
queue-4.9/arm64-pci-manage-controller-specific-data-on-per-controller-basis.patch
queue-4.9/platform-x86-acer-wmi-only-supports-amw0_guid1-on-acer-family.patch
queue-4.9/xtensa-make-__pa-work-with-uncached-kseg-addresses.patch
queue-4.9/asoc-codecs-rt5670-add-quirk-for-lenovo-thinkpad-10.patch
queue-4.9/clk-lpc32xx-add-a-quirk-for-pwm-and-ms-clock-dividers.patch
queue-4.9/powerpc-mm-add-missing-global-tlb-invalidate-if-cxl-is-active.patch
queue-4.9/tools-power-turbostat-dump-atom-p-states-correctly.patch
queue-4.9/clocksource-drivers-arm_arch_timer-don-t-assume-clock-runs-in-suspend.patch
queue-4.9/asoc-intel-cht_bsw_rt5645-add-baytrail-mclk-support.patch
queue-4.9/watchdog-s3c2410-fix-infinite-interrupt-in-soft-mode.patch
queue-4.9/arm64-pci-search-acpi-namespace-to-ensure-ecam-space-is-reserved.patch
queue-4.9/pci-add-mcfg-quirks-for-cavium-thunderx-pass1.x-host-controller.patch
queue-4.9/drm-i915-actually-drive-the-bdw-reserved-ids.patch
queue-4.9/net-mlx4_core-use-device-id-defines.patch
queue-4.9/scsi-ufs-introduce-a-new-ufshcd_statea-ufshcd_state_eh_scheduled.patch
queue-4.9/hid-sensor-hub-add-quirk-for-microsoft-surface-3.patch
queue-4.9/serial-8250_omap-add-omap_dma_tx_kick-quirk-for-am437x.patch
queue-4.9/brcmfmac-use-local-iftype-avoiding-use-after-free-of-virtual-interface.patch
queue-4.9/pci-acpi-check-for-platform-specific-mcfg-quirks.patch
queue-4.9/drm-vmwgfx-remove-getparam-error-message.patch
queue-4.9/mac80211-unconditionally-start-new-netdev-queues-with-itxq-support.patch
queue-4.9/dm-verity-fec-fix-bufio-leaks.patch
queue-4.9/x86-intel_idle-add-cpu-model-0x4a-atom-z34xx-series.patch
queue-4.9/hid-wacom-don-t-apply-generic-settings-to-old-devices.patch
queue-4.9/hid-sensor-hub-add-quirk-for-microchip-mm7150.patch
queue-4.9/arm-kernel-add-smc-structure-parameter.patch
queue-4.9/usb-storage-add-ignore-residue-quirk-for-initio-inic-3619.patch
queue-4.9/drm-vmwgfx-type-check-lookups-of-fence-objects.patch
queue-4.9/hid-asus-add-i2c-touchpad-support.patch
queue-4.9/nvme-simplify-stripe-quirk.patch
queue-4.9/drm-sun4i-add-compatible-strings-for-a31-a31s-display-pipelines.patch
queue-4.9/dm-verity-fec-limit-error-correction-recursion.patch
queue-4.9/drm-edid-constify-edid-quirk-list.patch
queue-4.9/s390-uaccess-get_user-should-zero-on-failure-again.patch
queue-4.9/dm-raid-fix-null-pointer-dereference-for-raid1-without-bitmap.patch
queue-4.9/random-use-chacha20-for-get_random_int-long.patch
queue-4.9/ptrace-fix-ptrace_listen-race-corrupting-task-state.patch
queue-4.9/drm-vmwgfx-fix-integer-overflow-in-vmw_surface_define_ioctl.patch
queue-4.9/pci-sort-the-list-of-devices-with-d3-delay-quirk-by-id.patch
queue-4.9/pci-add-mcfg-quirks-for-x-gene-host-controller.patch
queue-4.9/hid-i2c-hid-add-a-simple-quirk-to-fix-device-defects.patch
queue-4.9/drm-msm-adreno-move-function-declarations-to-header-file.patch
queue-4.9/s390-decompressor-fix-initrd-corruption-caused-by-bss-clear.patch
queue-4.9/pci-disable-msi-for-hisilicon-hip06-hip07-root-ports.patch
queue-4.9/mips-check-tlb-before-handle_ri_rdhwr-for-loongson-3.patch
queue-4.9/pci-add-acs-quirk-for-intel-union-point.patch
queue-4.9/asoc-intel-baytrail-add-quirk-for-lenovo-thinkpad-10.patch
queue-4.9/can-flexcan-add-quirk-flexcan_quirk_enable_eacen_rrs.patch
queue-4.9/metag-usercopy-drop-unused-macros.patch
queue-4.9/pci-expand-vpd-access-disabled-quirk-message.patch
queue-4.9/drm-i915-more-.is_mobile-cleanups-for-bdw.patch
queue-4.9/hid-multitouch-enable-the-surface-4-type-cover-pro-jp-to-report-multitouch-data.patch
queue-4.9/iio-bmg160-reset-chip-when-probing.patch
queue-4.9/orangefs-move-features-validation-to-fix-filesystem-hang.patch
queue-4.9/arm64-mm-unaligned-access-by-user-land-should-be-received-as-sigbus.patch
queue-4.9/powerpc-don-t-try-to-fix-up-misaligned-load-with-reservation-instructions.patch
queue-4.9/usb-chipidea-msm-rely-on-core-to-override-ahbburst.patch
queue-4.9/scsi-ufs-refactor-device-descriptor-reading.patch
queue-4.9/asoc-intel-bytcr_rt5640-quirks-for-insyde-devices.patch
queue-4.9/mips-lantiq-fix-missing-xbar-kernel-panic.patch
queue-4.9/metag-usercopy-zero-rest-of-buffer-from-copy_from_user.patch
queue-4.9/xfs-honor-falloc_fl_keep_size-when-punching-ends-of-files.patch
queue-4.9/hid-multitouch-enable-the-surface-3-type-cover-to-report-multitouch-data.patch
queue-4.9/scsi-ufs-issue-link-starup-2-times-if-device-isn-t-active.patch
queue-4.9/asoc-rt5670-add-missing-10ec5072-acpi-id.patch
queue-4.9/metag-usercopy-fix-alignment-error-checking.patch
queue-4.9/x86-reboot-quirks-add-asus-eeebook-x205ta-reboot-quirk.patch
queue-4.9/input-gpio_keys-add-support-for-gpio-descriptors.patch
queue-4.9/pci-xgene-fix-double-free-on-init-error.patch
queue-4.9/acpi-save-nvs-memory-for-lenovo-g50-45.patch
queue-4.9/asoc-intel-cht_bsw_rt5645-harden-acpi-device-detection.patch
queue-4.9/sata-ahci-da850-implement-a-workaround-for-the-softreset-quirk.patch
queue-4.9/reset-treeid-to-zero-on-smb2-tree_connect.patch
queue-4.9/pci-add-acs-quirk-for-qualcomm-qdf2400-and-qdf2432.patch
queue-4.9/tools-power-turbostat-decode-baytrail-cc6-and-mc6-demotion-configuration.patch
queue-4.9/arm-davinci-pm-support-da8xx-dt-platforms.patch
queue-4.9/documentation-stable-kernel-rules-fix-stable-tag-format.patch
queue-4.9/drm-mga-remove-device_is_agp-callback.patch
queue-4.9/usb-host-xhci-plat-enable-broken_ped-quirk-if-platform-requested.patch
queue-4.9/mm-mempolicy.c-fix-error-handling-in-set_mempolicy-and-mbind.patch
queue-4.9/pci-add-mcfg-quirks-for-qualcomm-qdf2432-host-controller.patch
queue-4.9/amd-xgbe-prepare-for-working-with-more-than-one-type-of-phy.patch
queue-4.9/arm-arm64-kvm-take-mmap_sem-in-stage2_unmap_vm.patch
queue-4.9/mm-page_alloc.c-fix-print-order-in-show_free_areas.patch
queue-4.9/usb-dwc3-host-pass-quirk-broken-port-ped-property-for-known-broken-revisions.patch
queue-4.9/hid-usbhid-add-quirk-for-the-futaba-tosd-5711bb-vfd.patch
queue-4.9/mmc-sdhci-msm-enable-few-quirks.patch
queue-4.9/hid-usbhid-add-quirk-for-mayflash-dragonrise-dolphinbar.patch
queue-4.9/arm-smccc-update-hvc-comment-to-describe-new-quirk-parameter.patch
queue-4.9/hid-usbhid-add-quirks-for-mayflash-dragonrise-gamecube-and-ps3-adapters.patch
queue-4.9/pci-thunder-pem-factor-out-resource-lookup.patch
queue-4.9/pci-acpi-extend-pci_mcfg_lookup-to-return-ecam-config-accessors.patch
queue-4.9/mips-c-r4k-fix-loongson-3-s-vcache-scache-waysize-calculation.patch
queue-4.9/platform-x86-asus-wmi-set-specified-xusb2pr-value-for-x550lb.patch
queue-4.9/drm-vmwgfx-avoid-calling-vzalloc-with-a-0-size-in-vmw_get_cap_3d_ioctl.patch
queue-4.9/usb-xhci-add-quirk-flag-for-broken-ped-bits.patch
queue-4.9/scsi-ufs-ensure-that-host-pa_tactivate-is-higher-than-device.patch
queue-4.9/mips-force-o32-fp64-support-on-32bit-mips64r6-kernels.patch
queue-4.9/arm-davinci-add-skeleton-for-pdata-quirks.patch
queue-4.9/usb-dwc3-gadget-delay-unmap-of-bounced-requests.patch
queue-4.9/x86-reboot-quirks-fix-typo-in-asus-eeebook-x205ta-reboot-quirk.patch
queue-4.9/mips-add-mips_cpu_ftlb-for-loongson-3a-r2.patch
queue-4.9/alsa-usb-audio-add-native-dsd-support-for-teac-501-503-dac.patch
queue-4.9/kbuild-use-cc-disable-warning-consistently-for-maybe-uninitialized.patch
queue-4.9/arm-omap2-fix-init-for-multiple-quirks-for-the-same-soc.patch
queue-4.9/pci-add-mcfg-quirks-for-hisilicon-hip05-06-07-host-controllers.patch
queue-4.9/hid-microsoft-add-surface-4-type-cover-pro-4-not-jp-versions.patch
queue-4.9/ppdev-fix-registering-same-device-name.patch
queue-4.9/pci-add-mcfg-quirks-for-cavium-thunderx-pass2.x-host-controller.patch
queue-4.9/x86-reboot-quirks-add-asus-eeebook-x205ta-w-reboot-quirk.patch
queue-4.9/acpi-sysfs-provide-quirk-mechanism-to-prevent-gpe-flooding.patch
queue-4.9/scsi-ufs-add-quirk-to-increase-host-pa_saveconfigtime.patch
queue-4.9/drm-ttm-drm-vmwgfx-relax-permission-checking-when-opening-surfaces.patch
queue-4.9/arm64-pci-add-local-struct-device-pointers.patch
queue-4.9/drm-vmwgfx-null-pointer-dereference-in-vmw_surface_define_ioctl.patch
queue-4.9/asoc-sun4i-i2s-add-quirks-to-handle-a31-compatible.patch



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]