All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Arnd Bergmann" <arnd@arndb.de>
To: "Artur Rojek" <contact@artur-rojek.eu>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>
Cc: linux-fbdev@vger.kernel.org, linux-ia64@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
	sparclinux@vger.kernel.org, WANG Xuerui <kernel@xen0n.name>,
	Sam Ravnborg <sam@ravnborg.org>,
	Linux-Arch <linux-arch@vger.kernel.org>,
	kernel test robot <lkp@intel.com>, Helge Deller <deller@gmx.de>,
	Huacai Chen <chenhuacai@kernel.org>,
	Javier Martinez Canillas <javierm@redhat.com>,
	Vineet Gupta <vgupta@kernel.org>,
	linux-snps-arc@lists.infradead.org, suijingfeng@loongson.cn,
	linux-m68k@lists.linux-m68k.org, loongarch@lists.linux.dev,
	oe-kbuild-all@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org,
	linux-parisc@vger.kernel.org, linux-kernel@vger.kernel.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	"David S . Miller" <davem@davemloft.net>
Subject: Re: [PATCH v6 5/6] fbdev: Move framebuffer I/O helpers into <asm/fb.h>
Date: Thu, 11 May 2023 15:40:28 +0200	[thread overview]
Message-ID: <d27e359c-1ea3-4d08-b124-e794fd372b28@app.fastmail.com> (raw)
In-Reply-To: <9c4be198444e9987c826c87b592e9dc6@artur-rojek.eu>

On Thu, May 11, 2023, at 15:22, Artur Rojek wrote:
> On 2023-05-11 14:35, Geert Uytterhoeven wrote:
>> 
>> CC Artur, who's working on HP Jornada 680.
> Thanks for CC'ing me - I faced this exact issue while working on my
> (still not upstreamed) hd6446x PCMCIA controller driver. The PCMCIA
> subsystem uses `inb/outb`, which expect the `sh_io_port_base` to be set
> to something else than the default `-1`. At first I tried to set it to
> `0xa0000000`, so that all I/O goes through the fixed, non-cacheable P2
> area. That however broke some other driver code (I had no time to debug
> which one). Eventually I ended up taking a suggestion from a MIPS PCMCIA
> driver [1] and simply substract the broken `sh_io_port_base` address
> from `HD64461_IOBASE`, as the base for `socket.io_offset`. This way all
> the PCMCIA `inb/outb` accesses are absolute, no matter what the
> `sh_io_port_base` is set to. This of course is a very ugly solution and
> we should instead fix the root cause of this mess. I will have a better
> look at this patch set and the problem at hand at a later date.
>
> Cheers,
> Artur
>
> [1] 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pcmcia/db1xxx_ss.c?h=v6.4-rc1#n527

I think the best fix would be to change all those drivers away
from using inb/outb to readb/writeb, except when they access the
actual PCMCIA I/O space behind the bridge.

On most of the modern architectures, inb(addr) now turns into
approximately readb(PCI_IOBASE + addr), with a bit of extra
logic to deal with endianess and barrier semantics.

PCI_IOBASE in turn tends to be a hardcoded virtual address
to which the physical I/O space window gets mapped during
early boot, though you can also #define it to sh_io_port_base
if you want to allocate the virtual address dynamically and
leave the existing logic unchanged.

Setting sh_io_port_base to zero however is a problem for any
driver that passes a small port number into it -- this then
turns into a user space pointer dereference, which is trivially
exploitable.

     Arnd

WARNING: multiple messages have this Message-ID (diff)
From: "Arnd Bergmann" <arnd@arndb.de>
To: "Artur Rojek" <contact@artur-rojek.eu>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>
Cc: "Thomas Zimmermann" <tzimmermann@suse.de>,
	"kernel test robot" <lkp@intel.com>,
	"Helge Deller" <deller@gmx.de>,
	"Javier Martinez Canillas" <javierm@redhat.com>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Vineet Gupta" <vgupta@kernel.org>,
	"Huacai Chen" <chenhuacai@kernel.org>,
	"WANG Xuerui" <kernel@xen0n.name>,
	"David S . Miller" <davem@davemloft.net>,
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
	"Sam Ravnborg" <sam@ravnborg.org>,
	suijingfeng@loongson.cn, oe-kbuild-all@lists.linux.dev,
	Linux-Arch <linux-arch@vger.kernel.org>,
	linux-fbdev@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-parisc@vger.kernel.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org, linux-m68k@lists.linux-m68k.org,
	loongarch@lists.linux.dev, sparclinux@vger.kernel.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v6 5/6] fbdev: Move framebuffer I/O helpers into <asm/fb.h>
