public inbox for linux-nvme@lists.infradead.org
 help / color / mirror / Atom feed
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
To: Kees Cook <keescook@chromium.org>
Cc: linux-kernel@vger.kernel.org,
	"Ajay Singh" <ajay.kathat@microchip.com>,
	"Akinobu Mita" <akinobu.mita@gmail.com>,
	"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
	"Amitkumar Karwar" <amitkarwar@gmail.com>,
	"Andreas Dilger" <adilger.kernel@dilger.ca>,
	"Andreas Färber" <afaerber@suse.de>,
	"Andreas Noever" <andreas.noever@gmail.com>,
	"Andrew Lunn" <andrew@lunn.ch>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Andrii Nakryiko" <andrii@kernel.org>,
	"Andy Gospodarek" <andy@greyhouse.net>,
	"Andy Lutomirski" <luto@kernel.org>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Anil S Keshavamurthy" <anil.s.keshavamurthy@intel.com>,
	"Anna Schumaker" <anna@kernel.org>,
	"Arend van Spriel" <aspriel@gmail.com>,
	"Ayush Sawal" <ayush.sawal@chelsio.com>,
	"Borislav Petkov" <bp@alien8.de>, "Chao Yu" <chao@kernel.org>,
	"Christoph Böhmwalder" <christoph.boehmwalder@linbit.com>,
	"Christoph Hellwig" <hch@lst.de>,
	"Christophe Leroy" <christophe.leroy@csgroup.eu>,
	"Chuck Lever" <chuck.lever@oracle.com>,
	"Claudiu Beznea" <claudiu.beznea@microchip.com>,
	"Cong Wang" <xiyou.wangcong@gmail.com>,
	"Dan Williams" <dan.j.williams@intel.com>,
	"Daniel Borkmann" <daniel@iogearbox.net>,
	"Darrick J . Wong" <djwong@kernel.org>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	"David Ahern" <dsahern@kernel.org>,
	"David S . Miller" <davem@davemloft.net>,
	"Dennis Dalessandro" <dennis.dalessandro@cornelisnetworks.com>,
	"Dick Kennedy" <dick.kennedy@broadcom.com>,
	"Dmitry Vyukov" <dvyukov@google.com>,
	"Eric Dumazet" <edumazet@google.com>,
	"Florian Westphal" <fw@strlen.de>,
	"Franky Lin" <franky.lin@broadcom.com>,
	"Ganapathi Bhat" <ganapathi017@gmail.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Gregory Greenman" <gregory.greenman@intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	"Hannes Reinecke" <hare@suse.de>,
	"Hans Verkuil" <hverkuil@xs4all.nl>,
	"Hante Meuleman" <hante.meuleman@broadcom.com>,
	"Hao Luo" <haoluo@google.com>,
	"Haoyue Xu" <xuhaoyue1@hisilicon.com>,
	"Heiner Kallweit" <hkallweit1@gmail.com>,
	"Helge Deller" <deller@gmx.de>,
	"Herbert Xu" <herbert@gondor.apana.org.au>,
	"Hideaki YOSHIFUJI" <yoshfuji@linux-ipv6.org>,
	"Hugh Dickins" <hughd@google.com>,
	"Igor Mitsyanko" <imitsyanko@quantenna.com>,
	"Ilya Dryomov" <idryomov@gmail.com>,
	"Ingo Molnar" <mingo@redhat.com>,
	"Jack Wang" <jinpu.wang@ionos.com>,
	"Jaegeuk Kim" <jaegeuk@kernel.org>,
	"Jaehoon Chung" <jh80.chung@samsung.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Jamal Hadi Salim" <jhs@mojatatu.com>,
	"James E . J . Bottomley" <jejb@linux.ibm.com>,
	"James Smart" <james.smart@broadcom.com>,
	"Jan Kara" <jack@suse.com>, "Jason Gunthorpe" <jgg@ziepe.ca>,
	"Jay Vosburgh" <j.vosburgh@gmail.com>,
	"Jean-Paul Roubelat" <jpr@f6fbb.org>,
	"Jeff Layton" <jlayton@kernel.org>,
	"Jens Axboe" <axboe@kernel.dk>, "Jiri Olsa" <jolsa@kernel.org>,
	"Jiri Pirko" <jiri@resnulli.us>,
	"Johannes Berg" <johannes@sipsolutions.net>,
	"John Fastabend" <john.fastabend@gmail.com>,
	"John Stultz" <jstultz@google.com>,
	"Jon Maloy" <jmaloy@redhat.com>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Jozsef Kadlecsik" <kadlec@netfilter.org>,
	"Julian Anastasov" <ja@ssi.bg>, "KP Singh" <kpsingh@kernel.org>,
	"Kalle Valo" <kvalo@kernel.org>,
	"Keith Busch" <kbusch@kernel.org>,
	"Lars Ellenberg" <lars.ellenberg@linbit.com>,
	"Leon Romanovsky" <leon@kernel.org>,
	"Manish Rangankar" <mrangankar@marvell.com>,
	"Manivannan Sadhasivam" <mani@kernel.org>,
	"Marcelo Ricardo Leitner" <marcelo.leitner@gmail.com>,
	"Marco Elver" <elver@google.com>,
	"Martin K . Petersen" <martin.petersen@oracle.com>,
	"Martin KaFai Lau" <martin.lau@linux.dev>,
	"Masami Hiramatsu" <mhiramat@kernel.org>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
	"Md . Haris Iqbal" <haris.iqbal@ionos.com>,
	"Michael Chan" <michael.chan@broadcom.com>,
	"Michael Ellerman" <mpe@ellerman.id.au>,
	"Michael Jamet" <michael.jamet@intel.com>,
	"Michal Januszewski" <spock@gentoo.org>,
	"Mika Westerberg" <mika.westerberg@linux.intel.com>,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	"Namjae Jeon" <linkinjeon@kernel.org>,
	"Naveen N . Rao" <naveen.n.rao@linux.ibm.com>,
	"Neil Horman" <nhorman@tuxdriver.com>,
	"Nicholas Piggin" <npiggin@gmail.com>,
	"Nilesh Javali" <njavali@marvell.com>,
	"OGAWA Hirofumi" <hirofumi@mail.parknet.co.jp>,
	"Pablo Neira Ayuso" <pablo@netfilter.org>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Peter Zijlstra" <peterz@infradead.org>,
	"Philipp Reisner" <philipp.reisner@linbit.com>,
	"Potnuri Bharat Teja" <bharat@chelsio.com>,
	"Pravin B Shelar" <pshelar@ovn.org>,
	"Rasmus Villemoes" <linux@rasmusvillemoes.dk>,
	"Richard Weinberger" <richard@nod.at>,
	"Rohit Maheshwari" <rohitm@chelsio.com>,
	"Russell King" <linux@armlinux.org.uk>,
	"Sagi Grimberg" <sagi@grimberg.me>,
	"Santosh Shilimkar" <santosh.shilimkar@oracle.com>,
	"Sergey Matyukevich" <geomatsi@gmail.com>,
	"Sharvari Harisangam" <sharvari.harisangam@nxp.com>,
	"Simon Horman" <horms@verge.net.au>, "Song Liu" <song@kernel.org>,
	"Stanislav Fomichev" <sdf@google.com>,
	"Steffen Klassert" <steffen.klassert@secunet.com>,
	"Stephen Boyd" <sboyd@kernel.org>,
	"Stephen Hemminger" <stephen@networkplumber.org>,
	"Sungjong Seo" <sj1557.seo@samsung.com>,
	"Theodore Ts'o" <tytso@mit.edu>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Thomas Graf" <tgraf@suug.ch>,
	"Thomas Sailer" <t.sailer@alumni.ethz.ch>,
	"Toke Høiland-Jørgensen" <toke@toke.dk>,
	"Trond Myklebust" <trond.myklebust@hammerspace.com>,
	"Ulf Hansson" <ulf.hansson@linaro.org>,
	"Varun Prakash" <varun@chelsio.com>,
	"Veaceslav Falico" <vfalico@gmail.com>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"Vinay Kumar Yadav" <vinay.yadav@chelsio.com>,
	"Vinod Koul" <vkoul@kernel.org>,
	"Vlad Yasevich" <vyasevich@gmail.com>,
	"Wenpeng Liang" <liangwenpeng@huawei.com>,
	"Xinming Hu" <huxinming820@gmail.com>,
	"Xiubo Li" <xiubli@redhat.com>,
	"Yehezkel Bernat" <YehezkelShB@gmail.com>,
	"Ying Xue" <ying.xue@windriver.com>,
	"Yishai Hadas" <yishaih@nvidia.com>, "Yonghong Song" <yhs@fb.com>,
	"Yury Norov" <yury.norov@gmail.com>,
	brcm80211-dev-list.pdl@broadcom.com, cake@lists.bufferbloat.net,
	ceph-devel@vger.kernel.org, coreteam@netfilter.org,
	dccp@vger.kernel.org, dev@openvswitch.org,
	dmaengine@vger.kernel.org, drbd-dev@lists.linbit.com,
	dri-devel@lists.freedesktop.org, kasan-dev@googlegroups.com,
	linux-actions@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-block@vger.kernel.org, linux-crypto@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net,
	linux-fbdev@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-hams@vger.kernel.org, linux-media@vger.kernel.org,
	linux-mm@kvack.org, linux-mmc@vger.kernel.org,
	linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org,
	linux-nvme@lists.infradead.org, linux-raid@vger.kernel.org,
	linux-rdma@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-sctp@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-usb@vger.kernel.org, linux-wireless@vger.kernel.org,
	linux-xfs@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	lvs-devel@vger.kernel.org, netdev@vger.kernel.org,
	netfilter-devel@vger.kernel.org, rds-devel@oss.oracle.com,
	SHA-cyfmac-dev-list@infineon.com, target-devel@vger.kernel.org,
	tipc-discussion@lists.sourceforge.net
