From: Jiri Slaby <jirislaby@gmail.com>
To: ath9k-devel@lists.ath9k.org
Subject: [ath9k-devel] debugfs related oops in mac80211/ath9k
Date: Tue, 23 Jun 2009 18:29:52 +0200 [thread overview]
Message-ID: <4A410300.6040804@gmail.com> (raw)
Hi,
I got the oops attached below while running 2 threads:
cat /sys/kernel/debug/ieee80211/phy*/*
while :; do echo '0000:02:00.0' > unbind ; echo '0000:02:00.0' > bind; done
note that the oops is from suse kernel-of-the-day kernel. Happens with
vanilla 2.6.30 too.
sc->ah is NULL in ath9k_hw_gettsf64. Not good. file->private_data points
to freed memory (which is allocated by the same buddy a bit later in
this case). I got also another oopses in mac80211 layer, like in
frequency_read function. It has the same root cause.
The reading process still holds a reference to the node, so it's not
deleted. fops->read is called from vfs_read, but memory pointed by
file->private_data might be freed already.
We need some kind of barrier in debugfs_remove, so that all processes
with that file opened finishes first. Any ideas?
BUG: unable to handle kernel NULL pointer dereference at 0000000000000068
IP: [<ffffffffa08704a0>] ath9k_ioread32+0x22/0x94 [ath9k]
PGD 8df2067 PUD 7dd28067 PMD 0
Oops: 0000 [#3] SMP
last sysfs file: /sys/bus/pci/drivers/ath9k/bind
CPU 1
Modules linked in: ath9k snd_seq_dummy btusb cryptd aes_x86_64
aes_generic cpufreq_stats tun radeon drm nfs lockd fscache(N) nfs_acl
auth_rpcgss sunrpc af_packet bridge stp llc(N) bnep sco rfcomm l2cap
bluetooth snd_pcm_oss snd_mixer_oss snd_seq ipv6 snd_seq_device
cpufreq_conservative cpufreq_userspace cpufreq_powersave acpi_cpufreq
fuse loop snd_hda_codec_si3054(N) snd_hda_codec_realtek(N) arc4 ecb
snd_hda_intel snd_hda_codec(N) snd_hwdep snd_pcm mac80211 snd_timer
rfkill iTCO_wdt stkwebcam snd iTCO_vendor_support processor video
thermal videodev soundcore tpm_infineon i2c_i801 cfg80211 thermal_sys
v4l1_compat sr_mod asus_laptop kvm_intel tpm r8169 snd_page_alloc
intel_agp pcspkr i2c_core button battery ac output serio_raw cdrom
v4l2_compat_ioctl32(N) hwmon joydev tpm_bios led_class kvm sg uinput
usbhid hid uhci_hcd ata_piix ehci_hcd dm_mod [last unloaded: ath9k]
Supported: Yes
Pid: 25328, comm: cat Tainted: G D N
2.6.30-master_20090610141226_1b1ebc88-default #1 F2JE
RIP: 0010:[<ffffffffa08704a0>] [<ffffffffa08704a0>]
ath9k_ioread32+0x22/0x94 [ath9k]
RSP: 0018:ffff880074687d88 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff880074687f50
RDX: ffffffffa0884016 RSI: 0000000000008050 RDI: 0000000000000000
RBP: ffff880074687dc8 R08: ffffffffa0261769 R09: 00007f5be6f09665
R10: 0000000000001fff R11: 0000000000000246 R12: 0000000000008050
R13: 0000000000001000 R14: 000000000060d000 R15: 0000000000000000
FS: 00007f5be6ed76f0(0000) GS:ffff88000104c000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000068 CR3: 000000001339c000 CR4: 00000000000026e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process cat (pid: 25328, threadinfo ffff880074686000, task ffff88005a0fa680)
Stack:
ffff880076c96cb8 ffffffff809221f8 ffff880074687dd8 0000000012d27d63
ffff880074687dd8 0000000000000000 ffff88003fb71100 0000000000001000
ffff880074687df8 ffffffffa0870539 ffffffff802449b7 0000000012d27d63
Call Trace:
[<ffffffffa0870539>] ath9k_hw_gettsf64+0x27/0x5b [ath9k]
[<ffffffffa0884054>] ath9k_get_tsf+0x3e/0x6b [ath9k]
[<ffffffffa02617ab>] tsf_read+0x42/0x9b [mac80211]
[<ffffffff80303f18>] vfs_read+0xb5/0x126
[<ffffffff80304071>] sys_read+0x54/0x8c
[<ffffffff8020c142>] system_call_fastpath+0x16/0x1b
[<00007f5be6a617c0>] 0x7f5be6a617c0
Code: 74 05 e8 51 4b 9e df c9 c3 55 48 89 e5 41 55 41 54 41 89 f4 53 48
89 fb 48 83 ec 28 65 48 8b 04 25 28 00 00 00 48 89 45 d8 31 c0 <83> 7f
68 01 48 8b 3f 75 3b 48 81 c7 58 01 00 00 e8 7a c3 d7 df
RIP [<ffffffffa08704a0>] ath9k_ioread32+0x22/0x94 [ath9k]
RSP <ffff880074687d88>
CR2: 0000000000000068
---[ end trace b782e2e515247664 ]---
WARNING: multiple messages have this Message-ID (diff)
From: Jiri Slaby <jirislaby@gmail.com>
To: ath9k-devel@lists.ath9k.org
Cc: Linux kernel mailing list <linux-kernel@vger.kernel.org>,
Al Viro <viro@zeniv.linux.org.uk>,
linux-fsdevel@vger.kernel.org,
Linux kernel mailing list <linux-kernel@vger.kernel.org>,
linux-wireless@vger.kernel.org
Subject: debugfs related oops in mac80211/ath9k
Date: Tue, 23 Jun 2009 18:29:52 +0200 [thread overview]
Message-ID: <4A410300.6040804@gmail.com> (raw)
Hi,
I got the oops attached below while running 2 threads:
cat /sys/kernel/debug/ieee80211/phy*/*
while :; do echo '0000:02:00.0' > unbind ; echo '0000:02:00.0' > bind; done
note that the oops is from suse kernel-of-the-day kernel. Happens with
vanilla 2.6.30 too.
sc->ah is NULL in ath9k_hw_gettsf64. Not good. file->private_data points
to freed memory (which is allocated by the same buddy a bit later in
this case). I got also another oopses in mac80211 layer, like in
frequency_read function. It has the same root cause.
The reading process still holds a reference to the node, so it's not
deleted. fops->read is called from vfs_read, but memory pointed by
file->private_data might be freed already.
We need some kind of barrier in debugfs_remove, so that all processes
with that file opened finishes first. Any ideas?
BUG: unable to handle kernel NULL pointer dereference at 0000000000000068
IP: [<ffffffffa08704a0>] ath9k_ioread32+0x22/0x94 [ath9k]
PGD 8df2067 PUD 7dd28067 PMD 0
Oops: 0000 [#3] SMP
last sysfs file: /sys/bus/pci/drivers/ath9k/bind
CPU 1
Modules linked in: ath9k snd_seq_dummy btusb cryptd aes_x86_64
aes_generic cpufreq_stats tun radeon drm nfs lockd fscache(N) nfs_acl
auth_rpcgss sunrpc af_packet bridge stp llc(N) bnep sco rfcomm l2cap
bluetooth snd_pcm_oss snd_mixer_oss snd_seq ipv6 snd_seq_device
cpufreq_conservative cpufreq_userspace cpufreq_powersave acpi_cpufreq
fuse loop snd_hda_codec_si3054(N) snd_hda_codec_realtek(N) arc4 ecb
snd_hda_intel snd_hda_codec(N) snd_hwdep snd_pcm mac80211 snd_timer
rfkill iTCO_wdt stkwebcam snd iTCO_vendor_support processor video
thermal videodev soundcore tpm_infineon i2c_i801 cfg80211 thermal_sys
v4l1_compat sr_mod asus_laptop kvm_intel tpm r8169 snd_page_alloc
intel_agp pcspkr i2c_core button battery ac output serio_raw cdrom
v4l2_compat_ioctl32(N) hwmon joydev tpm_bios led_class kvm sg uinput
usbhid hid uhci_hcd ata_piix ehci_hcd dm_mod [last unloaded: ath9k]
Supported: Yes
Pid: 25328, comm: cat Tainted: G D N
2.6.30-master_20090610141226_1b1ebc88-default #1 F2JE
RIP: 0010:[<ffffffffa08704a0>] [<ffffffffa08704a0>]
ath9k_ioread32+0x22/0x94 [ath9k]
RSP: 0018:ffff880074687d88 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff880074687f50
RDX: ffffffffa0884016 RSI: 0000000000008050 RDI: 0000000000000000
RBP: ffff880074687dc8 R08: ffffffffa0261769 R09: 00007f5be6f09665
R10: 0000000000001fff R11: 0000000000000246 R12: 0000000000008050
R13: 0000000000001000 R14: 000000000060d000 R15: 0000000000000000
FS: 00007f5be6ed76f0(0000) GS:ffff88000104c000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000068 CR3: 000000001339c000 CR4: 00000000000026e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process cat (pid: 25328, threadinfo ffff880074686000, task ffff88005a0fa680)
Stack:
ffff880076c96cb8 ffffffff809221f8 ffff880074687dd8 0000000012d27d63
ffff880074687dd8 0000000000000000 ffff88003fb71100 0000000000001000
ffff880074687df8 ffffffffa0870539 ffffffff802449b7 0000000012d27d63
Call Trace:
[<ffffffffa0870539>] ath9k_hw_gettsf64+0x27/0x5b [ath9k]
[<ffffffffa0884054>] ath9k_get_tsf+0x3e/0x6b [ath9k]
[<ffffffffa02617ab>] tsf_read+0x42/0x9b [mac80211]
[<ffffffff80303f18>] vfs_read+0xb5/0x126
[<ffffffff80304071>] sys_read+0x54/0x8c
[<ffffffff8020c142>] system_call_fastpath+0x16/0x1b
[<00007f5be6a617c0>] 0x7f5be6a617c0
Code: 74 05 e8 51 4b 9e df c9 c3 55 48 89 e5 41 55 41 54 41 89 f4 53 48
89 fb 48 83 ec 28 65 48 8b 04 25 28 00 00 00 48 89 45 d8 31 c0 <83> 7f
68 01 48 8b 3f 75 3b 48 81 c7 58 01 00 00 e8 7a c3 d7 df
RIP [<ffffffffa08704a0>] ath9k_ioread32+0x22/0x94 [ath9k]
RSP <ffff880074687d88>
CR2: 0000000000000068
---[ end trace b782e2e515247664 ]---
WARNING: multiple messages have this Message-ID (diff)
From: Jiri Slaby <jirislaby@gmail.com>
To: ath9k-devel@venema.h4ckr.net
Cc: Linux kernel mailing list <linux-kernel@vger.kernel.org>,
Al Viro <viro@zeniv.linux.org.uk>,
linux-fsdevel@vger.kernel.org,
Linux kernel mailing list <linux-kernel@vger.kernel.org>,
linux-wireless@vger.kernel.org
Subject: debugfs related oops in mac80211/ath9k
Date: Tue, 23 Jun 2009 18:29:52 +0200 [thread overview]
Message-ID: <4A410300.6040804@gmail.com> (raw)
Hi,
I got the oops attached below while running 2 threads:
cat /sys/kernel/debug/ieee80211/phy*/*
while :; do echo '0000:02:00.0' > unbind ; echo '0000:02:00.0' > bind; done
note that the oops is from suse kernel-of-the-day kernel. Happens with
vanilla 2.6.30 too.
sc->ah is NULL in ath9k_hw_gettsf64. Not good. file->private_data points
to freed memory (which is allocated by the same buddy a bit later in
this case). I got also another oopses in mac80211 layer, like in
frequency_read function. It has the same root cause.
The reading process still holds a reference to the node, so it's not
deleted. fops->read is called from vfs_read, but memory pointed by
file->private_data might be freed already.
We need some kind of barrier in debugfs_remove, so that all processes
with that file opened finishes first. Any ideas?
BUG: unable to handle kernel NULL pointer dereference at 0000000000000068
IP: [<ffffffffa08704a0>] ath9k_ioread32+0x22/0x94 [ath9k]
PGD 8df2067 PUD 7dd28067 PMD 0
Oops: 0000 [#3] SMP
last sysfs file: /sys/bus/pci/drivers/ath9k/bind
CPU 1
Modules linked in: ath9k snd_seq_dummy btusb cryptd aes_x86_64
aes_generic cpufreq_stats tun radeon drm nfs lockd fscache(N) nfs_acl
auth_rpcgss sunrpc af_packet bridge stp llc(N) bnep sco rfcomm l2cap
bluetooth snd_pcm_oss snd_mixer_oss snd_seq ipv6 snd_seq_device
cpufreq_conservative cpufreq_userspace cpufreq_powersave acpi_cpufreq
fuse loop snd_hda_codec_si3054(N) snd_hda_codec_realtek(N) arc4 ecb
snd_hda_intel snd_hda_codec(N) snd_hwdep snd_pcm mac80211 snd_timer
rfkill iTCO_wdt stkwebcam snd iTCO_vendor_support processor video
thermal videodev soundcore tpm_infineon i2c_i801 cfg80211 thermal_sys
v4l1_compat sr_mod asus_laptop kvm_intel tpm r8169 snd_page_alloc
intel_agp pcspkr i2c_core button battery ac output serio_raw cdrom
v4l2_compat_ioctl32(N) hwmon joydev tpm_bios led_class kvm sg uinput
usbhid hid uhci_hcd ata_piix ehci_hcd dm_mod [last unloaded: ath9k]
Supported: Yes
Pid: 25328, comm: cat Tainted: G D N
2.6.30-master_20090610141226_1b1ebc88-default #1 F2JE
RIP: 0010:[<ffffffffa08704a0>] [<ffffffffa08704a0>]
ath9k_ioread32+0x22/0x94 [ath9k]
RSP: 0018:ffff880074687d88 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff880074687f50
RDX: ffffffffa0884016 RSI: 0000000000008050 RDI: 0000000000000000
RBP: ffff880074687dc8 R08: ffffffffa0261769 R09: 00007f5be6f09665
R10: 0000000000001fff R11: 0000000000000246 R12: 0000000000008050
R13: 0000000000001000 R14: 000000000060d000 R15: 0000000000000000
FS: 00007f5be6ed76f0(0000) GS:ffff88000104c000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000068 CR3: 000000001339c000 CR4: 00000000000026e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process cat (pid: 25328, threadinfo ffff880074686000, task ffff88005a0fa680)
Stack:
ffff880076c96cb8 ffffffff809221f8 ffff880074687dd8 0000000012d27d63
ffff880074687dd8 0000000000000000 ffff88003fb71100 0000000000001000
ffff880074687df8 ffffffffa0870539 ffffffff802449b7 0000000012d27d63
Call Trace:
[<ffffffffa0870539>] ath9k_hw_gettsf64+0x27/0x5b [ath9k]
[<ffffffffa0884054>] ath9k_get_tsf+0x3e/0x6b [ath9k]
[<ffffffffa02617ab>] tsf_read+0x42/0x9b [mac80211]
[<ffffffff80303f18>] vfs_read+0xb5/0x126
[<ffffffff80304071>] sys_read+0x54/0x8c
[<ffffffff8020c142>] system_call_fastpath+0x16/0x1b
[<00007f5be6a617c0>] 0x7f5be6a617c0
Code: 74 05 e8 51 4b 9e df c9 c3 55 48 89 e5 41 55 41 54 41 89 f4 53 48
89 fb 48 83 ec 28 65 48 8b 04 25 28 00 00 00 48 89 45 d8 31 c0 <83> 7f
68 01 48 8b 3f 75 3b 48 81 c7 58 01 00 00 e8 7a c3 d7 df
RIP [<ffffffffa08704a0>] ath9k_ioread32+0x22/0x94 [ath9k]
RSP <ffff880074687d88>
CR2: 0000000000000068
---[ end trace b782e2e515247664 ]---
WARNING: multiple messages have this Message-ID (diff)
From: Jiri Slaby <jirislaby-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: ath9k-devel-xDcbHBWguxHbcTqmT+pZeQ@public.gmane.org
Cc: Linux kernel mailing list
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Al Viro <viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org>,
linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Linux kernel mailing list
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: debugfs related oops in mac80211/ath9k
Date: Tue, 23 Jun 2009 18:29:52 +0200 [thread overview]
Message-ID: <4A410300.6040804@gmail.com> (raw)
Hi,
I got the oops attached below while running 2 threads:
cat /sys/kernel/debug/ieee80211/phy*/*
while :; do echo '0000:02:00.0' > unbind ; echo '0000:02:00.0' > bind; done
note that the oops is from suse kernel-of-the-day kernel. Happens with
vanilla 2.6.30 too.
sc->ah is NULL in ath9k_hw_gettsf64. Not good. file->private_data points
to freed memory (which is allocated by the same buddy a bit later in
this case). I got also another oopses in mac80211 layer, like in
frequency_read function. It has the same root cause.
The reading process still holds a reference to the node, so it's not
deleted. fops->read is called from vfs_read, but memory pointed by
file->private_data might be freed already.
We need some kind of barrier in debugfs_remove, so that all processes
with that file opened finishes first. Any ideas?
BUG: unable to handle kernel NULL pointer dereference at 0000000000000068
IP: [<ffffffffa08704a0>] ath9k_ioread32+0x22/0x94 [ath9k]
PGD 8df2067 PUD 7dd28067 PMD 0
Oops: 0000 [#3] SMP
last sysfs file: /sys/bus/pci/drivers/ath9k/bind
CPU 1
Modules linked in: ath9k snd_seq_dummy btusb cryptd aes_x86_64
aes_generic cpufreq_stats tun radeon drm nfs lockd fscache(N) nfs_acl
auth_rpcgss sunrpc af_packet bridge stp llc(N) bnep sco rfcomm l2cap
bluetooth snd_pcm_oss snd_mixer_oss snd_seq ipv6 snd_seq_device
cpufreq_conservative cpufreq_userspace cpufreq_powersave acpi_cpufreq
fuse loop snd_hda_codec_si3054(N) snd_hda_codec_realtek(N) arc4 ecb
snd_hda_intel snd_hda_codec(N) snd_hwdep snd_pcm mac80211 snd_timer
rfkill iTCO_wdt stkwebcam snd iTCO_vendor_support processor video
thermal videodev soundcore tpm_infineon i2c_i801 cfg80211 thermal_sys
v4l1_compat sr_mod asus_laptop kvm_intel tpm r8169 snd_page_alloc
intel_agp pcspkr i2c_core button battery ac output serio_raw cdrom
v4l2_compat_ioctl32(N) hwmon joydev tpm_bios led_class kvm sg uinput
usbhid hid uhci_hcd ata_piix ehci_hcd dm_mod [last unloaded: ath9k]
Supported: Yes
Pid: 25328, comm: cat Tainted: G D N
2.6.30-master_20090610141226_1b1ebc88-default #1 F2JE
RIP: 0010:[<ffffffffa08704a0>] [<ffffffffa08704a0>]
ath9k_ioread32+0x22/0x94 [ath9k]
RSP: 0018:ffff880074687d88 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff880074687f50
RDX: ffffffffa0884016 RSI: 0000000000008050 RDI: 0000000000000000
RBP: ffff880074687dc8 R08: ffffffffa0261769 R09: 00007f5be6f09665
R10: 0000000000001fff R11: 0000000000000246 R12: 0000000000008050
R13: 0000000000001000 R14: 000000000060d000 R15: 0000000000000000
FS: 00007f5be6ed76f0(0000) GS:ffff88000104c000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000068 CR3: 000000001339c000 CR4: 00000000000026e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process cat (pid: 25328, threadinfo ffff880074686000, task ffff88005a0fa680)
Stack:
ffff880076c96cb8 ffffffff809221f8 ffff880074687dd8 0000000012d27d63
ffff880074687dd8 0000000000000000 ffff88003fb71100 0000000000001000
ffff880074687df8 ffffffffa0870539 ffffffff802449b7 0000000012d27d63
Call Trace:
[<ffffffffa0870539>] ath9k_hw_gettsf64+0x27/0x5b [ath9k]
[<ffffffffa0884054>] ath9k_get_tsf+0x3e/0x6b [ath9k]
[<ffffffffa02617ab>] tsf_read+0x42/0x9b [mac80211]
[<ffffffff80303f18>] vfs_read+0xb5/0x126
[<ffffffff80304071>] sys_read+0x54/0x8c
[<ffffffff8020c142>] system_call_fastpath+0x16/0x1b
[<00007f5be6a617c0>] 0x7f5be6a617c0
Code: 74 05 e8 51 4b 9e df c9 c3 55 48 89 e5 41 55 41 54 41 89 f4 53 48
89 fb 48 83 ec 28 65 48 8b 04 25 28 00 00 00 48 89 45 d8 31 c0 <83> 7f
68 01 48 8b 3f 75 3b 48 81 c7 58 01 00 00 e8 7a c3 d7 df
RIP [<ffffffffa08704a0>] ath9k_ioread32+0x22/0x94 [ath9k]
RSP <ffff880074687d88>
CR2: 0000000000000068
---[ end trace b782e2e515247664 ]---
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next reply other threads:[~2009-06-23 16:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-23 16:29 Jiri Slaby [this message]
2009-06-23 16:29 ` debugfs related oops in mac80211/ath9k Jiri Slaby
2009-06-23 16:29 ` Jiri Slaby
2009-06-23 16:29 ` Jiri Slaby
2009-06-23 16:52 ` [ath9k-devel] " Johannes Berg
2009-06-23 16:52 ` Johannes Berg
2009-06-23 16:52 ` Johannes Berg
2009-06-23 16:52 ` Johannes Berg
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=4A410300.6040804@gmail.com \
--to=jirislaby@gmail.com \
--cc=ath9k-devel@lists.ath9k.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.