Date: Thu, 11 May 2023 15:40:28 +0200	[thread overview]
Message-ID: <d27e359c-1ea3-4d08-b124-e794fd372b28@app.fastmail.com> (raw)
In-Reply-To: <9c4be198444e9987c826c87b592e9dc6@artur-rojek.eu>

On Thu, May 11, 2023, at 15:22, Artur Rojek wrote:
> On 2023-05-11 14:35, Geert Uytterhoeven wrote:
>> 
>> CC Artur, who's working on HP Jornada 680.
> Thanks for CC'ing me - I faced this exact issue while working on my
> (still not upstreamed) hd6446x PCMCIA controller driver. The PCMCIA
> subsystem uses `inb/outb`, which expect the `sh_io_port_base` to be set
> to something else than the default `-1`. At first I tried to set it to
> `0xa0000000`, so that all I/O goes through the fixed, non-cacheable P2
> area. That however broke some other driver code (I had no time to debug
> which one). Eventually I ended up taking a suggestion from a MIPS PCMCIA
> driver [1] and simply substract the broken `sh_io_port_base` address
> from `HD64461_IOBASE`, as the base for `socket.io_offset`. This way all
> the PCMCIA `inb/outb` accesses are absolute, no matter what the
> `sh_io_port_base` is set to. This of course is a very ugly solution and
> we should instead fix the root cause of this mess. I will have a better
> look at this patch set and the problem at hand at a later date.
>
> Cheers,
> Artur
>
> [1] 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pcmcia/db1xxx_ss.c?h=v6.4-rc1#n527

I think the best fix would be to change all those drivers away
from using inb/outb to readb/writeb, except when they access the
actual PCMCIA I/O space behind the bridge.

On most of the modern architectures, inb(addr) now turns into
approximately readb(PCI_IOBASE + addr), with a bit of extra
logic to deal with endianess and barrier semantics.

PCI_IOBASE in turn tends to be a hardcoded virtual address
to which the physical I/O space window gets mapped during
early boot, though you can also #define it to sh_io_port_base
if you want to allocate the virtual address dynamically and
leave the existing logic unchanged.

Setting sh_io_port_base to zero however is a problem for any
driver that passes a small port number into it -- this then
turns into a user space pointer dereference, which is trivially
exploitable.

     Arnd

WARNING: multiple messages have this Message-ID (diff)
From: "Arnd Bergmann" <arnd@arndb.de>
To: "Artur Rojek" <contact@artur-rojek.eu>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>
Cc: "Thomas Zimmermann" <tzimmermann@suse.de>,
	"kernel test robot" <lkp@intel.com>,
	"Helge Deller" <deller@gmx.de>,
	"Javier Martinez Canillas" <javierm@redhat.com>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Vineet Gupta" <vgupta@kernel.org>,
	"Huacai Chen" <chenhuacai@kernel.org>,
	"WANG Xuerui" <kernel@xen0n.name>,
	"David S . Miller" <davem@davemloft.net>,
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
	"Sam Ravnborg" <sam@ravnborg.org>,
	suijingfeng@loongson.cn, oe-kbuild-all@lists.linux.dev,
	Linux-Arch <linux-arch@vger.kernel.org>,
	linux-fbdev@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-parisc@vger.kernel.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org, linux-m68k@lists.linux-m68k.org,
	loongarch@lists.linux.dev, sparclinux@vger.kernel.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v6 5/6] fbdev: Move framebuffer I/O helpers into <asm/fb.h>
Date: Thu, 11 May 2023 15:40:28 +0200	[thread overview]
Message-ID: <d27e359c-1ea3-4d08-b124-e794fd372b28@app.fastmail.com> (raw)
In-Reply-To: <9c4be198444e9987c826c87b592e9dc6@artur-rojek.eu>