Subject: Re: [PATCH v1 1/5] treewide: use prandom_u32_max() when possible
Date: Thu, 6 Oct 2022 06:45:25 -0600	[thread overview]
Message-ID: <Yz7N5WsqmKiUl+6b@zx2c4.com> (raw)
In-Reply-To: <202210052035.A1020E3@keescook>

Hi Kees,

On Wed, Oct 05, 2022 at 09:16:50PM -0700, Kees Cook wrote:
> On Wed, Oct 05, 2022 at 11:48:40PM +0200, Jason A. Donenfeld wrote:
> > Rather than incurring a division or requesting too many random bytes for
> > the given range, use the prandom_u32_max() function, which only takes
> > the minimum required bytes from the RNG and avoids divisions.
> 
> Yes please!
> 
> Since this is a treewide patch, it's helpful for (me at least) doing
> reviews to detail the mechanism of the transformation.

This is hand done. There were also various wrong seds done. And then I'd
edit the .diff manually, and then reapply it, as an iterative process.
No internet on the airplane, and oddly no spatch already on my laptop (I
think I had some Gentoo ocaml issues at some point and removed it?).

> e.g. I imagine this could be done with something like Coccinelle and

Feel free to check the work here by using Coccinelle if you're into
that.

> >  static inline int ubi_dbg_is_bitflip(const struct ubi_device *ubi)
> >  {
> >  	if (ubi->dbg.emulate_bitflips)
> > -		return !(prandom_u32() % 200);
> > +		return !(prandom_u32_max(200));
> >  	return 0;
> >  }
> >  
> 
> Because some looks automated (why the parens?)

