Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Tejun Heo <tj@kernel.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [RFC PATCH] rhashtable: Bounce deferred worker kick through irq_work when insecure_elasticity is set
Date: Tue, 28 Apr 2026 07:12:19 +0800	[thread overview]
Message-ID: <202604280709.2xKuz7sZ-lkp@intel.com> (raw)
In-Reply-To: <67fedbf2-914b-44f7-9422-1fe97d833705@kernel.org>

Hi Tejun,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on v7.0]
[also build test ERROR on linus/master]
[cannot apply to tj-sched-ext/for-7.1-fixes next-20260427]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Tejun-Heo/rhashtable-Bounce-deferred-worker-kick-through-irq_work-when-insecure_elasticity-is-set/20260426-103416
base:   v7.0
patch link:    https://lore.kernel.org/r/67fedbf2-914b-44f7-9422-1fe97d833705%40kernel.org
patch subject: [RFC PATCH] rhashtable: Bounce deferred worker kick through irq_work when insecure_elasticity is set
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20260428/202604280709.2xKuz7sZ-lkp@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260428/202604280709.2xKuz7sZ-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202604280709.2xKuz7sZ-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from lib/rhashtable.c:25:
>> include/linux/rhashtable.h:768:12: error: no member named 'insecure_elasticity' in 'struct rhashtable_params'
     768 |         if (ht->p.insecure_elasticity)
         |             ~~~~~ ^
>> lib/rhashtable.c:1095:12: error: no member named 'insecure_elasticity' in 'struct rhashtable_params'
    1095 |         if (ht->p.insecure_elasticity)
         |             ~~~~~ ^
   lib/rhashtable.c:1162:12: error: no member named 'insecure_elasticity' in 'struct rhashtable_params'
    1162 |         if (ht->p.insecure_elasticity)
         |             ~~~~~ ^
   3 errors generated.
--
   In file included from lib/test_rhashtable.c:20:
>> include/linux/rhashtable.h:768:12: error: no member named 'insecure_elasticity' in 'struct rhashtable_params'
     768 |         if (ht->p.insecure_elasticity)
         |             ~~~~~ ^
   1 error generated.
--
   In file included from drivers/net/ethernet/intel/igc/igc_main.c:12:
   In file included from include/linux/bpf_trace.h:5:
   In file included from include/trace/events/xdp.h:288:
   In file included from include/net/xdp_priv.h:5:
>> include/linux/rhashtable.h:768:12: error: no member named 'insecure_elasticity' in 'struct rhashtable_params'
     768 |         if (ht->p.insecure_elasticity)
         |             ~~~~~ ^
   drivers/net/ethernet/intel/igc/igc_main.c:1264:14: warning: division by zero is undefined [-Wdivision-by-zero]
    1264 |         cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_VLAN,
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1265 |                                  IGC_ADVTXD_DCMD_VLE);
         |                                  ~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1268:14: warning: division by zero is undefined [-Wdivision-by-zero]
    1268 |         cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSO,
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1269 |                                  (IGC_ADVTXD_DCMD_TSE));
         |                                  ~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1274:14: warning: division by zero is undefined [-Wdivision-by-zero]
    1274 |         cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP,
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1275 |                                  (IGC_ADVTXD_MAC_TSTAMP));
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1277:14: warning: division by zero is undefined [-Wdivision-by-zero]
    1277 |         cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP_1,
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1278 |                                  (IGC_ADVTXD_TSTAMP_REG_1));
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1280:14: warning: division by zero is undefined [-Wdivision-by-zero]
    1280 |         cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP_2,
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1281 |                                  (IGC_ADVTXD_TSTAMP_REG_2));
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1283:14: warning: division by zero is undefined [-Wdivision-by-zero]
    1283 |         cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP_3,
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1284 |                                  (IGC_ADVTXD_TSTAMP_REG_3));
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1287:14: warning: division by zero is undefined [-Wdivision-by-zero]
    1287 |         cmd_type ^= IGC_SET_FLAG(skb->no_fcs, 1, IGC_ADVTXD_DCMD_IFCS);
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1299:19: warning: division by zero is undefined [-Wdivision-by-zero]
    1299 |         olinfo_status |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_CSUM,
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1300 |                                       (IGC_TXD_POPTS_TXSM << 8));
         |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1303:19: warning: division by zero is undefined [-Wdivision-by-zero]
    1303 |         olinfo_status |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_IPV4,
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1304 |                                       (IGC_TXD_POPTS_IXSM << 8));
         |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:2971:25: warning: division by zero is undefined [-Wdivision-by-zero]
    2971 |                 meta_req->cmd_type |= IGC_SET_FLAG(tx_flags,
         |                                       ^~~~~~~~~~~~~~~~~~~~~~
    2972 |                                                    IGC_TX_FLAGS_TSTAMP,
         |                                                    ~~~~~~~~~~~~~~~~~~~~
    2973 |                                                    (IGC_ADVTXD_MAC_TSTAMP));
         |                                                    ~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:2974:25: warning: division by zero is undefined [-Wdivision-by-zero]
    2974 |                 meta_req->cmd_type |= IGC_SET_FLAG(tx_flags,
         |                                       ^~~~~~~~~~~~~~~~~~~~~~
    2975 |                                                    IGC_TX_FLAGS_TSTAMP_1,
         |                                                    ~~~~~~~~~~~~~~~~~~~~~~
    2976 |                                                    (IGC_ADVTXD_TSTAMP_REG_1));
         |                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:2977:25: warning: division by zero is undefined [-Wdivision-by-zero]
    2977 |                 meta_req->cmd_type |= IGC_SET_FLAG(tx_flags,
         |                                       ^~~~~~~~~~~~~~~~~~~~~~
    2978 |                                                    IGC_TX_FLAGS_TSTAMP_2,
         |                                                    ~~~~~~~~~~~~~~~~~~~~~~
    2979 |                                                    (IGC_ADVTXD_TSTAMP_REG_2));
         |                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