On Thu, May 11, 2023, at 15:22, Artur Rojek wrote:
> On 2023-05-11 14:35, Geert Uytterhoeven wrote:
>> 
>> CC Artur, who's working on HP Jornada 680.
> Thanks for CC'ing me - I faced this exact issue while working on my
> (still not upstreamed) hd6446x PCMCIA controller driver. The PCMCIA
> subsystem uses `inb/outb`, which expect the `sh_io_port_base` to be set
> to something else than the default `-1`. At first I tried to set it to
> `0xa0000000`, so that all I/O goes through the fixed, non-cacheable P2
> area. That however broke some other driver code (I had no time to debug
> which one). Eventually I ended up taking a suggestion from a MIPS PCMCIA
> driver [1] and simply substract the broken `sh_io_port_base` address
> from `HD64461_IOBASE`, as the base for `socket.io_offset`. This way all
> the PCMCIA `inb/outb` accesses are absolute, no matter what the
> `sh_io_port_base` is set to. This of course is a very ugly solution and
> we should instead fix the root cause of this mess. I will have a better
> look at this patch set and the problem at hand at a later date.
>
> Cheers,
> Artur
>
> [1] 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pcmcia/db1xxx_ss.c?h=v6.4-rc1#n527

I think the best fix would be to change all those drivers away
from using inb/outb to readb/writeb, except when they access the
actual PCMCIA I/O space behind the bridge.

On most of the modern architectures, inb(addr) now turns into
approximately readb(PCI_IOBASE + addr), with a bit of extra
logic to deal with endianess and barrier semantics.

PCI_IOBASE in turn tends to be a hardcoded virtual address
to which the physical I/O space window gets mapped during
early boot, though you can also #define it to sh_io_port_base
if you want to allocate the virtual address dynamically and
leave the existing logic unchanged.

Setting sh_io_port_base to zero however is a problem for any
driver that passes a small port number into it -- this then
turns into a user space pointer dereference, which is trivially
exploitable.

     Arnd

_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc

WARNING: multiple messages have this Message-ID (diff)
From: "Arnd Bergmann" <arnd@arndb.de>
To: Artur Rojek <contact@artur-rojek.eu>,
	Geert Uytterhoeven <geert@linux-m68k.org>
Cc: linux-fbdev@vger.kernel.org, linux-ia64@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
	sparclinux@vger.kernel.org, WANG Xuerui <kernel@xen0n.name>,
	Sam Ravnborg <sam@ravnborg.org>,
	Linux-Arch <linux-arch@vger.kernel.org>,
	kernel test robot <lkp@intel.com>, Helge Deller <deller@gmx.de>,
	Huacai Chen <chenhuacai@kernel.org>,
	Javier Martinez Canillas <javierm@redhat.com>,
	Vineet Gupta <vgupta@kernel.org>,
	linux-snps-arc@lists.infradead.org, suijingfeng@loongson.cn,
	linux-m68k@lists.linux-m68k.org, loongarch@lists.linux.dev,
	oe-kbuild-all@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org,
	linux-parisc@vger.kernel.org, linux-kernel@vger.kernel.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	"David S . Miller" <davem@davemloft.net>
Subject: Re: [PATCH v6 5/6] fbdev: Move framebuffer I/O helpers into <asm/fb.h>
Date: Thu, 11 May 2023 13:40:28 +0000	[thread overview]
Message-ID: <d27e359c-1ea3-4d08-b124-e794fd372b28@app.fastmail.com> (raw)
In-Reply-To: <9c4be198444e9987c826c87b592e9dc6@artur-rojek.eu>

On Thu, May 11, 2023, at 15:22, Artur Rojek wrote:
> On 2023-05-11 14:35, Geert Uytterhoeven wrote:
>> 
>> CC Artur, who's working on HP Jornada 680.
> Thanks for CC'ing me - I faced this exact issue while working on my
> (still not upstreamed) hd6446x PCMCIA controller driver. The PCMCIA
> subsystem uses `inb/outb`, which expect the `sh_io_port_base` to be set
> to something else than the default `-1`. At first I tried to set it to
> `0xa0000000`, so that all I/O goes through the fixed, non-cacheable P2
> area. That however broke some other driver code (I had no time to debug
> which one). Eventually I ended up taking a suggestion from a MIPS PCMCIA
> driver [1] and simply substract the broken `sh_io_port_base` address
> from `HD64461_IOBASE`, as the base for `socket.io_offset`. This way all
> the PCMCIA `inb/outb` accesses are absolute, no matter what the
> `sh_io_port_base` is set to. This of course is a very ugly solution and
> we should instead fix the root cause of this mess. I will have a better
> look at this patch set and the problem at hand at a later date.
>
> Cheers,
> Artur
>
> [1] 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pcmcia/db1xxx_ss.c?h=v6.4-rc1#n527