I saw this before going out and thought I'd fixed it but I guess I sent
the wrong one.

Jason


  parent reply	other threads:[~2022-10-06 15:02 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-05 21:48 [PATCH v1 0/5] treewide cleanup of random integer usage Jason A. Donenfeld
2022-10-05 21:48 ` [PATCH v1 1/5] treewide: use prandom_u32_max() when possible Jason A. Donenfeld
2022-10-06  4:16   ` Kees Cook
2022-10-06  4:22     ` KP Singh
2022-10-06 12:45     ` Jason A. Donenfeld [this message]
2022-10-06 12:55       ` Jason Gunthorpe
2022-10-06 13:05         ` Andy Shevchenko
2022-10-05 21:48 ` [PATCH v1 2/5] treewide: use get_random_{u8,u16}() " Jason A. Donenfeld
2022-10-06  4:38   ` Kees Cook
2022-10-06 12:28     ` Jason A. Donenfeld
2022-10-05 21:48 ` [PATCH v1 3/5] treewide: use get_random_u32() " Jason A. Donenfeld
2022-10-06  8:43   ` Jan Kara
2022-10-06 12:33     ` [f2fs-dev] " Jason A. Donenfeld
2022-10-06 13:01       ` Andy Shevchenko
2022-10-06 13:07         ` Jason A. Donenfeld
2022-10-06 12:47   ` Jason Gunthorpe
2022-10-06 13:05     ` Jason A. Donenfeld
2022-10-06 13:15       ` Jason Gunthorpe
2022-10-06 13:20       ` Andy Shevchenko
2022-10-12 19:16   ` Joe Perches
2022-10-12 21:29     ` David Laight
2022-10-13  1:37       ` Joe Perches
2022-10-05 21:48 ` [PATCH v1 4/5] treewide: use get_random_bytes " Jason A. Donenfeld
2022-10-06  4:45   ` Kees Cook
2022-10-06  4:48   ` Kees Cook
2022-10-05 21:48 ` [PATCH v1 5/5] prandom: remove unused functions Jason A. Donenfeld
2022-10-06  4:39   ` Kees Cook
2022-10-06  4:55 ` [PATCH v1 0/5] treewide cleanup of random integer usage Kees Cook
2022-10-06  5:40   ` Kees Cook
2022-10-06 12:53   ` Jason A. Donenfeld
2022-10-06 13:49 ` [f2fs-dev] " Jason A. Donenfeld

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=Yz7N5WsqmKiUl+6b@zx2c4.com \
    --to=jason@zx2c4.com \
    --cc=SHA-cyfmac-dev-list@infineon.com \
    --cc=YehezkelShB@gmail.com \
    --cc=adilger.kernel@dilger.ca \
    --cc=afaerber@suse.de \
    --cc=ajay.kathat@microchip.com \
    --cc=akinobu.mita@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexandre.torgue@foss.st.com \
    --cc=amitkarwar@gmail.com \
    --cc=andreas.noever@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=andrii@kernel.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=andy@greyhouse.net \
    --cc=anil.s.keshavamurthy@intel.com \
    --cc=anna@kernel.org \
    --cc=aspriel@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=ayush.sawal@chelsio.com \
    --cc=bharat@chelsio.com \
    --cc=bp@alien8.de \
    --cc=brcm80211-dev-list.pdl@broadcom.com \
    --cc=cake@lists.bufferbloat.net \
    --cc=ceph-devel@vger.kernel.org \
    --cc=chao@kernel.org \
    --cc=christoph.boehmwalder@linbit.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=chuck.lever@oracle.com \
    --cc=claudiu.beznea@microchip.com \
    --cc=corbet@lwn.net \
    --cc=coreteam@netfilter.org \
    --cc=dan.j.williams@intel.com \
    --cc=daniel@iogearbox.net \
    --cc=dave.hansen@linux.intel.com \
    --cc=davem@davemloft.net \
    --cc=dccp@vger.kernel.org \
    --cc=deller@gmx.de \
    --cc=dennis.dalessandro@cornelisnetworks.com \
    --cc=dev@openvswitch.org \
    --cc=dick.kennedy@broadcom.com \
    --cc=djwong@kernel.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=drbd-dev@lists.linbit.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=dsahern@kernel.org \
    --cc=dvyukov@google.com \
    --cc=edumazet@google.com \
    --cc=elver@google.com \
    --cc=franky.lin@broadcom.com \
    --cc=fw@strlen.de \
    --cc=ganapathi017@gmail.com \
    --cc=geomatsi@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=gregory.greenman@intel.com \
    --cc=hante.meuleman@broadcom.com \
    --cc=haoluo@google.com \
    --cc=hare@suse.de \
    --cc=haris.iqbal@ionos.com \
    --cc=hch@lst.de \
    --cc=herbert@gondor.apana.org.au \
    --cc=hirofumi@mail.parknet.co.jp \
    --cc=hkallweit1@gmail.com \
    --cc=horms@verge.net.au \
    --cc=hpa@zytor.com \
    --cc=hughd@google.com \
    --cc=huxinming820@gmail.com \
    --cc=hverkuil@xs4all.nl \
    --cc=idryomov@gmail.com \
    --cc=imitsyanko@quantenna.com \
    --cc=j.vosburgh@gmail.com \
    --cc=ja@ssi.bg \
    --cc=jack@suse.com \
    --cc=jaegeuk@kernel.org \
    --cc=james.smart@broadcom.com \
    --cc=jejb@linux.ibm.com \
    --cc=jgg@ziepe.ca \
    --cc=jh80.chung@samsung.com \
    --cc=jhs@mojatatu.com \
    --cc=jinpu.wang@ionos.com \
    --cc=jiri@resnulli.us \
    --cc=jlayton@kernel.org \
    --cc=jmaloy@redhat.com \
    --cc=johannes@sipsolutions.net \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=jpr@f6fbb.org \
    --cc=jstultz@google.com \
    --cc=kadlec@netfilter.org \
    --cc=kasan-dev@googlegroups.com \
    --cc=kbusch@kernel.org \
    --cc=keescook@chromium.org \
    --cc=kpsingh@kernel.org \
    --cc=kuba@kernel.org \
    --cc=kvalo@kernel.org \
    --cc=lars.ellenberg@linbit.com \
    --cc=leon@kernel.org \
    --cc=liangwenpeng@huawei.com \
    --cc=linkinjeon@kernel.org \
    --cc=linux-actions@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-hams@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-sctp@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=linux@rasmusvillemoes.dk \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=luto@kernel.org \
    --cc=lvs-devel@vger.kernel.org \
    --cc=mani@kernel.org \
    --cc=marcelo.leitner@gmail.com \
    --cc=martin.lau@linux.dev \
    --cc=martin.petersen@oracle.com \
    --cc=mchehab@kernel.org \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=mhiramat@kernel.org \
    --cc=michael.chan@broadcom.com \
    --cc=michael.jamet@intel.com \
    --cc=mika.westerberg@linux.intel.com \
    --cc=mingo@redhat.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=mpe@ellerman.id.au \
    --cc=mrangankar@marvell.com \
    --cc=naveen.n.rao@linux.ibm.com \
    --cc=netdev@vger.kernel.org \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=nhorman@tuxdriver.com \
    --cc=njavali@marvell.com \
    --cc=npiggin@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=pablo@netfilter.org \
    --cc=peterz@infradead.org \
    --cc=philipp.reisner@linbit.com \
    --cc=pshelar@ovn.org \
    --cc=rds-devel@oss.oracle.com \
    --cc=richard@nod.at \
    --cc=rohitm@chelsio.com \
    --cc=sagi@grimberg.me \
    --cc=santosh.shilimkar@oracle.com \
    --cc=sboyd@kernel.org \
    --cc=sdf@google.com \
    --cc=sharvari.harisangam@nxp.com \
    --cc=sj1557.seo@samsung.com \
    --cc=song@kernel.org \
    --cc=spock@gentoo.org \
    --cc=steffen.klassert@secunet.com \
    --cc=stephen@networkplumber.org \
    --cc=t.sailer@alumni.ethz.ch \
    --cc=target-devel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tgraf@suug.ch \
    --cc=tipc-discussion@lists.sourceforge.net \
    --cc=toke@toke.dk \
    --cc=trond.myklebust@hammerspace.com \
    --cc=tytso@mit.edu \
    --cc=ulf.hansson@linaro.org \
    --cc=varun@chelsio.com \
    --cc=vfalico@gmail.com \
    --cc=vigneshr@ti.com \
    --cc=vinay.yadav@chelsio.com \
    --cc=vkoul@kernel.org \
    --cc=vyasevich@gmail.com \
    --cc=xiubli@redhat.com \
    --cc=xiyou.wangcong@gmail.com \
    --cc=xuhaoyue1@hisilicon.com \
    --cc=yhs@fb.com \
    --cc=ying.xue@windriver.com \
    --cc=yishaih@nvidia.com \
    --cc=yoshfuji@linux-ipv6.org \
    --cc=yury.norov@gmail.com \
    /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