--
   In file included from igc_main.c:12:
   In file included from include/linux/bpf_trace.h:5:
   In file included from include/trace/events/xdp.h:288:
   In file included from include/net/xdp_priv.h:5:
>> include/linux/rhashtable.h:768:12: error: no member named 'insecure_elasticity' in 'struct rhashtable_params'
     768 |         if (ht->p.insecure_elasticity)
         |             ~~~~~ ^
   igc_main.c:1264:14: warning: division by zero is undefined [-Wdivision-by-zero]
    1264 |         cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_VLAN,
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1265 |                                  IGC_ADVTXD_DCMD_VLE);
         |                                  ~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1268:14: warning: division by zero is undefined [-Wdivision-by-zero]
    1268 |         cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSO,
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1269 |                                  (IGC_ADVTXD_DCMD_TSE));
         |                                  ~~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1274:14: warning: division by zero is undefined [-Wdivision-by-zero]
    1274 |         cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP,
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1275 |                                  (IGC_ADVTXD_MAC_TSTAMP));
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1277:14: warning: division by zero is undefined [-Wdivision-by-zero]
    1277 |         cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP_1,
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1278 |                                  (IGC_ADVTXD_TSTAMP_REG_1));
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1280:14: warning: division by zero is undefined [-Wdivision-by-zero]
    1280 |         cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP_2,
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1281 |                                  (IGC_ADVTXD_TSTAMP_REG_2));
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1283:14: warning: division by zero is undefined [-Wdivision-by-zero]
    1283 |         cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP_3,
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1284 |                                  (IGC_ADVTXD_TSTAMP_REG_3));
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1287:14: warning: division by zero is undefined [-Wdivision-by-zero]
    1287 |         cmd_type ^= IGC_SET_FLAG(skb->no_fcs, 1, IGC_ADVTXD_DCMD_IFCS);
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1299:19: warning: division by zero is undefined [-Wdivision-by-zero]
    1299 |         olinfo_status |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_CSUM,
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1300 |                                       (IGC_TXD_POPTS_TXSM << 8));
         |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1303:19: warning: division by zero is undefined [-Wdivision-by-zero]
    1303 |         olinfo_status |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_IPV4,
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1304 |                                       (IGC_TXD_POPTS_IXSM << 8));
         |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:2971:25: warning: division by zero is undefined [-Wdivision-by-zero]
    2971 |                 meta_req->cmd_type |= IGC_SET_FLAG(tx_flags,
         |                                       ^~~~~~~~~~~~~~~~~~~~~~
    2972 |                                                    IGC_TX_FLAGS_TSTAMP,
         |                                                    ~~~~~~~~~~~~~~~~~~~~
    2973 |                                                    (IGC_ADVTXD_MAC_TSTAMP));
         |                                                    ~~~~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:2974:25: warning: division by zero is undefined [-Wdivision-by-zero]
    2974 |                 meta_req->cmd_type |= IGC_SET_FLAG(tx_flags,
         |                                       ^~~~~~~~~~~~~~~~~~~~~~
    2975 |                                                    IGC_TX_FLAGS_TSTAMP_1,
         |                                                    ~~~~~~~~~~~~~~~~~~~~~~
    2976 |                                                    (IGC_ADVTXD_TSTAMP_REG_1));
         |                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
    1254 |          ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
         |                                     ^ ~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:2977:25: warning: division by zero is undefined [-Wdivision-by-zero]
    2977 |                 meta_req->cmd_type |= IGC_SET_FLAG(tx_flags,
         |                                       ^~~~~~~~~~~~~~~~~~~~~~
    2978 |                                                    IGC_TX_FLAGS_TSTAMP_2,
         |                                                    ~~~~~~~~~~~~~~~~~~~~~~
    2979 |                                                    (IGC_ADVTXD_TSTAMP_REG_2));
         |                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~
   igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'


vim +768 include/linux/rhashtable.h

   757	
   758	/*
   759	 * Kick the deferred rehash worker. With insecure_elasticity the caller may
   760	 * hold a raw spinlock. schedule_work() under a raw spinlock records
   761	 * caller_lock -> pool->lock -> pi_lock -> rq->__lock. If any of these
   762	 * locks is acquired in the reverse direction elsewhere, the cycle closes.
   763	 * Bounce through irq_work so schedule_work() runs from hard IRQ context
   764	 * with the caller's lock no longer held.
   765	 */
   766	static void rhashtable_kick_deferred_worker(struct rhashtable *ht)
   767	{
 > 768		if (ht->p.insecure_elasticity)
   769			irq_work_queue(&ht->run_irq_work);
   770		else
   771			schedule_work(&ht->run_work);
   772	}
   773	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

       reply	other threads:[~2026-04-27 23:12 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <67fedbf2-914b-44f7-9422-1fe97d833705@kernel.org>
2026-04-27 23:12 ` kernel test robot [this message]
2026-05-07  8:56 ` [RFC PATCH] rhashtable: Bounce deferred worker kick through irq_work when insecure_elasticity is set kernel test robot

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=202604280709.2xKuz7sZ-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=tj@kernel.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