I think the best fix would be to change all those drivers away
from using inb/outb to readb/writeb, except when they access the
actual PCMCIA I/O space behind the bridge.

On most of the modern architectures, inb(addr) now turns into
approximately readb(PCI_IOBASE + addr), with a bit of extra
logic to deal with endianess and barrier semantics.

PCI_IOBASE in turn tends to be a hardcoded virtual address
to which the physical I/O space window gets mapped during
early boot, though you can also #define it to sh_io_port_base
if you want to allocate the virtual address dynamically and
leave the existing logic unchanged.

Setting sh_io_port_base to zero however is a problem for any
driver that passes a small port number into it -- this then
turns into a user space pointer dereference, which is trivially
exploitable.

     Arnd

  reply	other threads:[~2023-05-11 13:41 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-10 11:05 [PATCH v6 0/6] fbdev: Move framebuffer I/O helpers to <asm/fb.h> Thomas Zimmermann
2023-05-10 11:05 ` Thomas Zimmermann
2023-05-10 11:05 ` Thomas Zimmermann
2023-05-10 11:05 ` Thomas Zimmermann
2023-05-10 11:05 ` [PATCH v6 1/6] fbdev/matrox: Remove trailing whitespaces Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 18:20   ` Sui Jingfeng
2023-05-10 18:20     ` Sui Jingfeng
2023-05-10 18:20     ` Sui Jingfeng
2023-05-11  7:55     ` Thomas Zimmermann
2023-05-11  7:55       ` Thomas Zimmermann
2023-05-11  7:55       ` Thomas Zimmermann
2023-05-11  7:55       ` Thomas Zimmermann
2023-05-11  9:24       ` Sui Jingfeng
2023-05-11  9:24         ` Sui Jingfeng
2023-05-11  9:24         ` Sui Jingfeng
2023-05-11 13:05       ` Helge Deller
2023-05-11 13:05         ` Helge Deller
2023-05-11 13:05         ` Helge Deller
2023-05-11 13:05         ` Helge Deller
2023-05-11 13:10         ` Geert Uytterhoeven
2023-05-11 13:10           ` Geert Uytterhoeven
2023-05-11 13:10           ` Geert Uytterhoeven
2023-05-11 13:10           ` Geert Uytterhoeven
2023-05-11 16:23           ` Helge Deller
2023-05-11 16:23             ` Helge Deller
2023-05-11 16:23             ` Helge Deller
2023-05-11 16:23             ` Helge Deller
2023-05-11 14:27         ` Thomas Zimmermann
2023-05-11 14:27           ` Thomas Zimmermann
2023-05-11 14:27           ` Thomas Zimmermann
2023-05-11 14:27           ` Thomas Zimmermann
2023-05-11 17:02           ` Helge Deller
2023-05-11 17:02             ` Helge Deller
2023-05-11 17:02             ` Helge Deller
2023-05-11 17:02             ` Helge Deller
2023-05-12  7:14             ` Thomas Zimmermann
2023-05-12  7:14               ` Thomas Zimmermann
2023-05-12  7:14               ` Thomas Zimmermann
2023-05-12  7:14               ` Thomas Zimmermann
2023-05-12 10:04           ` Finn Thain
2023-05-12 10:04             ` Finn Thain
2023-05-12 10:04             ` Finn Thain
2023-05-12 10:04             ` Finn Thain
2023-05-10 11:05 ` [PATCH v6 2/6] ipu-v3: Include <linux/io.h> Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05 ` [PATCH v6 3/6] fbdev: Include <linux/io.h> in various drivers Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05 ` [PATCH v6 4/6] fbdev: Include <linux/fb.h> instead of <asm/fb.h> Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05 ` [PATCH v6 5/6] fbdev: Move framebuffer I/O helpers into <asm/fb.h> Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 12:34   ` Geert Uytterhoeven
2023-05-10 12:34     ` Geert Uytterhoeven
2023-05-10 12:34     ` Geert Uytterhoeven
2023-05-10 12:34     ` Geert Uytterhoeven
2023-05-10 14:20     ` Thomas Zimmermann
2023-05-10 14:20       ` Thomas Zimmermann
2023-05-10 14:20       ` Thomas Zimmermann
2023-05-10 14:20       ` Thomas Zimmermann
2023-05-10 14:34       ` Geert Uytterhoeven
2023-05-10 14:34         ` Geert Uytterhoeven
2023-05-10 14:34         ` Geert Uytterhoeven
2023-05-10 14:34         ` Geert Uytterhoeven
2023-05-10 15:11         ` Thomas Zimmermann
2023-05-10 15:11           ` Thomas Zimmermann
2023-05-10 15:11           ` Thomas Zimmermann
2023-05-10 15:11           ` Thomas Zimmermann
2023-05-10 14:03   ` kernel test robot
2023-05-10 14:03     ` kernel test robot
2023-05-10 14:03     ` kernel test robot
2023-05-10 14:03     ` kernel test robot
2023-05-10 14:15     ` Arnd Bergmann
2023-05-10 14:15       ` Arnd Bergmann
2023-05-10 14:15       ` Arnd Bergmann
2023-05-10 14:15       ` Arnd Bergmann
2023-05-10 14:27       ` Thomas Zimmermann
2023-05-10 14:27         ` Thomas Zimmermann
2023-05-10 14:27         ` Thomas Zimmermann
2023-05-10 14:27         ` Thomas Zimmermann
2023-05-10 15:54         ` Arnd Bergmann
2023-05-10 15:54           ` Arnd Bergmann
2023-05-10 15:54           ` Arnd Bergmann
2023-05-10 15:54           ` Arnd Bergmann
2023-05-11 10:53           ` Thomas Zimmermann
2023-05-11 10:53             ` Thomas Zimmermann
2023-05-11 10:53             ` Thomas Zimmermann
2023-05-11 12:35           ` Geert Uytterhoeven
2023-05-11 12:35             ` Geert Uytterhoeven
2023-05-11 12:35             ` Geert Uytterhoeven
2023-05-11 12:35             ` Geert Uytterhoeven
2023-05-11 12:48             ` Arnd Bergmann
2023-05-11 12:48               ` Arnd Bergmann
2023-05-11 12:48               ` Arnd Bergmann
2023-05-11 12:48               ` Arnd Bergmann
2023-05-11 13:22             ` Artur Rojek
2023-05-11 13:22               ` Artur Rojek
2023-05-11 13:22               ` Artur Rojek
2023-05-11 13:22               ` Artur Rojek
2023-05-11 13:40               ` Arnd Bergmann [this message]
2023-05-11 13:40                 ` Arnd Bergmann
2023-05-11 13:40                 ` Arnd Bergmann
2023-05-11 13:40                 ` Arnd Bergmann
2023-05-11 13:12           ` Thomas Zimmermann
2023-05-11 13:12             ` Thomas Zimmermann
2023-05-11 13:12             ` Thomas Zimmermann
2023-05-10 11:05 ` [PATCH v6 6/6] fbdev: Rename fb_mem*() helpers Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann
2023-05-10 11:05   ` Thomas Zimmermann

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=d27e359c-1ea3-4d08-b124-e794fd372b28@app.fastmail.com \
    --to=arnd@arndb.de \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=chenhuacai@kernel.org \
    --cc=contact@artur-rojek.eu \
    --cc=davem@davemloft.net \
    --cc=deller@gmx.de \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=geert@linux-m68k.org \
    --cc=javierm@redhat.com \
    --cc=kernel@xen0n.name \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-snps-arc@lists.infradead.org \
    --cc=lkp@intel.com \
    --cc=loongarch@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=sam@ravnborg.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=suijingfeng@loongson.cn \
    --cc=tzimmermann@suse.de \
    --cc=vgupta@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 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.