From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [linux-next:master 7952/12404] arch/arm64/kvm/handle_exit.c:318:4: error: implicit declaration of function 'bug_get_file_line'
Date: Wed, 14 Apr 2021 12:39:56 +0800 [thread overview]
Message-ID: <202104141253.bL6hQTMm-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 9566 bytes --]
Hi Andrew,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: dcf1b51d6b2ac5da234ae6883ed0e9422c339588
commit: aec0fae62e47050019474936248a311a0ab08705 [7952/12404] KVM: arm64: Log source when panicking from nVHE hyp
config: arm64-randconfig-r004-20210413 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=aec0fae62e47050019474936248a311a0ab08705
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout aec0fae62e47050019474936248a311a0ab08705
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
arch/arm64/kvm/handle_exit.c:177:21: warning: initialized field overwritten [-Woverride-init]
177 | [ESR_ELx_EC_WFx] = kvm_handle_wfx,
| ^~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:177:21: note: (near initialization for 'arm_exit_handlers[1]')
arch/arm64/kvm/handle_exit.c:178:25: warning: initialized field overwritten [-Woverride-init]
178 | [ESR_ELx_EC_CP15_32] = kvm_handle_cp15_32,
| ^~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:178:25: note: (near initialization for 'arm_exit_handlers[3]')
arch/arm64/kvm/handle_exit.c:179:25: warning: initialized field overwritten [-Woverride-init]
179 | [ESR_ELx_EC_CP15_64] = kvm_handle_cp15_64,
| ^~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:179:25: note: (near initialization for 'arm_exit_handlers[4]')
arch/arm64/kvm/handle_exit.c:180:25: warning: initialized field overwritten [-Woverride-init]
180 | [ESR_ELx_EC_CP14_MR] = kvm_handle_cp14_32,
| ^~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:180:25: note: (near initialization for 'arm_exit_handlers[5]')
arch/arm64/kvm/handle_exit.c:181:25: warning: initialized field overwritten [-Woverride-init]
181 | [ESR_ELx_EC_CP14_LS] = kvm_handle_cp14_load_store,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:181:25: note: (near initialization for 'arm_exit_handlers[6]')
arch/arm64/kvm/handle_exit.c:182:25: warning: initialized field overwritten [-Woverride-init]
182 | [ESR_ELx_EC_CP14_64] = kvm_handle_cp14_64,
| ^~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:182:25: note: (near initialization for 'arm_exit_handlers[12]')
arch/arm64/kvm/handle_exit.c:183:23: warning: initialized field overwritten [-Woverride-init]
183 | [ESR_ELx_EC_HVC32] = handle_hvc,
| ^~~~~~~~~~
arch/arm64/kvm/handle_exit.c:183:23: note: (near initialization for 'arm_exit_handlers[18]')
arch/arm64/kvm/handle_exit.c:184:23: warning: initialized field overwritten [-Woverride-init]
184 | [ESR_ELx_EC_SMC32] = handle_smc,
| ^~~~~~~~~~
arch/arm64/kvm/handle_exit.c:184:23: note: (near initialization for 'arm_exit_handlers[19]')
arch/arm64/kvm/handle_exit.c:185:23: warning: initialized field overwritten [-Woverride-init]
185 | [ESR_ELx_EC_HVC64] = handle_hvc,
| ^~~~~~~~~~
arch/arm64/kvm/handle_exit.c:185:23: note: (near initialization for 'arm_exit_handlers[22]')
arch/arm64/kvm/handle_exit.c:186:23: warning: initialized field overwritten [-Woverride-init]
186 | [ESR_ELx_EC_SMC64] = handle_smc,
| ^~~~~~~~~~
arch/arm64/kvm/handle_exit.c:186:23: note: (near initialization for 'arm_exit_handlers[23]')
arch/arm64/kvm/handle_exit.c:187:23: warning: initialized field overwritten [-Woverride-init]
187 | [ESR_ELx_EC_SYS64] = kvm_handle_sys_reg,
| ^~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:187:23: note: (near initialization for 'arm_exit_handlers[24]')
arch/arm64/kvm/handle_exit.c:188:21: warning: initialized field overwritten [-Woverride-init]
188 | [ESR_ELx_EC_SVE] = handle_sve,
| ^~~~~~~~~~
arch/arm64/kvm/handle_exit.c:188:21: note: (near initialization for 'arm_exit_handlers[25]')
arch/arm64/kvm/handle_exit.c:189:26: warning: initialized field overwritten [-Woverride-init]
189 | [ESR_ELx_EC_IABT_LOW] = kvm_handle_guest_abort,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:189:26: note: (near initialization for 'arm_exit_handlers[32]')
arch/arm64/kvm/handle_exit.c:190:26: warning: initialized field overwritten [-Woverride-init]
190 | [ESR_ELx_EC_DABT_LOW] = kvm_handle_guest_abort,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:190:26: note: (near initialization for 'arm_exit_handlers[36]')
arch/arm64/kvm/handle_exit.c:191:28: warning: initialized field overwritten [-Woverride-init]
191 | [ESR_ELx_EC_SOFTSTP_LOW]= kvm_handle_guest_debug,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:191:28: note: (near initialization for 'arm_exit_handlers[50]')
arch/arm64/kvm/handle_exit.c:192:28: warning: initialized field overwritten [-Woverride-init]
192 | [ESR_ELx_EC_WATCHPT_LOW]= kvm_handle_guest_debug,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:192:28: note: (near initialization for 'arm_exit_handlers[52]')
arch/arm64/kvm/handle_exit.c:193:28: warning: initialized field overwritten [-Woverride-init]
193 | [ESR_ELx_EC_BREAKPT_LOW]= kvm_handle_guest_debug,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:193:28: note: (near initialization for 'arm_exit_handlers[48]')
arch/arm64/kvm/handle_exit.c:194:24: warning: initialized field overwritten [-Woverride-init]
194 | [ESR_ELx_EC_BKPT32] = kvm_handle_guest_debug,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:194:24: note: (near initialization for 'arm_exit_handlers[56]')
arch/arm64/kvm/handle_exit.c:195:23: warning: initialized field overwritten [-Woverride-init]
195 | [ESR_ELx_EC_BRK64] = kvm_handle_guest_debug,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:195:23: note: (near initialization for 'arm_exit_handlers[60]')
arch/arm64/kvm/handle_exit.c:196:26: warning: initialized field overwritten [-Woverride-init]
196 | [ESR_ELx_EC_FP_ASIMD] = handle_no_fpsimd,
| ^~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:196:26: note: (near initialization for 'arm_exit_handlers[7]')
arch/arm64/kvm/handle_exit.c:197:21: warning: initialized field overwritten [-Woverride-init]
197 | [ESR_ELx_EC_PAC] = kvm_handle_ptrauth,
| ^~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:197:21: note: (near initialization for 'arm_exit_handlers[9]')
arch/arm64/kvm/handle_exit.c:295:24: warning: no previous prototype for 'nvhe_hyp_panic_handler' [-Wmissing-prototypes]
295 | void __noreturn __cold nvhe_hyp_panic_handler(u64 esr, u64 spsr, u64 elr,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c: In function 'nvhe_hyp_panic_handler':
>> arch/arm64/kvm/handle_exit.c:318:4: error: implicit declaration of function 'bug_get_file_line' [-Werror=implicit-function-declaration]
318 | bug_get_file_line(bug, &file, &line);
| ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/bug_get_file_line +318 arch/arm64/kvm/handle_exit.c
294
295 void __noreturn __cold nvhe_hyp_panic_handler(u64 esr, u64 spsr, u64 elr,
296 u64 par, uintptr_t vcpu,
297 u64 far, u64 hpfar) {
298 u64 elr_in_kimg = __phys_to_kimg(__hyp_pa(elr));
299 u64 hyp_offset = elr_in_kimg - kaslr_offset() - elr;
300 u64 mode = spsr & PSR_MODE_MASK;
301
302 /*
303 * The nVHE hyp symbols are not included by kallsyms to avoid issues
304 * with aliasing. That means that the symbols cannot be printed with the
305 * "%pS" format specifier, so fall back to the vmlinux address if
306 * there's no better option.
307 */
308 if (mode != PSR_MODE_EL2t && mode != PSR_MODE_EL2h) {
309 kvm_err("Invalid host exception to nVHE hyp!\n");
310 } else if (ESR_ELx_EC(esr) == ESR_ELx_EC_BRK64 &&
311 (esr & ESR_ELx_BRK64_ISS_COMMENT_MASK) == BUG_BRK_IMM) {
312 struct bug_entry *bug = find_bug(elr_in_kimg);
313 const char *file = NULL;
314 unsigned int line = 0;
315
316 /* All hyp bugs, including warnings, are treated as fatal. */
317 if (bug)
> 318 bug_get_file_line(bug, &file, &line);
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 37760 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Andrew Scull <ascull@google.com>
Cc: kbuild-all@lists.01.org,
Linux Memory Management List <linux-mm@kvack.org>,
Marc Zyngier <maz@kernel.org>
Subject: [linux-next:master 7952/12404] arch/arm64/kvm/handle_exit.c:318:4: error: implicit declaration of function 'bug_get_file_line'
Date: Wed, 14 Apr 2021 12:39:56 +0800 [thread overview]
Message-ID: <202104141253.bL6hQTMm-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 9415 bytes --]
Hi Andrew,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: dcf1b51d6b2ac5da234ae6883ed0e9422c339588
commit: aec0fae62e47050019474936248a311a0ab08705 [7952/12404] KVM: arm64: Log source when panicking from nVHE hyp
config: arm64-randconfig-r004-20210413 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=aec0fae62e47050019474936248a311a0ab08705
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout aec0fae62e47050019474936248a311a0ab08705
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
arch/arm64/kvm/handle_exit.c:177:21: warning: initialized field overwritten [-Woverride-init]
177 | [ESR_ELx_EC_WFx] = kvm_handle_wfx,
| ^~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:177:21: note: (near initialization for 'arm_exit_handlers[1]')
arch/arm64/kvm/handle_exit.c:178:25: warning: initialized field overwritten [-Woverride-init]
178 | [ESR_ELx_EC_CP15_32] = kvm_handle_cp15_32,
| ^~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:178:25: note: (near initialization for 'arm_exit_handlers[3]')
arch/arm64/kvm/handle_exit.c:179:25: warning: initialized field overwritten [-Woverride-init]
179 | [ESR_ELx_EC_CP15_64] = kvm_handle_cp15_64,
| ^~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:179:25: note: (near initialization for 'arm_exit_handlers[4]')
arch/arm64/kvm/handle_exit.c:180:25: warning: initialized field overwritten [-Woverride-init]
180 | [ESR_ELx_EC_CP14_MR] = kvm_handle_cp14_32,
| ^~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:180:25: note: (near initialization for 'arm_exit_handlers[5]')
arch/arm64/kvm/handle_exit.c:181:25: warning: initialized field overwritten [-Woverride-init]
181 | [ESR_ELx_EC_CP14_LS] = kvm_handle_cp14_load_store,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:181:25: note: (near initialization for 'arm_exit_handlers[6]')
arch/arm64/kvm/handle_exit.c:182:25: warning: initialized field overwritten [-Woverride-init]
182 | [ESR_ELx_EC_CP14_64] = kvm_handle_cp14_64,
| ^~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:182:25: note: (near initialization for 'arm_exit_handlers[12]')
arch/arm64/kvm/handle_exit.c:183:23: warning: initialized field overwritten [-Woverride-init]
183 | [ESR_ELx_EC_HVC32] = handle_hvc,
| ^~~~~~~~~~
arch/arm64/kvm/handle_exit.c:183:23: note: (near initialization for 'arm_exit_handlers[18]')
arch/arm64/kvm/handle_exit.c:184:23: warning: initialized field overwritten [-Woverride-init]
184 | [ESR_ELx_EC_SMC32] = handle_smc,
| ^~~~~~~~~~
arch/arm64/kvm/handle_exit.c:184:23: note: (near initialization for 'arm_exit_handlers[19]')
arch/arm64/kvm/handle_exit.c:185:23: warning: initialized field overwritten [-Woverride-init]
185 | [ESR_ELx_EC_HVC64] = handle_hvc,
| ^~~~~~~~~~
arch/arm64/kvm/handle_exit.c:185:23: note: (near initialization for 'arm_exit_handlers[22]')
arch/arm64/kvm/handle_exit.c:186:23: warning: initialized field overwritten [-Woverride-init]
186 | [ESR_ELx_EC_SMC64] = handle_smc,
| ^~~~~~~~~~
arch/arm64/kvm/handle_exit.c:186:23: note: (near initialization for 'arm_exit_handlers[23]')
arch/arm64/kvm/handle_exit.c:187:23: warning: initialized field overwritten [-Woverride-init]
187 | [ESR_ELx_EC_SYS64] = kvm_handle_sys_reg,
| ^~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:187:23: note: (near initialization for 'arm_exit_handlers[24]')
arch/arm64/kvm/handle_exit.c:188:21: warning: initialized field overwritten [-Woverride-init]
188 | [ESR_ELx_EC_SVE] = handle_sve,
| ^~~~~~~~~~
arch/arm64/kvm/handle_exit.c:188:21: note: (near initialization for 'arm_exit_handlers[25]')
arch/arm64/kvm/handle_exit.c:189:26: warning: initialized field overwritten [-Woverride-init]
189 | [ESR_ELx_EC_IABT_LOW] = kvm_handle_guest_abort,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:189:26: note: (near initialization for 'arm_exit_handlers[32]')
arch/arm64/kvm/handle_exit.c:190:26: warning: initialized field overwritten [-Woverride-init]
190 | [ESR_ELx_EC_DABT_LOW] = kvm_handle_guest_abort,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:190:26: note: (near initialization for 'arm_exit_handlers[36]')
arch/arm64/kvm/handle_exit.c:191:28: warning: initialized field overwritten [-Woverride-init]
191 | [ESR_ELx_EC_SOFTSTP_LOW]= kvm_handle_guest_debug,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:191:28: note: (near initialization for 'arm_exit_handlers[50]')
arch/arm64/kvm/handle_exit.c:192:28: warning: initialized field overwritten [-Woverride-init]
192 | [ESR_ELx_EC_WATCHPT_LOW]= kvm_handle_guest_debug,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:192:28: note: (near initialization for 'arm_exit_handlers[52]')
arch/arm64/kvm/handle_exit.c:193:28: warning: initialized field overwritten [-Woverride-init]
193 | [ESR_ELx_EC_BREAKPT_LOW]= kvm_handle_guest_debug,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:193:28: note: (near initialization for 'arm_exit_handlers[48]')
arch/arm64/kvm/handle_exit.c:194:24: warning: initialized field overwritten [-Woverride-init]
194 | [ESR_ELx_EC_BKPT32] = kvm_handle_guest_debug,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:194:24: note: (near initialization for 'arm_exit_handlers[56]')
arch/arm64/kvm/handle_exit.c:195:23: warning: initialized field overwritten [-Woverride-init]
195 | [ESR_ELx_EC_BRK64] = kvm_handle_guest_debug,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:195:23: note: (near initialization for 'arm_exit_handlers[60]')
arch/arm64/kvm/handle_exit.c:196:26: warning: initialized field overwritten [-Woverride-init]
196 | [ESR_ELx_EC_FP_ASIMD] = handle_no_fpsimd,
| ^~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:196:26: note: (near initialization for 'arm_exit_handlers[7]')
arch/arm64/kvm/handle_exit.c:197:21: warning: initialized field overwritten [-Woverride-init]
197 | [ESR_ELx_EC_PAC] = kvm_handle_ptrauth,
| ^~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c:197:21: note: (near initialization for 'arm_exit_handlers[9]')
arch/arm64/kvm/handle_exit.c:295:24: warning: no previous prototype for 'nvhe_hyp_panic_handler' [-Wmissing-prototypes]
295 | void __noreturn __cold nvhe_hyp_panic_handler(u64 esr, u64 spsr, u64 elr,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/handle_exit.c: In function 'nvhe_hyp_panic_handler':
>> arch/arm64/kvm/handle_exit.c:318:4: error: implicit declaration of function 'bug_get_file_line' [-Werror=implicit-function-declaration]
318 | bug_get_file_line(bug, &file, &line);
| ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/bug_get_file_line +318 arch/arm64/kvm/handle_exit.c
294
295 void __noreturn __cold nvhe_hyp_panic_handler(u64 esr, u64 spsr, u64 elr,
296 u64 par, uintptr_t vcpu,
297 u64 far, u64 hpfar) {
298 u64 elr_in_kimg = __phys_to_kimg(__hyp_pa(elr));
299 u64 hyp_offset = elr_in_kimg - kaslr_offset() - elr;
300 u64 mode = spsr & PSR_MODE_MASK;
301
302 /*
303 * The nVHE hyp symbols are not included by kallsyms to avoid issues
304 * with aliasing. That means that the symbols cannot be printed with the
305 * "%pS" format specifier, so fall back to the vmlinux address if
306 * there's no better option.
307 */
308 if (mode != PSR_MODE_EL2t && mode != PSR_MODE_EL2h) {
309 kvm_err("Invalid host exception to nVHE hyp!\n");
310 } else if (ESR_ELx_EC(esr) == ESR_ELx_EC_BRK64 &&
311 (esr & ESR_ELx_BRK64_ISS_COMMENT_MASK) == BUG_BRK_IMM) {
312 struct bug_entry *bug = find_bug(elr_in_kimg);
313 const char *file = NULL;
314 unsigned int line = 0;
315
316 /* All hyp bugs, including warnings, are treated as fatal. */
317 if (bug)
> 318 bug_get_file_line(bug, &file, &line);
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 37760 bytes --]
next reply other threads:[~2021-04-14 4:39 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-14 4:39 kernel test robot [this message]
2021-04-14 4:39 ` [linux-next:master 7952/12404] arch/arm64/kvm/handle_exit.c:318:4: error: implicit declaration of function 'bug_get_file_line' kernel test robot
2021-04-14 16:47 ` Marc Zyngier
2021-04-14 16:47 ` Marc Zyngier
2021-04-14 16:54 ` Marc Zyngier
2021-04-14 16:54 ` Marc Zyngier
2021-04-15 8:19 ` Andrew Scull
2021-04-15 8:19 ` Andrew Scull
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=202104141253.bL6hQTMm-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.