From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
Yan Burman <yanb@mellanox.com>, Amir Vadai <amirv@mellanox.com>,
David Miller <davem@davemloft.net>,
netdev@vger.kernel.org, Sasha Levin <sasha.levin@oracle.com>
Subject: linux-next: build failure after merge of the akpm tree
Date: Mon, 11 Feb 2013 18:13:32 +1100 [thread overview]
Message-ID: <20130211181332.ecf1cad33b04b3872b685620@canb.auug.org.au> (raw)
[-- Attachment #1: Type: text/plain, Size: 7076 bytes --]
Hi Andrew,
After merging the akpm tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:
drivers/net/ethernet/mellanox/mlx4/en_rx.c: In function 'mlx4_en_process_rx_cq':
drivers/net/ethernet/mellanox/mlx4/en_rx.c:628:53: error: macro "hlist_for_each_entry_rcu" passed 4 arguments, but takes just 3
drivers/net/ethernet/mellanox/mlx4/en_rx.c:628:5: error: 'hlist_for_each_entry_rcu' undeclared (first use in this function)
drivers/net/ethernet/mellanox/mlx4/en_rx.c:628:55: error: expected ';' before '{' token
Caused by commit c07cb4b0ab78 ("net/mlx4_en: Manage hash of MAC addresses
per port") from the net-next tree interacting with commit "hlist: drop
the node parameter from iterators" from the akpm tree.
I applied the following merge fix patch for today:
From 7a10f5e7e8d1232d618307d568ea9a78dc4680bb Mon Sep 17 00:00:00 2001
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 11 Feb 2013 18:01:23 +1100
Subject: [PATCH] net/mlx4_en: fix up for hlist_for_each_entry_rcu API change
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/net/ethernet/mellanox/mlx4/en_rx.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
index ce38654..19a9c05 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
@@ -617,7 +617,6 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
if (is_multicast_ether_addr(ethh->h_dest)) {
struct mlx4_mac_entry *entry;
- struct hlist_node *n;
struct hlist_head *bucket;
unsigned int mac_hash;
@@ -625,7 +624,7 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
mac_hash = ethh->h_source[MLX4_EN_MAC_HASH_IDX];
bucket = &priv->mac_hash[mac_hash];
rcu_read_lock();
- hlist_for_each_entry_rcu(entry, n, bucket, hlist) {
+ hlist_for_each_entry_rcu(entry, bucket, hlist) {
if (ether_addr_equal_64bits(entry->mac,
ethh->h_source)) {
rcu_read_unlock();
--
1.8.1
That then lead to these:
drivers/net/ethernet/mellanox/mlx4/en_netdev.c: In function 'mlx4_en_put_qp':
drivers/net/ethernet/mellanox/mlx4/en_netdev.c:582:57: error: macro "hlist_for_each_entry_safe" passed 5 arguments, but takes just 4
drivers/net/ethernet/mellanox/mlx4/en_netdev.c:582:3: error: 'hlist_for_each_entry_safe' undeclared (first use in this function)
drivers/net/ethernet/mellanox/mlx4/en_netdev.c:582:59: error: expected ';' before '{' token
drivers/net/ethernet/mellanox/mlx4/en_netdev.c: In function 'mlx4_en_replace_mac':
drivers/net/ethernet/mellanox/mlx4/en_netdev.c:615:57: error: macro "hlist_for_each_entry_safe" passed 5 arguments, but takes just 4
drivers/net/ethernet/mellanox/mlx4/en_netdev.c:615:3: error: 'hlist_for_each_entry_safe' undeclared (first use in this function)
drivers/net/ethernet/mellanox/mlx4/en_netdev.c:615:59: error: expected ';' before '{' token
drivers/net/ethernet/mellanox/mlx4/en_netdev.c: In function 'mlx4_en_do_uc_filter':
drivers/net/ethernet/mellanox/mlx4/en_netdev.c:1037:57: error: macro "hlist_for_each_entry_safe" passed 5 arguments, but takes just 4
drivers/net/ethernet/mellanox/mlx4/en_netdev.c:1037:3: error: 'hlist_for_each_entry_safe' undeclared (first use in this function)
drivers/net/ethernet/mellanox/mlx4/en_netdev.c:1037:59: error: expected ';' before '{' token
drivers/net/ethernet/mellanox/mlx4/en_netdev.c:1080:47: error: macro "hlist_for_each_entry" passed 4 arguments, but takes just 3
drivers/net/ethernet/mellanox/mlx4/en_netdev.c:1080:3: error: 'hlist_for_each_entry' undeclared (first use in this function)
drivers/net/ethernet/mellanox/mlx4/en_netdev.c:1080:49: error: expected ';' before '{' token
For which I applied this:
From 8b8154323c7a63c29bb2d7613742ca2bb417efc3 Mon Sep 17 00:00:00 2001
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 11 Feb 2013 18:10:36 +1100
Subject: [PATCH] net/mlx4_en: second fix up for hlist_for_each_entry_rcu API
change
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
index 77c4f55..bb53a72 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
@@ -573,13 +573,13 @@ static void mlx4_en_put_qp(struct mlx4_en_priv *priv)
if (dev->caps.steering_mode != MLX4_STEERING_MODE_A0) {
struct mlx4_mac_entry *entry;
- struct hlist_node *n, *tmp;
+ struct hlist_node *tmp;
struct hlist_head *bucket;
unsigned int mac_hash;
mac_hash = priv->dev->dev_addr[MLX4_EN_MAC_HASH_IDX];
bucket = &priv->mac_hash[mac_hash];
- hlist_for_each_entry_safe(entry, n, tmp, bucket, hlist) {
+ hlist_for_each_entry_safe(entry, tmp, bucket, hlist) {
if (ether_addr_equal_64bits(entry->mac,
priv->dev->dev_addr)) {
en_dbg(DRV, priv, "Releasing qp: port %d, MAC %pM, qpn %d\n",
@@ -608,11 +608,11 @@ static int mlx4_en_replace_mac(struct mlx4_en_priv *priv, int qpn,
struct hlist_head *bucket;
unsigned int mac_hash;
struct mlx4_mac_entry *entry;
- struct hlist_node *n, *tmp;
+ struct hlist_node *tmp;
u64 prev_mac_u64 = mlx4_en_mac_to_u64(prev_mac);
bucket = &priv->mac_hash[prev_mac[MLX4_EN_MAC_HASH_IDX]];
- hlist_for_each_entry_safe(entry, n, tmp, bucket, hlist) {
+ hlist_for_each_entry_safe(entry, tmp, bucket, hlist) {
if (ether_addr_equal_64bits(entry->mac, prev_mac)) {
mlx4_en_uc_steer_release(priv, entry->mac,
qpn, entry->reg_id);
@@ -1018,7 +1018,7 @@ static void mlx4_en_do_uc_filter(struct mlx4_en_priv *priv,
{
struct netdev_hw_addr *ha;
struct mlx4_mac_entry *entry;
- struct hlist_node *n, *tmp;
+ struct hlist_node *tmp;
bool found;
u64 mac;
int err = 0;
@@ -1034,7 +1034,7 @@ static void mlx4_en_do_uc_filter(struct mlx4_en_priv *priv,
/* find what to remove */
for (i = 0; i < MLX4_EN_MAC_HASH_SIZE; ++i) {
bucket = &priv->mac_hash[i];
- hlist_for_each_entry_safe(entry, n, tmp, bucket, hlist) {
+ hlist_for_each_entry_safe(entry, tmp, bucket, hlist) {
found = false;
netdev_for_each_uc_addr(ha, dev) {
if (ether_addr_equal_64bits(entry->mac,
@@ -1077,7 +1077,7 @@ static void mlx4_en_do_uc_filter(struct mlx4_en_priv *priv,
netdev_for_each_uc_addr(ha, dev) {
found = false;
bucket = &priv->mac_hash[ha->addr[MLX4_EN_MAC_HASH_IDX]];
- hlist_for_each_entry(entry, n, bucket, hlist) {
+ hlist_for_each_entry(entry, bucket, hlist) {
if (ether_addr_equal_64bits(entry->mac, ha->addr)) {
found = true;
break;
--
1.8.1
I will add these to the end of the akpm tree tomorrow.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
next reply other threads:[~2013-02-11 7:13 UTC|newest]
Thread overview: 259+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-11 7:13 Stephen Rothwell [this message]
2013-02-11 12:04 ` linux-next: build failure after merge of the akpm tree Amir Vadai
-- strict thread matches above, loose matches on Subject: below --
2022-03-07 10:55 Stephen Rothwell
2022-03-07 16:43 ` Johannes Weiner
2022-03-07 21:27 ` Stephen Rothwell
2021-12-20 11:08 Stephen Rothwell
2021-12-20 12:44 ` Muchun Song
2021-12-01 5:06 Stephen Rothwell
2021-06-17 9:32 Stephen Rothwell
2021-06-17 12:15 ` Muneendra Kumar M
2021-06-16 13:07 Stephen Rothwell
2021-06-18 8:24 ` Stephen Rothwell
2020-12-21 5:16 Stephen Rothwell
2020-12-10 9:33 Stephen Rothwell
2020-12-03 8:52 Stephen Rothwell
2020-12-03 12:48 ` Andrey Konovalov
2020-11-13 7:02 Stephen Rothwell
2020-11-14 1:14 ` Andrew Morton
2020-11-15 9:01 ` Mike Rapoport
2020-11-16 6:17 ` Stephen Rothwell
2020-11-11 6:20 Stephen Rothwell
2020-09-28 11:25 Stephen Rothwell
2020-09-28 11:29 ` Christoph Hellwig
2020-09-08 10:45 Stephen Rothwell
2020-06-04 6:44 Stephen Rothwell
2020-06-04 8:24 ` Stephen Rothwell
2020-06-02 9:57 Stephen Rothwell
2020-06-02 19:12 ` Andrew Morton
2020-05-28 10:19 Stephen Rothwell
2020-05-28 13:15 ` Christoph Hellwig
2020-05-25 12:17 Stephen Rothwell
2020-05-25 18:18 ` John Hubbard
2020-05-25 22:17 ` Stephen Rothwell
2020-04-22 6:39 Stephen Rothwell
2020-04-22 18:33 ` Haren Myneni
2020-03-02 4:23 Stephen Rothwell
2020-02-27 4:11 Stephen Rothwell
2020-02-27 5:20 ` Arjun Roy
2020-02-27 9:02 ` Geert Uytterhoeven
2020-02-27 17:13 ` Arjun Roy
2020-02-27 17:44 ` Arjun Roy
2020-02-27 17:57 ` Geert Uytterhoeven
2020-02-27 18:50 ` Arjun Roy
2020-02-27 21:28 ` Stephen Rothwell
2020-02-28 0:34 ` Arjun Roy
2020-02-28 0:59 ` Stephen Rothwell
2020-02-27 21:27 ` Stephen Rothwell
2020-02-17 3:57 Stephen Rothwell
2020-02-17 4:12 ` Arjun Roy
2020-02-17 6:45 ` Arjun Roy
2020-02-20 23:18 ` Stephen Rothwell
2020-02-20 23:22 ` Arjun Roy
2020-02-20 23:43 ` Stephen Rothwell
2020-02-20 23:44 ` Arjun Roy
2020-02-20 23:59 ` Stephen Rothwell
2020-02-21 21:29 ` Arjun Roy
2020-02-26 4:02 ` Stephen Rothwell
2020-02-26 4:25 ` Arjun Roy
2020-01-22 7:05 Stephen Rothwell
2019-02-26 7:39 Stephen Rothwell
2019-02-26 8:16 ` Mike Rapoport
2018-12-03 7:00 Stephen Rothwell
2018-12-03 10:37 ` Anshuman Khandual
2018-12-12 17:05 ` Anshuman Khandual
2018-12-12 20:44 ` Stephen Rothwell
2018-11-30 5:30 Stephen Rothwell
2018-11-30 10:27 ` Anshuman Khandual
2018-10-08 8:03 Stephen Rothwell
2018-10-15 7:14 ` Stephen Rothwell
2018-10-16 7:46 ` Ingo Molnar
2018-10-05 6:14 Stephen Rothwell
2018-10-05 12:02 ` Michael Ellerman
2018-10-05 12:46 ` Stephen Rothwell
2018-10-06 12:10 ` Michael Ellerman
2018-10-02 8:53 Stephen Rothwell
2018-03-21 8:17 Stephen Rothwell
2018-03-21 10:02 ` Greg Kroah-Hartman
2018-03-21 10:38 ` Stephen Rothwell
2017-11-06 6:55 Stephen Rothwell
2017-08-01 6:25 Stephen Rothwell
2017-08-01 18:40 ` Kees Cook
2017-08-01 20:44 ` Arnd Bergmann
2017-06-30 6:32 Stephen Rothwell
2017-07-03 8:14 ` Stephen Rothwell
2017-07-03 8:57 ` David Miller
2017-06-26 6:53 Stephen Rothwell
2017-06-26 7:13 ` Michal Hocko
2017-06-26 21:48 ` Stephen Rothwell
2017-04-20 6:18 Stephen Rothwell
2017-04-18 8:09 Stephen Rothwell
2017-04-10 7:51 Stephen Rothwell
2017-03-20 5:37 Stephen Rothwell
2017-03-20 13:07 ` Michal Hocko
2017-03-20 13:22 ` Jaegeuk Kim
2017-03-07 3:07 Stephen Rothwell
2017-03-07 3:55 ` Laura Abbott
2017-03-07 2:38 Stephen Rothwell
2017-01-09 4:09 Stephen Rothwell
2015-12-31 12:22 Stephen Rothwell
2016-01-14 4:15 ` Stephen Rothwell
2016-01-15 21:05 ` Andrew Morton
2016-01-15 23:00 ` Stephen Rothwell
2016-01-15 23:14 ` Andrew Morton
2016-01-16 8:51 ` Takashi Iwai
2016-01-20 14:09 ` Takashi Iwai
2016-01-20 20:38 ` Stephen Rothwell
2016-01-22 0:24 ` Stephen Rothwell
2016-01-22 2:40 ` Stephen Rothwell
2016-01-25 9:29 ` Takashi Iwai
2016-01-25 9:40 ` Michael Ellerman
2016-01-25 10:19 ` Takashi Iwai
2016-01-25 10:41 ` Vinod Koul
2016-01-25 10:42 ` Takashi Iwai
2016-01-25 10:45 ` Sudip Mukherjee
2016-01-25 11:03 ` Takashi Iwai
2016-01-25 11:18 ` Sudip Mukherjee
2016-01-25 11:41 ` Mark Brown
2016-01-25 13:10 ` Takashi Iwai
2016-01-25 13:45 ` Takashi Iwai
2016-01-25 13:55 ` Mark Brown
2016-01-26 12:47 ` Vinod Koul
2016-01-25 14:02 ` Sudip Mukherjee
2016-01-26 12:26 ` Vinod Koul
2016-01-26 20:51 ` Stephen Rothwell
2016-01-26 21:22 ` Takashi Iwai
2016-01-22 3:03 ` Stephen Rothwell
2015-11-01 16:29 Stephen Rothwell
2015-10-06 7:03 Stephen Rothwell
2015-09-08 4:53 Stephen Rothwell
2015-07-14 5:19 Stephen Rothwell
2015-06-25 8:00 Stephen Rothwell
2015-06-20 14:31 Stephen Rothwell
2014-11-06 8:36 Stephen Rothwell
2014-11-06 11:24 ` Thierry Reding
2014-11-06 11:30 ` Thierry Reding
2014-11-09 23:55 ` Stephen Rothwell
2014-08-26 7:18 Stephen Rothwell
2014-08-26 13:54 ` Don Zickus
2014-08-26 21:37 ` Stephen Rothwell
2014-07-16 8:26 Stephen Rothwell
2014-07-16 8:54 ` Michal Hocko
2014-03-06 8:22 Stephen Rothwell
2014-03-06 21:48 ` Andrew Morton
2014-03-07 0:57 ` Stephen Rothwell
2014-03-07 1:38 ` Andrew Morton
2014-03-07 17:05 ` Christoph Lameter
2014-03-07 21:08 ` Andrew Morton
2014-03-07 17:02 ` Christoph Lameter
2014-03-06 7:54 Stephen Rothwell
2013-09-25 1:06 Stephen Rothwell
2013-09-25 1:21 ` Timur Tabi
2013-09-25 20:26 ` Andrew Morton
2013-09-25 21:32 ` Hugh Dickins
2013-09-25 21:43 ` Andrew Morton
2013-10-02 8:53 ` Frederic Weisbecker
2013-07-16 5:18 Stephen Rothwell
2013-06-07 6:28 Stephen Rothwell
2013-06-07 7:26 ` Peng Tao
2013-06-07 7:52 ` Stephen Rothwell
2013-06-07 8:11 ` Peng Tao
2013-06-04 6:55 Stephen Rothwell
2013-05-27 6:39 Stephen Rothwell
2013-04-04 6:44 Stephen Rothwell
2013-03-27 4:43 Stephen Rothwell
2013-03-01 4:31 Stephen Rothwell
2013-02-28 1:15 Stephen Rothwell
2013-02-20 6:28 Stephen Rothwell
2013-02-06 6:59 Stephen Rothwell
2013-02-04 7:17 Stephen Rothwell
2012-12-18 2:29 Stephen Rothwell
2012-12-18 10:10 ` Mel Gorman
2012-12-10 8:58 Stephen Rothwell
2012-12-10 8:54 Stephen Rothwell
2012-12-10 10:43 ` Ingo Molnar
2012-11-09 3:39 Stephen Rothwell
2012-10-23 3:42 Stephen Rothwell
2012-10-23 4:21 ` Joe Perches
2012-10-23 19:44 ` Andrew Morton
2012-10-23 19:51 ` Joe Perches
2012-10-23 20:02 ` Andrew Morton
2012-10-24 19:19 ` Joe Perches
2012-10-24 19:38 ` Andrew Morton
2012-10-23 3:35 Stephen Rothwell
2012-09-28 6:30 Stephen Rothwell
2012-09-28 15:19 ` Mikulas Patocka
2012-10-01 19:56 ` Andrew Morton
2012-09-27 7:43 Stephen Rothwell
2012-09-26 6:01 Stephen Rothwell
2012-09-26 20:15 ` Kees Cook
2012-09-26 20:33 ` Andrew Morton
2012-09-26 20:42 ` Kees Cook
2012-09-26 20:47 ` Andrew Morton
2012-09-27 7:26 ` Stephen Rothwell
2012-09-24 14:02 Stephen Rothwell
[not found] ` <20120925000217.947b8cd8dca6979bfedee2ca-3FnU+UHB4dNDw9hX6IcOSA@public.gmane.org>
2012-09-24 19:36 ` Roland Dreier
2012-09-24 19:46 ` Andrew Morton
2012-09-25 8:27 ` Jack Morgenstein
2012-09-21 6:26 Stephen Rothwell
2012-09-21 9:02 ` Denys Vlasenko
2012-09-21 6:08 Stephen Rothwell
2012-09-13 7:44 Stephen Rothwell
2012-09-13 7:49 ` Sachin Kamat
2012-09-13 8:31 ` Stephen Rothwell
2012-09-13 7:56 ` Andrew Morton
2012-09-13 8:31 ` Stephen Rothwell
2012-09-13 23:07 ` Stephen Rothwell
2012-09-13 8:46 ` Zhang Rui
2012-09-13 12:30 ` Stephen Rothwell
2012-08-06 3:43 Stephen Rothwell
2012-08-06 5:01 ` Michel Lespinasse
2012-08-06 5:04 ` Michel Lespinasse
2012-08-06 9:46 ` Steven Whitehouse
2012-07-31 4:40 Stephen Rothwell
2012-07-31 5:45 ` Michel Lespinasse
2012-07-31 6:31 ` Stephen Rothwell
2012-07-31 10:34 ` Michel Lespinasse
2012-06-25 6:41 Stephen Rothwell
2012-06-25 16:40 ` Kees Cook
2012-06-25 22:59 ` Stephen Rothwell
2012-04-27 5:38 Stephen Rothwell
2012-02-28 5:58 Stephen Rothwell
2012-02-28 12:00 ` Mark Brown
2012-02-28 22:08 ` Andrew Morton
2012-02-29 10:13 ` Mark Brown
2012-02-27 6:21 Stephen Rothwell
2012-02-27 6:31 ` H. Peter Anvin
2012-02-22 5:08 Stephen Rothwell
2012-02-17 5:21 Stephen Rothwell
2012-01-05 7:29 Stephen Rothwell
2012-01-05 23:52 ` Andrew Morton
2012-01-06 5:05 ` Greg KH
2012-01-06 7:22 ` Mike Galbraith
2012-01-05 7:29 Stephen Rothwell
2012-01-05 23:19 ` Greg KH
2012-01-05 23:45 ` Andrew Morton
2012-01-06 5:04 ` Greg KH
2011-12-16 5:39 Stephen Rothwell
2011-12-16 22:00 ` Andrew Morton
2011-12-17 17:49 ` Alexey Dobriyan
2011-12-18 22:43 ` Stephen Rothwell
2011-12-09 5:08 Stephen Rothwell
2011-12-09 5:47 ` Andrew Morton
2011-12-12 4:26 ` Stephen Rothwell
2011-12-12 4:41 ` Stephen Rothwell
2011-11-01 8:57 Stephen Rothwell
2011-10-05 8:07 Stephen Rothwell
2011-09-30 5:32 Stephen Rothwell
2011-09-30 6:02 ` Andrew Morton
2011-10-04 7:44 ` Stephen Rothwell
2011-09-28 9:22 Stephen Rothwell
2011-09-28 15:51 ` Joe Perches
2011-09-28 22:03 ` Andrew Morton
2011-09-16 6:21 Stephen Rothwell
2011-07-01 5:19 Stephen Rothwell
2011-07-01 5:32 ` Cong Wang
2011-07-01 7:08 ` Stephen Rothwell
2011-07-01 10:10 ` Cong Wang
2011-07-01 10:37 ` Stephen Rothwell
2011-07-04 1:30 ` Cong Wang
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=20130211181332.ecf1cad33b04b3872b685620@canb.auug.org.au \
--to=sfr@canb.auug.org.au \
--cc=akpm@linux-foundation.org \
--cc=amirv@mellanox.com \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=sasha.levin@oracle.com \
--cc=yanb@mellanox.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;
as well as URLs for NNTP newsgroup(s).