All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: sean.wang@mediatek.com
Cc: kbuild-all@01.org, andrew@lunn.ch, f.fainelli@gmail.com,
	vivien.didelot@savoirfairelinux.com, matthias.bgg@gmail.com,
	robh+dt@kernel.org, mark.rutland@arm.com,
	devicetree@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org,
	davem@davemloft.net, sean.wang@mediatek.com,
	Landen.Chao@mediatek.com, keyhaede@gmail.com, objelf@gmail.com
Subject: Re: [PATCH net-next v3 5/5] net-next: dsa: add dsa support for Mediatek MT7530 switch
Date: Mon, 3 Apr 2017 09:16:35 +0800	[thread overview]
Message-ID: <201704030934.ybmMFWw1%fengguang.wu@intel.com> (raw)
In-Reply-To: <1490780303-18598-6-git-send-email-sean.wang@mediatek.com>

[-- Attachment #1: Type: text/plain, Size: 7184 bytes --]

Hi Sean,

[auto build test ERROR on net-next/master]

url:    https://github.com/0day-ci/linux/commits/sean-wang-mediatek-com/net-next-dsa-add-Mediatek-MT7530-support/20170330-135532
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All errors (new ones prefixed by >>):

   In file included from net/dsa/tag_mtk.c:16:0:
   net/dsa/dsa_priv.h:50:30: warning: 'struct dsa_switch' declared inside parameter list will not be visible outside of this definition or declaration
    int dsa_cpu_dsa_setup(struct dsa_switch *ds, struct device *dev,
                                 ^~~~~~~~~~
   net/dsa/dsa_priv.h:54:39: warning: 'struct dsa_switch' declared inside parameter list will not be visible outside of this definition or declaration
    int dsa_cpu_port_ethtool_setup(struct dsa_switch *ds);
                                          ^~~~~~~~~~
   net/dsa/dsa_priv.h:55:42: warning: 'struct dsa_switch' declared inside parameter list will not be visible outside of this definition or declaration
    void dsa_cpu_port_ethtool_restore(struct dsa_switch *ds);
                                             ^~~~~~~~~~
   net/dsa/dsa_priv.h:59:36: warning: 'struct dsa_switch' declared inside parameter list will not be visible outside of this definition or declaration
    void dsa_slave_mii_bus_init(struct dsa_switch *ds);
                                       ^~~~~~~~~~
   net/dsa/dsa_priv.h:61:29: warning: 'struct dsa_switch' declared inside parameter list will not be visible outside of this definition or declaration
    int dsa_slave_create(struct dsa_switch *ds, struct device *parent,
                                ^~~~~~~~~~
   net/dsa/dsa_priv.h:70:41: warning: 'struct dsa_switch' declared inside parameter list will not be visible outside of this definition or declaration
    int dsa_switch_register_notifier(struct dsa_switch *ds);
                                            ^~~~~~~~~~
   net/dsa/dsa_priv.h:71:44: warning: 'struct dsa_switch' declared inside parameter list will not be visible outside of this definition or declaration
    void dsa_switch_unregister_notifier(struct dsa_switch *ds);
                                               ^~~~~~~~~~
   net/dsa/tag_mtk.c: In function 'mtk_tag_xmit':
>> net/dsa/tag_mtk.c:38:26: error: dereferencing pointer to incomplete type 'struct dsa_port'
     mtk_tag[1] = (1 << p->dp->index) & MTK_HDR_XMIT_DP_BIT_MASK;
                             ^~
   net/dsa/tag_mtk.c: In function 'mtk_tag_rcv':
>> net/dsa/tag_mtk.c:85:10: error: dereferencing pointer to incomplete type 'struct dsa_switch_tree'
     ds = dst->ds[0];
             ^~
>> net/dsa/tag_mtk.c:91:9: error: dereferencing pointer to incomplete type 'struct dsa_switch'
     if (!ds->ports[port].netdev)
            ^~

vim +91 net/dsa/tag_mtk.c

2faad9d7 Sean Wang 2017-03-29  32  
2faad9d7 Sean Wang 2017-03-29  33  	memmove(skb->data, skb->data + MTK_HDR_LEN, 2 * ETH_ALEN);
2faad9d7 Sean Wang 2017-03-29  34  
2faad9d7 Sean Wang 2017-03-29  35  	/* Build the tag after the MAC Source Address */
2faad9d7 Sean Wang 2017-03-29  36  	mtk_tag = skb->data + 2 * ETH_ALEN;
2faad9d7 Sean Wang 2017-03-29  37  	mtk_tag[0] = 0;
2faad9d7 Sean Wang 2017-03-29 @38  	mtk_tag[1] = (1 << p->dp->index) & MTK_HDR_XMIT_DP_BIT_MASK;
2faad9d7 Sean Wang 2017-03-29  39  	mtk_tag[2] = 0;
2faad9d7 Sean Wang 2017-03-29  40  	mtk_tag[3] = 0;
2faad9d7 Sean Wang 2017-03-29  41  
2faad9d7 Sean Wang 2017-03-29  42  	return skb;
2faad9d7 Sean Wang 2017-03-29  43  
2faad9d7 Sean Wang 2017-03-29  44  out_free:
2faad9d7 Sean Wang 2017-03-29  45  	kfree_skb(skb);
2faad9d7 Sean Wang 2017-03-29  46  	return NULL;
2faad9d7 Sean Wang 2017-03-29  47  }
2faad9d7 Sean Wang 2017-03-29  48  
2faad9d7 Sean Wang 2017-03-29  49  static int mtk_tag_rcv(struct sk_buff *skb, struct net_device *dev,
2faad9d7 Sean Wang 2017-03-29  50  		       struct packet_type *pt, struct net_device *orig_dev)
2faad9d7 Sean Wang 2017-03-29  51  {
2faad9d7 Sean Wang 2017-03-29  52  	struct dsa_switch_tree *dst = dev->dsa_ptr;
2faad9d7 Sean Wang 2017-03-29  53  	struct dsa_switch *ds;
2faad9d7 Sean Wang 2017-03-29  54  	int port;
2faad9d7 Sean Wang 2017-03-29  55  	__be16 *phdr, hdr;
2faad9d7 Sean Wang 2017-03-29  56  
2faad9d7 Sean Wang 2017-03-29  57  	if (unlikely(!dst))
2faad9d7 Sean Wang 2017-03-29  58  		goto out_drop;
2faad9d7 Sean Wang 2017-03-29  59  
2faad9d7 Sean Wang 2017-03-29  60  	skb = skb_unshare(skb, GFP_ATOMIC);
2faad9d7 Sean Wang 2017-03-29  61  	if (!skb)
2faad9d7 Sean Wang 2017-03-29  62  		goto out;
2faad9d7 Sean Wang 2017-03-29  63  
2faad9d7 Sean Wang 2017-03-29  64  	if (unlikely(!pskb_may_pull(skb, MTK_HDR_LEN)))
2faad9d7 Sean Wang 2017-03-29  65  		goto out_drop;
2faad9d7 Sean Wang 2017-03-29  66  
2faad9d7 Sean Wang 2017-03-29  67  	/* The MTK header is added by the switch between src addr
2faad9d7 Sean Wang 2017-03-29  68  	 * and ethertype at this point, skb->data points to 2 bytes
2faad9d7 Sean Wang 2017-03-29  69  	 * after src addr so header should be 2 bytes right before.
2faad9d7 Sean Wang 2017-03-29  70  	 */
2faad9d7 Sean Wang 2017-03-29  71  	phdr = (__be16 *)(skb->data - 2);
2faad9d7 Sean Wang 2017-03-29  72  	hdr = ntohs(*phdr);
2faad9d7 Sean Wang 2017-03-29  73  
2faad9d7 Sean Wang 2017-03-29  74  	/* Remove MTK tag and recalculate checksum. */
2faad9d7 Sean Wang 2017-03-29  75  	skb_pull_rcsum(skb, MTK_HDR_LEN);
2faad9d7 Sean Wang 2017-03-29  76  
2faad9d7 Sean Wang 2017-03-29  77  	memmove(skb->data - ETH_HLEN,
2faad9d7 Sean Wang 2017-03-29  78  		skb->data - ETH_HLEN - MTK_HDR_LEN,
2faad9d7 Sean Wang 2017-03-29  79  		2 * ETH_ALEN);
2faad9d7 Sean Wang 2017-03-29  80  
2faad9d7 Sean Wang 2017-03-29  81  	/* This protocol doesn't support cascading multiple
2faad9d7 Sean Wang 2017-03-29  82  	 * switches so it's safe to assume the switch is first
2faad9d7 Sean Wang 2017-03-29  83  	 * in the tree.
2faad9d7 Sean Wang 2017-03-29  84  	 */
2faad9d7 Sean Wang 2017-03-29 @85  	ds = dst->ds[0];
2faad9d7 Sean Wang 2017-03-29  86  	if (!ds)
2faad9d7 Sean Wang 2017-03-29  87  		goto out_drop;
2faad9d7 Sean Wang 2017-03-29  88  
2faad9d7 Sean Wang 2017-03-29  89  	/* Get source port information */
2faad9d7 Sean Wang 2017-03-29  90  	port = (hdr & MTK_HDR_RECV_SOURCE_PORT_MASK);
2faad9d7 Sean Wang 2017-03-29 @91  	if (!ds->ports[port].netdev)
2faad9d7 Sean Wang 2017-03-29  92  		goto out_drop;
2faad9d7 Sean Wang 2017-03-29  93  
2faad9d7 Sean Wang 2017-03-29  94  	/* Update skb & forward the frame accordingly */

:::::: The code at line 91 was first introduced by commit
:::::: 2faad9d71e4c0544e3cf43b24439517c95df301f net-next: dsa: add Mediatek tag RX/TX handler

:::::: TO: Sean Wang <sean.wang@mediatek.com>
:::::: CC: 0day robot <fengguang.wu@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 61384 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, andrew@lunn.ch, f.fainelli@gmail.com,
	vivien.didelot@savoirfairelinux.com, matthias.bgg@gmail.com,
	robh+dt@kernel.org, mark.rutland@arm.com,
	devicetree@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org,
	davem@davemloft.net, sean.wang@mediatek.com,
	Landen.Chao@mediatek.com, keyhaede@gmail.com, objelf@gmail.com
Subject: Re: [PATCH net-next v3 5/5] net-next: dsa: add dsa support for Mediatek MT7530 switch
Date: Mon, 3 Apr 2017 09:16:35 +0800	[thread overview]
Message-ID: <201704030934.ybmMFWw1%fengguang.wu@intel.com> (raw)
In-Reply-To: <1490780303-18598-6-git-send-email-sean.wang@mediatek.com>

[-- Attachment #1: Type: text/plain, Size: 7184 bytes --]

Hi Sean,

[auto build test ERROR on net-next/master]

url:    https://github.com/0day-ci/linux/commits/sean-wang-mediatek-com/net-next-dsa-add-Mediatek-MT7530-support/20170330-135532
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All errors (new ones prefixed by >>):

   In file included from net/dsa/tag_mtk.c:16:0:
   net/dsa/dsa_priv.h:50:30: warning: 'struct dsa_switch' declared inside parameter list will not be visible outside of this definition or declaration
    int dsa_cpu_dsa_setup(struct dsa_switch *ds, struct device *dev,
                                 ^~~~~~~~~~
   net/dsa/dsa_priv.h:54:39: warning: 'struct dsa_switch' declared inside parameter list will not be visible outside of this definition or declaration
    int dsa_cpu_port_ethtool_setup(struct dsa_switch *ds);
                                          ^~~~~~~~~~
   net/dsa/dsa_priv.h:55:42: warning: 'struct dsa_switch' declared inside parameter list will not be visible outside of this definition or declaration
    void dsa_cpu_port_ethtool_restore(struct dsa_switch *ds);
                                             ^~~~~~~~~~
   net/dsa/dsa_priv.h:59:36: warning: 'struct dsa_switch' declared inside parameter list will not be visible outside of this definition or declaration
    void dsa_slave_mii_bus_init(struct dsa_switch *ds);
                                       ^~~~~~~~~~
   net/dsa/dsa_priv.h:61:29: warning: 'struct dsa_switch' declared inside parameter list will not be visible outside of this definition or declaration
    int dsa_slave_create(struct dsa_switch *ds, struct device *parent,
                                ^~~~~~~~~~
   net/dsa/dsa_priv.h:70:41: warning: 'struct dsa_switch' declared inside parameter list will not be visible outside of this definition or declaration
    int dsa_switch_register_notifier(struct dsa_switch *ds);
                                            ^~~~~~~~~~
   net/dsa/dsa_priv.h:71:44: warning: 'struct dsa_switch' declared inside parameter list will not be visible outside of this definition or declaration
    void dsa_switch_unregister_notifier(struct dsa_switch *ds);
                                               ^~~~~~~~~~
   net/dsa/tag_mtk.c: In function 'mtk_tag_xmit':
>> net/dsa/tag_mtk.c:38:26: error: dereferencing pointer to incomplete type 'struct dsa_port'
     mtk_tag[1] = (1 << p->dp->index) & MTK_HDR_XMIT_DP_BIT_MASK;
                             ^~
   net/dsa/tag_mtk.c: In function 'mtk_tag_rcv':
>> net/dsa/tag_mtk.c:85:10: error: dereferencing pointer to incomplete type 'struct dsa_switch_tree'
     ds = dst->ds[0];
             ^~
>> net/dsa/tag_mtk.c:91:9: error: dereferencing pointer to incomplete type 'struct dsa_switch'
     if (!ds->ports[port].netdev)
            ^~

vim +91 net/dsa/tag_mtk.c

2faad9d7 Sean Wang 2017-03-29  32  
2faad9d7 Sean Wang 2017-03-29  33  	memmove(skb->data, skb->data + MTK_HDR_LEN, 2 * ETH_ALEN);
2faad9d7 Sean Wang 2017-03-29  34  
2faad9d7 Sean Wang 2017-03-29  35  	/* Build the tag after the MAC Source Address */
2faad9d7 Sean Wang 2017-03-29  36  	mtk_tag = skb->data + 2 * ETH_ALEN;
2faad9d7 Sean Wang 2017-03-29  37  	mtk_tag[0] = 0;
2faad9d7 Sean Wang 2017-03-29 @38  	mtk_tag[1] = (1 << p->dp->index) & MTK_HDR_XMIT_DP_BIT_MASK;
2faad9d7 Sean Wang 2017-03-29  39  	mtk_tag[2] = 0;
2faad9d7 Sean Wang 2017-03-29  40  	mtk_tag[3] = 0;
2faad9d7 Sean Wang 2017-03-29  41  
2faad9d7 Sean Wang 2017-03-29  42  	return skb;
2faad9d7 Sean Wang 2017-03-29  43  
2faad9d7 Sean Wang 2017-03-29  44  out_free:
2faad9d7 Sean Wang 2017-03-29  45  	kfree_skb(skb);
2faad9d7 Sean Wang 2017-03-29  46  	return NULL;
2faad9d7 Sean Wang 2017-03-29  47  }
2faad9d7 Sean Wang 2017-03-29  48  
2faad9d7 Sean Wang 2017-03-29  49  static int mtk_tag_rcv(struct sk_buff *skb, struct net_device *dev,
2faad9d7 Sean Wang 2017-03-29  50  		       struct packet_type *pt, struct net_device *orig_dev)
2faad9d7 Sean Wang 2017-03-29  51  {
2faad9d7 Sean Wang 2017-03-29  52  	struct dsa_switch_tree *dst = dev->dsa_ptr;
2faad9d7 Sean Wang 2017-03-29  53  	struct dsa_switch *ds;
2faad9d7 Sean Wang 2017-03-29  54  	int port;
2faad9d7 Sean Wang 2017-03-29  55  	__be16 *phdr, hdr;
2faad9d7 Sean Wang 2017-03-29  56  
2faad9d7 Sean Wang 2017-03-29  57  	if (unlikely(!dst))
2faad9d7 Sean Wang 2017-03-29  58  		goto out_drop;
2faad9d7 Sean Wang 2017-03-29  59  
2faad9d7 Sean Wang 2017-03-29  60  	skb = skb_unshare(skb, GFP_ATOMIC);
2faad9d7 Sean Wang 2017-03-29  61  	if (!skb)
2faad9d7 Sean Wang 2017-03-29  62  		goto out;
2faad9d7 Sean Wang 2017-03-29  63  
2faad9d7 Sean Wang 2017-03-29  64  	if (unlikely(!pskb_may_pull(skb, MTK_HDR_LEN)))
2faad9d7 Sean Wang 2017-03-29  65  		goto out_drop;
2faad9d7 Sean Wang 2017-03-29  66  
2faad9d7 Sean Wang 2017-03-29  67  	/* The MTK header is added by the switch between src addr
2faad9d7 Sean Wang 2017-03-29  68  	 * and ethertype at this point, skb->data points to 2 bytes
2faad9d7 Sean Wang 2017-03-29  69  	 * after src addr so header should be 2 bytes right before.
2faad9d7 Sean Wang 2017-03-29  70  	 */
2faad9d7 Sean Wang 2017-03-29  71  	phdr = (__be16 *)(skb->data - 2);
2faad9d7 Sean Wang 2017-03-29  72  	hdr = ntohs(*phdr);
2faad9d7 Sean Wang 2017-03-29  73  
2faad9d7 Sean Wang 2017-03-29  74  	/* Remove MTK tag and recalculate checksum. */
2faad9d7 Sean Wang 2017-03-29  75  	skb_pull_rcsum(skb, MTK_HDR_LEN);
2faad9d7 Sean Wang 2017-03-29  76  
2faad9d7 Sean Wang 2017-03-29  77  	memmove(skb->data - ETH_HLEN,
2faad9d7 Sean Wang 2017-03-29  78  		skb->data - ETH_HLEN - MTK_HDR_LEN,
2faad9d7 Sean Wang 2017-03-29  79  		2 * ETH_ALEN);
2faad9d7 Sean Wang 2017-03-29  80  
2faad9d7 Sean Wang 2017-03-29  81  	/* This protocol doesn't support cascading multiple
2faad9d7 Sean Wang 2017-03-29  82  	 * switches so it's safe to assume the switch is first
2faad9d7 Sean Wang 2017-03-29  83  	 * in the tree.
2faad9d7 Sean Wang 2017-03-29  84  	 */
2faad9d7 Sean Wang 2017-03-29 @85  	ds = dst->ds[0];
2faad9d7 Sean Wang 2017-03-29  86  	if (!ds)
2faad9d7 Sean Wang 2017-03-29  87  		goto out_drop;
2faad9d7 Sean Wang 2017-03-29  88  
2faad9d7 Sean Wang 2017-03-29  89  	/* Get source port information */
2faad9d7 Sean Wang 2017-03-29  90  	port = (hdr & MTK_HDR_RECV_SOURCE_PORT_MASK);
2faad9d7 Sean Wang 2017-03-29 @91  	if (!ds->ports[port].netdev)
2faad9d7 Sean Wang 2017-03-29  92  		goto out_drop;
2faad9d7 Sean Wang 2017-03-29  93  
2faad9d7 Sean Wang 2017-03-29  94  	/* Update skb & forward the frame accordingly */

:::::: The code at line 91 was first introduced by commit
:::::: 2faad9d71e4c0544e3cf43b24439517c95df301f net-next: dsa: add Mediatek tag RX/TX handler

:::::: TO: Sean Wang <sean.wang@mediatek.com>
:::::: CC: 0day robot <fengguang.wu@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 61384 bytes --]

  parent reply	other threads:[~2017-04-03  1:17 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-29  9:38 [PATCH net-next v3 0/5] net-next: dsa: add Mediatek MT7530 support sean.wang
2017-03-29  9:38 ` sean.wang
2017-03-29  9:38 ` [PATCH net-next v3 1/5] dt-bindings: net: dsa: add Mediatek MT7530 binding sean.wang
2017-03-29  9:38   ` sean.wang
2017-03-29  9:38 ` [PATCH net-next v3 2/5] net-next: dsa: add Mediatek tag RX/TX handler sean.wang
2017-03-29  9:38   ` sean.wang-NuS5LvNUpcJWk0Htik3J/w
2017-03-29  9:38   ` sean.wang-NuS5LvNUpcJWk0Htik3J/w
2017-03-29  9:38 ` [PATCH net-next v3 3/5] net-next: ethernet: mediatek: add CDM able to recognize the tag for DSA sean.wang
2017-03-29  9:38   ` sean.wang
2017-03-29  9:38 ` [PATCH net-next v3 4/5] net-next: ethernet: mediatek: add device_node of GMAC pointing into the netdev instance sean.wang
2017-03-29  9:38   ` sean.wang
2017-03-29  9:38 ` [PATCH net-next v3 5/5] net-next: dsa: add dsa support for Mediatek MT7530 switch sean.wang
2017-03-29  9:38   ` sean.wang
2017-03-29 23:12   ` Andrew Lunn
2017-03-29 23:12     ` Andrew Lunn
2017-04-03  1:16   ` kbuild test robot [this message]
2017-04-03  1:16     ` kbuild test robot
2017-04-03  5:06   ` kbuild test robot
2017-04-03  5:06     ` kbuild test robot
2017-04-03  5:06     ` kbuild test robot
2017-05-24 11:17   ` Andrey Jr. Melnikov
2017-05-24 11:17     ` Andrey Jr. Melnikov
2017-05-24 13:20     ` Andrew Lunn
2017-05-24 14:44       ` Andrey Melnikov
2017-05-24 14:44         ` Andrey Melnikov
2017-05-26  5:54     ` Florian Fainelli
2017-05-26  5:54       ` Florian Fainelli
2017-05-29 10:44       ` Andrey Melnikov
2017-05-29 10:44         ` Andrey Melnikov
2017-05-29 15:29         ` Andrew Lunn
2017-05-29 15:29           ` Andrew Lunn

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=201704030934.ybmMFWw1%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=Landen.Chao@mediatek.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=kbuild-all@01.org \
    --cc=keyhaede@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=matthias.bgg@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=objelf@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=sean.wang@mediatek.com \
    --cc=vivien.didelot@savoirfairelinux.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 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.