linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Jong Hyun Park <park.jonghyun@yonsei.ac.kr>,
	Tianyu Lan <Tianyu.Lan@microsoft.com>,
	Michael Kelley <mikelley@microsoft.com>,
	Borislav Petkov <bp@alien8.de>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.2 113/124] x86/hyper-v: Fix overflow bug in fill_gva_list()
Date: Fri, 20 Sep 2019 00:03:21 +0200	[thread overview]
Message-ID: <20190919214823.298130011@linuxfoundation.org> (raw)
In-Reply-To: <20190919214819.198419517@linuxfoundation.org>

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

[ Upstream commit 4030b4c585c41eeefec7bd20ce3d0e100a0f2e4d ]

When the 'start' parameter is >=  0xFF000000 on 32-bit
systems, or >= 0xFFFFFFFF'FF000000 on 64-bit systems,
fill_gva_list() gets into an infinite loop.

With such inputs, 'cur' overflows after adding HV_TLB_FLUSH_UNIT
and always compares as less than end.  Memory is filled with
guest virtual addresses until the system crashes.

Fix this by never incrementing 'cur' to be larger than 'end'.

Reported-by: Jong Hyun Park <park.jonghyun@yonsei.ac.kr>
Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: 2ffd9e33ce4a ("x86/hyper-v: Use hypercall for remote TLB flush")
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/hyperv/mmu.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/x86/hyperv/mmu.c b/arch/x86/hyperv/mmu.c
index e65d7fe6489f3..5208ba49c89a9 100644
--- a/arch/x86/hyperv/mmu.c
+++ b/arch/x86/hyperv/mmu.c
@@ -37,12 +37,14 @@ static inline int fill_gva_list(u64 gva_list[], int offset,
 		 * Lower 12 bits encode the number of additional
 		 * pages to flush (in addition to the 'cur' page).
 		 */
-		if (diff >= HV_TLB_FLUSH_UNIT)
+		if (diff >= HV_TLB_FLUSH_UNIT) {
 			gva_list[gva_n] |= ~PAGE_MASK;
-		else if (diff)
+			cur += HV_TLB_FLUSH_UNIT;
+		}  else if (diff) {
 			gva_list[gva_n] |= (diff - 1) >> PAGE_SHIFT;
+			cur = end;
+		}
 
-		cur += HV_TLB_FLUSH_UNIT;
 		gva_n++;
 
 	} while (cur < end);
-- 
2.20.1




  parent reply	other threads:[~2019-09-19 22:11 UTC|newest]

