From: Pavel Machek <pavel@denx.de>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
Peter Chen <peter.chen@nxp.com>,
Felipe Balbi <felipe.balbi@linux.intel.com>,
Sasha Levin <sashal@kernel.org>
Subject: Re: [PATCH 4.19 093/125] usb: gadget: configfs: fix concurrent issue between composite APIs
Date: Wed, 13 Nov 2019 14:49:36 +0100 [thread overview]
Message-ID: <20191113134935.GA20980@duo.ucw.cz> (raw)
In-Reply-To: <20191111181452.322265396@linuxfoundation.org>
[-- Attachment #1: Type: text/plain, Size: 2145 bytes --]
On Mon 2019-11-11 19:28:52, Greg Kroah-Hartman wrote:
> From: Peter Chen <peter.chen@nxp.com>
>
> [ Upstream commit 1a1c851bbd706ea9f3a9756c2d3db28523506d3b ]
>
> We meet several NULL pointer issues if configfs_composite_unbind
> and composite_setup (or composite_disconnect) are running together.
> These issues occur when do the function switch stress test, the
> configfs_compsoite_unbind is called from user mode by
> echo "" to /sys/../UDC entry, and meanwhile, the setup interrupt
> or disconnect interrupt occurs by hardware. The composite_setup
> +++ b/drivers/usb/gadget/configfs.c
> @@ -61,6 +61,8 @@ struct gadget_info {
> bool use_os_desc;
> char b_vendor_code;
> char qw_sign[OS_STRING_QW_SIGN_LEN];
> + spinlock_t spinlock;
> + bool unbind;
> };
>
> static inline struct gadget_info *to_gadget_info(struct config_item *item)
> @@ -1244,6 +1246,7 @@ static int configfs_composite_bind(struct usb_gadget *gadget,
> int ret;
>
> /* the gi->lock is hold by the caller */
> + gi->unbind = 0;
> cdev->gadget = gadget;
Since variable is bool, I'd expect "= false" here?
> + unsigned long flags;
>
> /* the gi->lock is hold by the caller */
"is held".
> cdev = get_gadget_data(gadget);
> gi = container_of(cdev, struct gadget_info, cdev);
> + spin_lock_irqsave(&gi->spinlock, flags);
> + gi->unbind = 1;
= true;
> +static int configfs_composite_setup(struct usb_gadget *gadget,
> + const struct usb_ctrlrequest *ctrl)
> +{
> + struct usb_composite_dev *cdev;
> + struct gadget_info *gi;
> + unsigned long flags;
> + int ret;
> +
> + cdev = get_gadget_data(gadget);
> + if (!cdev)
> + return 0;
> +
> + gi = container_of(cdev, struct gadget_info, cdev);
> + spin_lock_irqsave(&gi->spinlock, flags);
> + cdev = get_gadget_data(gadget);
cdev already contains required value, why get it second time? (If it
needs to be done under lock, comment might be useful...)
Best regards,
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
next prev parent reply other threads:[~2019-11-13 13:49 UTC|newest]
Thread overview: 144+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-11 18:27 [PATCH 4.19 000/125] 4.19.84-stable review Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 001/125] bonding: fix state transition issue in link monitoring Greg Kroah-Hartman
2019-11-13 9:56 ` Po-Hsu Lin
2019-11-11 18:27 ` [PATCH 4.19 002/125] CDC-NCM: handle incomplete transfer of MTU Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 003/125] ipv4: Fix table id reference in fib_sync_down_addr Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 004/125] net: ethernet: octeon_mgmt: Account for second possible VLAN header Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 005/125] net: fix data-race in neigh_event_send() Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 006/125] net: qualcomm: rmnet: Fix potential UAF when unregistering Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 007/125] net: usb: qmi_wwan: add support for DW5821e with eSIM support Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 008/125] NFC: fdp: fix incorrect free object Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 009/125] nfc: netlink: fix double device reference drop Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 010/125] NFC: st21nfca: fix double free Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 011/125] qede: fix NULL pointer deref in __qede_remove() Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 012/125] net: mscc: ocelot: dont handle netdev events for other netdevs Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 013/125] net: mscc: ocelot: fix NULL pointer on LAG slave removal Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 014/125] ipv6: fixes rt6_probe() and fib6_nh->last_probe init Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 015/125] net: hns: Fix the stray netpoll locks causing deadlock in NAPI path Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 016/125] ALSA: timer: Fix incorrectly assigned timer instance Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 017/125] ALSA: bebob: fix to detect configured source of sampling clock for Focusrite Saffire Pro i/o series Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 018/125] ALSA: hda/ca0132 - Fix possible workqueue stall Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 019/125] mm: memcontrol: fix network errors from failing __GFP_ATOMIC charges Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 020/125] mm, meminit: recalculate pcpu batch and high limits after init completes Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 021/125] mm: thp: handle page cache THP correctly in PageTransCompoundMap Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 022/125] mm, vmstat: hide /proc/pagetypeinfo from normal users Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 023/125] dump_stack: avoid the livelock of the dump_lock Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 024/125] tools: gpio: Use !building_out_of_srctree to determine srctree Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 025/125] perf tools: Fix time sorting Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 026/125] drm/radeon: fix si_enable_smc_cac() failed issue Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 027/125] HID: wacom: generic: Treat serial number and related fields as unsigned Greg Kroah-Hartman
2019-11-13 10:47 ` Pavel Machek
2019-11-13 11:02 ` Jiri Kosina
2019-11-13 15:43 ` Gerecke, Jason
2019-11-11 18:27 ` [PATCH 4.19 028/125] soundwire: depend on ACPI Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 029/125] soundwire: bus: set initial value to port_status Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 030/125] arm64: Do not mask out PTE_RDONLY in pte_same() Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 031/125] ceph: fix use-after-free in __ceph_remove_cap() Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 032/125] ceph: add missing check in d_revalidate snapdir handling Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 033/125] iio: adc: stm32-adc: fix stopping dma Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 034/125] iio: imu: adis16480: make sure provided frequency is positive Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 035/125] iio: srf04: fix wrong limitation in distance measuring Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 036/125] ARM: sunxi: Fix CPU powerdown on A83T Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 037/125] netfilter: nf_tables: Align nft_expr private data to 64-bit Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 038/125] netfilter: ipset: Fix an error code in ip_set_sockfn_get() Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 039/125] intel_th: pci: Add Comet Lake PCH support Greg Kroah-Hartman
2019-11-11 18:27 ` [PATCH 4.19 040/125] intel_th: pci: Add Jasper " Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 041/125] x86/apic/32: Avoid bogus LDR warnings Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 042/125] SMB3: Fix persistent handles reconnect Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 043/125] can: usb_8dev: fix use-after-free on disconnect Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 044/125] can: flexcan: disable completely the ECC mechanism Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 045/125] can: c_can: c_can_poll(): only read status register after status IRQ Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 046/125] can: peak_usb: fix a potential out-of-sync while decoding packets Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 047/125] can: rx-offload: can_rx_offload_queue_sorted(): fix error handling, avoid skb mem leak Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 048/125] can: gs_usb: gs_can_open(): prevent memory leak Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 049/125] can: dev: add missing of_node_put() after calling of_get_child_by_name() Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 050/125] can: mcba_usb: fix use-after-free on disconnect Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 051/125] can: peak_usb: fix slab info leak Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 052/125] configfs: stash the data we need into configfs_buffer at open time Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 053/125] configfs_register_group() shouldnt be (and isnt) called in rmdirable parts Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 054/125] configfs: new object reprsenting tree fragments Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 055/125] configfs: provide exclusion between IO and removals Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 056/125] configfs: fix a deadlock in configfs_symlink() Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 057/125] ALSA: usb-audio: More validations of descriptor units Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 058/125] ALSA: usb-audio: Simplify parse_audio_unit() Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 059/125] ALSA: usb-audio: Unify the release of usb_mixer_elem_info objects Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 060/125] ALSA: usb-audio: Remove superfluous bLength checks Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 061/125] ALSA: usb-audio: Clean up check_input_term() Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 062/125] ALSA: usb-audio: Fix possible NULL dereference at create_yamaha_midi_quirk() Greg Kroah-Hartman
2019-11-13 10:19 ` Pavel Machek
2019-11-13 10:35 ` Takashi Iwai
2019-11-13 10:36 ` Takashi Iwai
2019-11-18 14:33 ` Pavel Machek
2019-11-11 18:28 ` [PATCH 4.19 063/125] ALSA: usb-audio: remove some dead code Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 064/125] ALSA: usb-audio: Fix copy&paste error in the validator Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 065/125] sched/fair: Fix low cpu usage with high throttling by removing expiration of cpu-local slices Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 066/125] sched/fair: Fix -Wunused-but-set-variable warnings Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 067/125] usbip: Fix vhci_urb_enqueue() URB null transfer buffer error path Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 068/125] usbip: Implement SG support to vhci-hcd and stub driver Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 069/125] PCI: tegra: Enable Relaxed Ordering only for Tegra20 & Tegra30 Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 070/125] HID: google: add magnemite/masterball USB ids Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 071/125] dmaengine: xilinx_dma: Fix control reg update in vdma_channel_set_config Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 072/125] dmaengine: sprd: Fix the possible memory leak issue Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 073/125] HID: intel-ish-hid: fix wrong error handling in ishtp_cl_alloc_tx_ring() Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 074/125] RDMA/mlx5: Clear old rate limit when closing QP Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 075/125] iw_cxgb4: fix ECN check on the passive accept Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 076/125] RDMA/qedr: Fix reported firmware version Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 077/125] net/mlx5e: TX, Fix consumer index of error cqe dump Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 078/125] net/mlx5: prevent memory leak in mlx5_fpga_conn_create_cq Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 079/125] scsi: qla2xxx: fixup incorrect usage of host_byte Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 080/125] RDMA/uverbs: Prevent potential underflow Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 081/125] net: openvswitch: free vport unless register_netdevice() succeeds Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 082/125] scsi: lpfc: Honor module parameter lpfc_use_adisc Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 083/125] scsi: qla2xxx: Initialized mailbox to prevent driver load failure Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 084/125] netfilter: nf_flow_table: set timeout before insertion into hashes Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 085/125] ipvs: dont ignore errors in case refcounting ip_vs module fails Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 086/125] ipvs: move old_secure_tcp into struct netns_ipvs Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 087/125] bonding: fix unexpected IFF_BONDING bit unset Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 088/125] macsec: fix refcnt leak in module exit routine Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 089/125] usb: fsl: Check memory resource before releasing it Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 090/125] usb: gadget: udc: atmel: Fix interrupt storm in FIFO mode Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 091/125] usb: gadget: composite: Fix possible double free memory bug Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 092/125] usb: dwc3: pci: prevent memory leak in dwc3_pci_probe Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 093/125] usb: gadget: configfs: fix concurrent issue between composite APIs Greg Kroah-Hartman
2019-11-13 13:49 ` Pavel Machek [this message]
2019-11-14 6:44 ` Peter Chen
2019-11-11 18:28 ` [PATCH 4.19 094/125] usb: dwc3: remove the call trace of USBx_GFLADJ Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 095/125] perf/x86/amd/ibs: Fix reading of the IBS OpData register and thus precise RIP validity Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 096/125] perf/x86/amd/ibs: Handle erratum #420 only on the affected CPU family (10h) Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 097/125] perf/x86/uncore: Fix event group support Greg Kroah-Hartman
2019-11-13 10:35 ` Pavel Machek
2019-11-13 13:04 ` Liang, Kan
2019-11-11 18:28 ` [PATCH 4.19 098/125] USB: Skip endpoints with 0 maxpacket length Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 099/125] USB: ldusb: use unsigned size format specifiers Greg Kroah-Hartman
2019-11-11 18:28 ` [PATCH 4.19 100/125] usbip: tools: Fix read_usb_vudc_device() error path handling Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 101/125] RDMA/iw_cxgb4: Avoid freeing skb twice in arp failure case Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 102/125] RDMA/hns: Prevent memory leaks of eq->buf_list Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 103/125] scsi: qla2xxx: stop timer in shutdown path Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 104/125] nvme-multipath: fix possible io hang after ctrl reconnect Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 105/125] fjes: Handle workqueue allocation failure Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 106/125] net: hisilicon: Fix "Trying to free already-free IRQ" Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 107/125] net: mscc: ocelot: fix vlan_filtering when enslaving to bridge before link is up Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 108/125] net: mscc: ocelot: refuse to overwrite the ports native vlan Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 109/125] iommu/amd: Apply the same IVRS IOAPIC workaround to Acer Aspire A315-41 Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 110/125] drm/amdgpu: If amdgpu_ib_schedule fails return back the error Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 111/125] drm/amd/display: Passive DP->HDMI dongle detection fix Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 112/125] hv_netvsc: Fix error handling in netvsc_attach() Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 113/125] usb: dwc3: gadget: fix race when disabling ep with cancelled xfers Greg Kroah-Hartman
2019-11-13 13:52 ` Pavel Machek
2019-11-11 18:29 ` [PATCH 4.19 114/125] NFSv4: Dont allow a cached open with a revoked delegation Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 115/125] net: ethernet: arc: add the missed clk_disable_unprepare Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 116/125] igb: Fix constant media auto sense switching when no cable is connected Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 117/125] e1000: fix memory leaks Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 118/125] pinctrl: intel: Avoid potential glitches if pin is in GPIO mode Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 119/125] ocfs2: protect extent tree in ocfs2_prepare_inode_for_write() Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 120/125] pinctrl: cherryview: Fix irq_valid_mask calculation Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 121/125] blkcg: make blkcg_print_stat() print stats only for online blkgs Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 122/125] iio: imu: mpu6050: Add support for the ICM 20602 IMU Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 123/125] iio: imu: inv_mpu6050: fix no data on MPU6050 Greg Kroah-Hartman
2019-11-13 10:42 ` Pavel Machek
2019-11-11 18:29 ` [PATCH 4.19 124/125] mm/filemap.c: dont initiate writeback if mapping has no dirty pages Greg Kroah-Hartman
2019-11-11 18:29 ` [PATCH 4.19 125/125] cgroup,writeback: dont switch wbs immediately on dead wbs if the memcg is dead Greg Kroah-Hartman
2019-11-12 5:19 ` [PATCH 4.19 000/125] 4.19.84-stable review kernelci.org bot
2019-11-12 5:49 ` Naresh Kamboju
2019-11-12 12:01 ` Jon Hunter
2019-11-12 18:20 ` Guenter Roeck
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=20191113134935.GA20980@duo.ucw.cz \
--to=pavel@denx.de \
--cc=felipe.balbi@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peter.chen@nxp.com \
--cc=sashal@kernel.org \
--cc=stable@vger.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
all inboxes | Powered by JetHome®