Thread overview: 132+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-19 22:01 [PATCH 5.2 000/124] 5.2.17-stable review Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 001/124] USB: usbcore: Fix slab-out-of-bounds bug during device reset Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 002/124] media: tm6000: double free if usb disconnect while streaming Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 003/124] phy: renesas: rcar-gen3-usb2: Disable clearing VBUS in over-current Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 004/124] net: hns3: adjust hns3_uninit_phy()s location in the hns3_client_uninit() Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 005/124] netfilter: nf_flow_table: set default timeout after successful insertion Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 006/124] HID: wacom: generic: read HID_DG_CONTACTMAX from any feature report Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 007/124] Input: elan_i2c - remove Lenovo Legion Y7000 PnpID Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 008/124] SUNRPC: Handle connection breakages correctly in call_status() Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 009/124] media: stm32-dcmi: fix irq = 0 case Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 010/124] nfs: disable client side deduplication Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 011/124] powerpc/mm/radix: Use the right page size for vmemmap mapping Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 012/124] scripts/decode_stacktrace: match basepath using shell prefix operator, not regex Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 013/124] net: hns: fix LED configuration for marvell phy Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 014/124] net: aquantia: fix limit of vlan filters Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 015/124] ip6_gre: fix a dst leak in ip6erspan_tunnel_xmit Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 016/124] net/sched: fix race between deactivation and dequeue for NOLOCK qdisc Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 017/124] net_sched: let qdisc_put() accept NULL pointer Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 018/124] udp: correct reuseport selection with connected sockets Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 019/124] xen-netfront: do not assume sk_buff_head list is empty in error handling Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 020/124] net: dsa: Fix load order between DSA drivers and taggers Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 021/124] KVM: coalesced_mmio: add bounds checking Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 022/124] firmware: google: check if size is valid when decoding VPD data Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 023/124] serial: sprd: correct the wrong sequence of arguments Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 024/124] tty/serial: atmel: reschedule TX after RX was started Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 025/124] mwifiex: Fix three heap overflow at parsing element in cfg80211_ap_settings Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 026/124] nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 027/124] ieee802154: hwsim: Fix error handle path in hwsim_init_module Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 028/124] ieee802154: hwsim: unregister hw while hwsim_subscribe_all_others fails Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 029/124] ARM: dts: am57xx: Disable voltage switching for SD card Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 030/124] ARM: OMAP2+: Fix missing SYSC_HAS_RESET_STATUS for dra7 epwmss Greg Kroah-Hartman
2019-09-19 22:01 ` [PATCH 5.2 031/124] bus: ti-sysc: Fix handling of forced idle Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 032/124] bus: ti-sysc: Fix using configured sysc mask value Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 033/124] ARM: dts: Fix flags for gpio7 Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 034/124] ARM: dts: Fix incorrect dcan register mapping for am3, am4 and dra7 Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 035/124] arm64: dts: meson-g12a: add missing dwc2 phy-names Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 036/124] s390/bpf: fix lcgr instruction encoding Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 037/124] ARM: OMAP2+: Fix omap4 errata warning on other SoCs Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 038/124] ARM: dts: am335x: Fix UARTs length Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 039/124] ARM: dts: dra74x: Fix iodelay configuration for mmc3 Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 040/124] ARM: OMAP1: ams-delta-fiq: Fix missing irq_ack Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 041/124] bus: ti-sysc: Simplify cleanup upon failures in sysc_probe() Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 042/124] ARM: dts: Fix incomplete dts data for am3 and am4 mmc Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 043/124] s390/bpf: use 32-bit index for tail calls Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 044/124] selftests/bpf: fix "bind{4, 6} deny specific IP & port" on s390 Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 045/124] tools: bpftool: close prog FD before exit on showing a single program Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 046/124] fpga: altera-ps-spi: Fix getting of optional confd gpio Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 047/124] netfilter: ebtables: Fix argument order to ADD_COUNTER Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 048/124] netfilter: nft_flow_offload: missing netlink attribute policy Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 049/124] netfilter: xt_nfacct: Fix alignment mismatch in xt_nfacct_match_info Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 050/124] NFSv4: Fix return values for nfs4_file_open() Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 051/124] NFSv4: Fix return value in nfs_finish_open() Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 052/124] NFS: Fix initialisation of I/O result struct in nfs_pgio_rpcsetup Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 053/124] NFS: On fatal writeback errors, we need to call nfs_inode_remove_request() Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 054/124] Kconfig: Fix the reference to the IDT77105 Phy driver in the description of ATM_NICSTAR_USE_IDT77105 Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 055/124] xdp: unpin xdp umem pages in error path Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 056/124] selftests/bpf: fix test_cgroup_storage on s390 Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 057/124] selftests/bpf: add config fragment BPF_JIT Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 058/124] qed: Add cleanup in qed_slowpath_start() Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 059/124] drm/omap: Fix port lookup for SDI output Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 060/124] drm/virtio: use virtio_max_dma_size Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 061/124] ARM: 8874/1: mm: only adjust sections of valid mm structures Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 062/124] batman-adv: Only read OGM2 tvlv_len after buffer len check Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 063/124] flow_dissector: Fix potential use-after-free on BPF_PROG_DETACH Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 064/124] bpf: allow narrow loads of some sk_reuseport_md fields with offset > 0 Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 065/124] r8152: Set memory to all 0xFFs on failed reg reads Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 066/124] x86/apic: Fix arch_dynirq_lower_bound() bug for DT enabled machines Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 067/124] pNFS/flexfiles: Dont time out requests on hard mounts Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 068/124] NFS: Fix spurious EIO read errors Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 069/124] NFS: Fix writepage(s) error handling to not report errors twice Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 070/124] drm/amdgpu: fix dma_fence_wait without reference Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 071/124] netfilter: xt_physdev: Fix spurious error message in physdev_mt_check Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 072/124] netfilter: nf_conntrack_ftp: Fix debug output Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 073/124] NFSv2: Fix eof handling Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 074/124] NFSv2: Fix write regression Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 075/124] NFS: remove set but not used variable mapping Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 076/124] kallsyms: Dont let kallsyms_lookup_size_offset() fail on retrieving the first symbol Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 077/124] netfilter: conntrack: make sysctls per-namespace again Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 078/124] drm/amd/powerplay: correct Vega20 dpm level related settings Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 079/124] cifs: set domainName when a domain-key is used in multiuser Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 080/124] cifs: Use kzfree() to zero out the password Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 081/124] libceph: dont call crypto_free_sync_skcipher() on a NULL tfm Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 082/124] usb: host: xhci-tegra: Set DMA mask correctly Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 083/124] RISC-V: Fix FIXMAP area corruption on RV32 systems Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 084/124] ARM: 8901/1: add a criteria for pfn_valid of arm Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 085/124] ibmvnic: Do not process reset during or after device removal Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 086/124] sky2: Disable MSI on yet another ASUS boards (P6Xxxx) Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 087/124] i2c: designware: Synchronize IRQs when unregistering slave client Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 088/124] perf/x86/intel: Restrict period on Nehalem Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 089/124] perf/x86/amd/ibs: Fix sample bias for dispatched micro-ops Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 090/124] i2c: iproc: Stop advertising support of SMBUS quick cmd Greg Kroah-Hartman
2019-09-19 22:02 ` [PATCH 5.2 091/124] i2c: mediatek: disable zero-length transfers for mt8183 Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 092/124] amd-xgbe: Fix error path in xgbe_mod_init() Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 093/124] netfilter: nf_flow_table: clear skb tstamp before xmit Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 094/124] tools/power x86_energy_perf_policy: Fix "uninitialized variable" warnings at -O2 Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 095/124] tools/power x86_energy_perf_policy: Fix argument parsing Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 096/124] tools/power turbostat: fix leak of file descriptor on error return path Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 097/124] tools/power turbostat: fix file descriptor leaks Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 098/124] tools/power turbostat: fix buffer overrun Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 099/124] tools/power turbostat: Fix Haswell Core systems Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 100/124] tools/power turbostat: Add Ice Lake NNPI support Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 101/124] tools/power turbostat: Fix CPU%C1 display value Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 102/124] net: aquantia: fix removal of vlan 0 Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 103/124] net: aquantia: reapply vlan filters on up Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 104/124] net: aquantia: linkstate irq should be oneshot Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 105/124] net: aquantia: fix out of memory condition on rx side Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 106/124] net: dsa: microchip: add KSZ8563 compatibility string Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 107/124] enetc: Add missing call to pci_free_irq_vectors() in probe and remove functions Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 108/124] net: seeq: Fix the function used to release some memory in an error handling path Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 109/124] arm64: dts: renesas: r8a77995: draak: Fix backlight regulator name Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 110/124] dmaengine: ti: dma-crossbar: Fix a memory leak bug Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 111/124] dmaengine: ti: omap-dma: Add cleanup in omap_dma_probe() Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 112/124] x86/uaccess: Dont leak the AC flags into __get_user() argument evaluation Greg Kroah-Hartman
2019-09-19 22:03 ` Greg Kroah-Hartman [this message]
2019-09-19 22:03 ` [PATCH 5.2 114/124] iommu/vt-d: Remove global page flush support Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 115/124] dmaengine: sprd: Fix the DMA link-list configuration Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 116/124] dmaengine: rcar-dmac: Fix DMACHCLR handling if iommu is mapped Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 117/124] keys: Fix missing null pointer check in request_key_auth_describe() Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 118/124] iommu/amd: Flush old domains in kdump kernel Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 119/124] iommu/amd: Fix race in increase_address_space() Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 120/124] Revert "arm64: Remove unnecessary ISBs from set_{pte,pmd,pud}" Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 121/124] ovl: fix regression caused by overlapping layers detection Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 122/124] floppy: fix usercopy direction Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 123/124] media: technisat-usb2: break out of loop at end of buffer Greg Kroah-Hartman
2019-09-19 22:03 ` [PATCH 5.2 124/124] vfs: Fix refcounting of filenames in fs_parser Greg Kroah-Hartman
2019-09-20  4:00 ` [PATCH 5.2 000/124] 5.2.17-stable review kernelci.org bot
2019-09-20 13:44 ` Guenter Roeck
2019-09-20 13:48 ` Jon Hunter
2019-09-20 14:39 ` Naresh Kamboju
2019-09-20 18:37 ` Guenter Roeck
2019-09-21  5:05   ` Greg Kroah-Hartman
2019-09-20 21:18 ` shuah

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190919214823.298130011@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=Tianyu.Lan@microsoft.com \
    --cc=bp@alien8.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mikelley@microsoft.com \
    --cc=mingo@kernel.org \
    --cc=park.jonghyun@yonsei.ac.kr \
    --cc=peterz@infradead.org \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).