From: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
To: Stefan Berger <stefanb@linux.vnet.ibm.com>
Cc: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>,
linux-integrity@vger.kernel.org,
David Howells <dhowells@redhat.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
"open list:INTEGRITY MEASUREMENT ARCHITECTURE IMA"
<linux-ima-user@lists.sourceforge.net>,
Dmitry Kasatkin <dmitry.kasatkin@gmail.com>,
open list <linux-kernel@vger.kernel.org>,
linux-security-module@vger.kernel.org,
"moderated list:TPM DEVICE DRIVER"
<tpmdd-devel@lists.sourceforge.net>,
"open list:KEYS-TRUSTED" <keyrings@vger.kernel.org>,
"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
<linux-crypto@vger.kernel.org>,
James Morris <james.l.morris@oracle.com>,
Matt Mackall <mpm@selenic.com>,
"open list:INTEGRITY MEASUREMENT ARCHITECTURE IMA"
<linux-ima-devel@lists.sourceforge.net>
Subject: Re: [tpmdd-devel] [PATCH] tpm: remove chip_num parameter from in-kernel API
Date: Mon, 23 Oct 2017 16:31:39 +0000 [thread overview]
Message-ID: <20171023163139.GA17394@obsidianresearch.com> (raw)
In-Reply-To: <cbcb78c6-fa36-32d3-891e-96544875d97c@linux.vnet.ibm.com>
On Mon, Oct 23, 2017 at 10:07:31AM -0400, Stefan Berger wrote:
> >-int tpm_pcr_extend(u32 chip_num, int pcr_idx, const u8 *hash)
> >+int tpm_pcr_extend(int pcr_idx, const u8 *hash)
> > {
>
>
> I think every kernel internal TPM driver API should be called with the
> tpm_chip as a parameter. This is in foresight of namespacing of IMA where we
> want to provide the flexibility of passing a dedicated vTPM to each
> namespace and IMA would use the chip as a parameter to all of these
> functions to talk to the right tpm_vtpm_proxy instance. From that
> perspective this patch goes into the wrong direction.
Yes, we should ultimately try and get to there.. Someday the
tpm_chip_find_get() will need to become namespace aware.
But this patch is along the right path, eliminating the chip_num is
the right thing to do..
> >- tpm2 = tpm_is_tpm2(TPM_ANY_NUM);
> >+ tpm2 = tpm_is_tpm2();
> > if (tpm2 < 0)
> > return tpm2;
> >
> >@@ -1008,7 +1007,7 @@ static int trusted_instantiate(struct key *key,
> > switch (key_cmd) {
> > case Opt_load:
> > if (tpm2)
> >- ret = tpm_unseal_trusted(TPM_ANY_NUM, payload, options);
> >+ ret = tpm_unseal_trusted(payload, options);
Sequences like this are sketchy.
It should be
struct tpm_chip *tpm;
tpm = tpm_chip_find_get()
tpm2 = tpm_is_tpm2(tpm);
[..]
if (tpm2)
ret = tpm_unseal_trusted(tpm, payload, options);
[..]
tpm_put_chip(tpm);
As hot plug could alter the 'tpm' between the two tpm calls.
Jason
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
To: Stefan Berger <stefanb@linux.vnet.ibm.com>
Cc: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>,
linux-integrity@vger.kernel.org,
David Howells <dhowells@redhat.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
"open list:INTEGRITY MEASUREMENT ARCHITECTURE IMA"
<linux-ima-user@lists.sourceforge.net>,
Dmitry Kasatkin <dmitry.kasatkin@gmail.com>,
open list <linux-kernel@vger.kernel.org>,
linux-security-module@vger.kernel.org,
"moderated list:TPM DEVICE DRIVER"
<tpmdd-devel@lists.sourceforge.net>,
"open list:KEYS-TRUSTED" <keyrings@vger.kernel.org>,
"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
<linux-crypto@vger.kernel.org>,
James Morris <james.l.morris@oracle.com>,
Matt Mackall <mpm@selenic.com>,
"open list:INTEGRITY MEASUREMENT ARCHITECTURE IMA"
<linux-ima-devel@lists.sourceforge.net>,
Subject: Re: [tpmdd-devel] [PATCH] tpm: remove chip_num parameter from in-kernel API
Date: Mon, 23 Oct 2017 10:31:39 -0600 [thread overview]
Message-ID: <20171023163139.GA17394@obsidianresearch.com> (raw)
In-Reply-To: <cbcb78c6-fa36-32d3-891e-96544875d97c@linux.vnet.ibm.com>
On Mon, Oct 23, 2017 at 10:07:31AM -0400, Stefan Berger wrote:
> >-int tpm_pcr_extend(u32 chip_num, int pcr_idx, const u8 *hash)
> >+int tpm_pcr_extend(int pcr_idx, const u8 *hash)
> > {
>
>
> I think every kernel internal TPM driver API should be called with the
> tpm_chip as a parameter. This is in foresight of namespacing of IMA where we
> want to provide the flexibility of passing a dedicated vTPM to each
> namespace and IMA would use the chip as a parameter to all of these
> functions to talk to the right tpm_vtpm_proxy instance. From that
> perspective this patch goes into the wrong direction.
Yes, we should ultimately try and get to there.. Someday the
tpm_chip_find_get() will need to become namespace aware.
But this patch is along the right path, eliminating the chip_num is
the right thing to do..
> >- tpm2 = tpm_is_tpm2(TPM_ANY_NUM);
> >+ tpm2 = tpm_is_tpm2();
> > if (tpm2 < 0)
> > return tpm2;
> >
> >@@ -1008,7 +1007,7 @@ static int trusted_instantiate(struct key *key,
> > switch (key_cmd) {
> > case Opt_load:
> > if (tpm2)
> >- ret = tpm_unseal_trusted(TPM_ANY_NUM, payload, options);
> >+ ret = tpm_unseal_trusted(payload, options);
Sequences like this are sketchy.
It should be
struct tpm_chip *tpm;
tpm = tpm_chip_find_get()
tpm2 = tpm_is_tpm2(tpm);
[..]
if (tpm2)
ret = tpm_unseal_trusted(tpm, payload, options);
[..]
tpm_put_chip(tpm);
As hot plug could alter the 'tpm' between the two tpm calls.
Jason
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
To: Stefan Berger <stefanb@linux.vnet.ibm.com>
Cc: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>,
linux-integrity@vger.kernel.org,
David Howells <dhowells@redhat.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
"open list:INTEGRITY MEASUREMENT ARCHITECTURE IMA"
<linux-ima-user@lists.sourceforge.net>,
Dmitry Kasatkin <dmitry.kasatkin@gmail.com>,
open list <linux-kernel@vger.kernel.org>,
linux-security-module@vger.kernel.org,
"moderated list:TPM DEVICE DRIVER"
<tpmdd-devel@lists.sourceforge.net>,
"open list:KEYS-TRUSTED" <keyrings@vger.kernel.org>,
"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
<linux-crypto@vger.kernel.org>,
James Morris <james.l.morris@oracle.com>,
Matt Mackall <mpm@selenic.com>,
"open list:INTEGRITY MEASUREMENT ARCHITECTURE IMA"
<linux-ima-devel@lists.sourceforge.net>,
David Safford <safford@us.ibm.com>,
Mimi Zohar <zohar@linux.vnet.ibm.com>,
"Serge E. Hallyn" <serge@hallyn.com>
Subject: Re: [tpmdd-devel] [PATCH] tpm: remove chip_num parameter from in-kernel API
Date: Mon, 23 Oct 2017 10:31:39 -0600 [thread overview]
Message-ID: <20171023163139.GA17394@obsidianresearch.com> (raw)
In-Reply-To: <cbcb78c6-fa36-32d3-891e-96544875d97c@linux.vnet.ibm.com>
On Mon, Oct 23, 2017 at 10:07:31AM -0400, Stefan Berger wrote:
> >-int tpm_pcr_extend(u32 chip_num, int pcr_idx, const u8 *hash)
> >+int tpm_pcr_extend(int pcr_idx, const u8 *hash)
> > {
>
>
> I think every kernel internal TPM driver API should be called with the
> tpm_chip as a parameter. This is in foresight of namespacing of IMA where we
> want to provide the flexibility of passing a dedicated vTPM to each
> namespace and IMA would use the chip as a parameter to all of these
> functions to talk to the right tpm_vtpm_proxy instance. From that
> perspective this patch goes into the wrong direction.
Yes, we should ultimately try and get to there.. Someday the
tpm_chip_find_get() will need to become namespace aware.
But this patch is along the right path, eliminating the chip_num is
the right thing to do..
> >- tpm2 = tpm_is_tpm2(TPM_ANY_NUM);
> >+ tpm2 = tpm_is_tpm2();
> > if (tpm2 < 0)
> > return tpm2;
> >
> >@@ -1008,7 +1007,7 @@ static int trusted_instantiate(struct key *key,
> > switch (key_cmd) {
> > case Opt_load:
> > if (tpm2)
> >- ret = tpm_unseal_trusted(TPM_ANY_NUM, payload, options);
> >+ ret = tpm_unseal_trusted(payload, options);
Sequences like this are sketchy.
It should be
struct tpm_chip *tpm;
tpm = tpm_chip_find_get()
tpm2 = tpm_is_tpm2(tpm);
[..]
if (tpm2)
ret = tpm_unseal_trusted(tpm, payload, options);
[..]
tpm_put_chip(tpm);
As hot plug could alter the 'tpm' between the two tpm calls.
Jason
WARNING: multiple messages have this Message-ID (diff)
From: jgunthorpe@obsidianresearch.com (Jason Gunthorpe)
To: linux-security-module@vger.kernel.org
Subject: [tpmdd-devel] [PATCH] tpm: remove chip_num parameter from in-kernel API
Date: Mon, 23 Oct 2017 10:31:39 -0600 [thread overview]
Message-ID: <20171023163139.GA17394@obsidianresearch.com> (raw)
In-Reply-To: <cbcb78c6-fa36-32d3-891e-96544875d97c@linux.vnet.ibm.com>
On Mon, Oct 23, 2017 at 10:07:31AM -0400, Stefan Berger wrote:
> >-int tpm_pcr_extend(u32 chip_num, int pcr_idx, const u8 *hash)
> >+int tpm_pcr_extend(int pcr_idx, const u8 *hash)
> > {
>
>
> I think every kernel internal TPM driver API should be called with the
> tpm_chip as a parameter. This is in foresight of namespacing of IMA where we
> want to provide the flexibility of passing a dedicated vTPM to each
> namespace and IMA would use the chip as a parameter to all of these
> functions to talk to the right tpm_vtpm_proxy instance. From that
> perspective this patch goes into the wrong direction.
Yes, we should ultimately try and get to there.. Someday the
tpm_chip_find_get() will need to become namespace aware.
But this patch is along the right path, eliminating the chip_num is
the right thing to do..
> >- tpm2 = tpm_is_tpm2(TPM_ANY_NUM);
> >+ tpm2 = tpm_is_tpm2();
> > if (tpm2 < 0)
> > return tpm2;
> >
> >@@ -1008,7 +1007,7 @@ static int trusted_instantiate(struct key *key,
> > switch (key_cmd) {
> > case Opt_load:
> > if (tpm2)
> >- ret = tpm_unseal_trusted(TPM_ANY_NUM, payload, options);
> >+ ret = tpm_unseal_trusted(payload, options);
Sequences like this are sketchy.
It should be
struct tpm_chip *tpm;
tpm = tpm_chip_find_get()
tpm2 = tpm_is_tpm2(tpm);
[..]
if (tpm2)
ret = tpm_unseal_trusted(tpm, payload, options);
[..]
tpm_put_chip(tpm);
As hot plug could alter the 'tpm' between the two tpm calls.
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
To: Stefan Berger <stefanb@linux.vnet.ibm.com>
Cc: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>,
linux-integrity@vger.kernel.org,
David Howells <dhowells@redhat.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
"open list:INTEGRITY MEASUREMENT ARCHITECTURE IMA"
<linux-ima-user@lists.sourceforge.net>,
Dmitry Kasatkin <dmitry.kasatkin@gmail.com>,
open list <linux-kernel@vger.kernel.org>,
linux-security-module@vger.kernel.org,
"moderated list:TPM DEVICE DRIVER"
<tpmdd-devel@lists.sourceforge.net>,
"open list:KEYS-TRUSTED" <keyrings@vger.kernel.org>,
"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
<linux-crypto@vger.kernel.org>,
James Morris <james.l.morris@oracle.com>,
Matt Mackall <mpm@selenic.com>,
"open list:INTEGRITY MEASUREMENT ARCHITECTURE IMA"
<linux-ima-devel@lists.sourceforge.net>
Subject: Re: [tpmdd-devel] [PATCH] tpm: remove chip_num parameter from in-kernel API
Date: Mon, 23 Oct 2017 10:31:39 -0600 [thread overview]
Message-ID: <20171023163139.GA17394@obsidianresearch.com> (raw)
In-Reply-To: <cbcb78c6-fa36-32d3-891e-96544875d97c@linux.vnet.ibm.com>
On Mon, Oct 23, 2017 at 10:07:31AM -0400, Stefan Berger wrote:
> >-int tpm_pcr_extend(u32 chip_num, int pcr_idx, const u8 *hash)
> >+int tpm_pcr_extend(int pcr_idx, const u8 *hash)
> > {
>
>
> I think every kernel internal TPM driver API should be called with the
> tpm_chip as a parameter. This is in foresight of namespacing of IMA where we
> want to provide the flexibility of passing a dedicated vTPM to each
> namespace and IMA would use the chip as a parameter to all of these
> functions to talk to the right tpm_vtpm_proxy instance. From that
> perspective this patch goes into the wrong direction.
Yes, we should ultimately try and get to there.. Someday the
tpm_chip_find_get() will need to become namespace aware.
But this patch is along the right path, eliminating the chip_num is
the right thing to do..
> >- tpm2 = tpm_is_tpm2(TPM_ANY_NUM);
> >+ tpm2 = tpm_is_tpm2();
> > if (tpm2 < 0)
> > return tpm2;
> >
> >@@ -1008,7 +1007,7 @@ static int trusted_instantiate(struct key *key,
> > switch (key_cmd) {
> > case Opt_load:
> > if (tpm2)
> >- ret = tpm_unseal_trusted(TPM_ANY_NUM, payload, options);
> >+ ret = tpm_unseal_trusted(payload, options);
Sequences like this are sketchy.
It should be
struct tpm_chip *tpm;
tpm = tpm_chip_find_get()
tpm2 = tpm_is_tpm2(tpm);
[..]
if (tpm2)
ret = tpm_unseal_trusted(tpm, payload, options);
[..]
tpm_put_chip(tpm);
As hot plug could alter the 'tpm' between the two tpm calls.
Jason
next prev parent reply other threads:[~2017-10-23 16:31 UTC|newest]
Thread overview: 123+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-23 12:38 [PATCH] tpm: remove chip_num parameter from in-kernel API Jarkko Sakkinen
2017-10-23 12:38 ` Jarkko Sakkinen
2017-10-23 12:38 ` Jarkko Sakkinen
2017-10-23 12:38 ` Jarkko Sakkinen
2017-10-23 12:38 ` Jarkko Sakkinen
2017-10-23 14:07 ` [tpmdd-devel] " Stefan Berger
2017-10-23 14:07 ` Stefan Berger
2017-10-23 14:07 ` Stefan Berger
2017-10-23 14:07 ` Stefan Berger
2017-10-23 14:07 ` Stefan Berger
2017-10-23 16:31 ` Jason Gunthorpe [this message]
2017-10-23 16:31 ` Jason Gunthorpe
2017-10-23 16:31 ` Jason Gunthorpe
2017-10-23 16:31 ` Jason Gunthorpe
2017-10-23 16:31 ` Jason Gunthorpe
2017-10-24 15:44 ` Jarkko Sakkinen
2017-10-24 15:44 ` Jarkko Sakkinen
2017-10-24 15:44 ` Jarkko Sakkinen
2017-10-24 15:44 ` Jarkko Sakkinen
2017-10-24 15:44 ` Jarkko Sakkinen
[not found] ` <20171024154440.3jeupmus43jcgbbz-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-10-24 15:51 ` PrasannaKumar Muralidharan
2017-10-24 15:51 ` [tpmdd-devel] " PrasannaKumar Muralidharan
2017-10-24 15:51 ` PrasannaKumar Muralidharan
2017-10-24 15:51 ` PrasannaKumar Muralidharan
2017-10-24 15:55 ` Jason Gunthorpe
2017-10-24 15:55 ` Jason Gunthorpe
2017-10-24 15:55 ` Jason Gunthorpe
2017-10-24 15:55 ` Jason Gunthorpe
2017-10-24 15:55 ` Jason Gunthorpe
2017-10-24 16:07 ` PrasannaKumar Muralidharan
2017-10-24 16:19 ` PrasannaKumar Muralidharan
2017-10-24 16:07 ` PrasannaKumar Muralidharan
2017-10-24 16:07 ` PrasannaKumar Muralidharan
2017-10-24 16:07 ` PrasannaKumar Muralidharan
2017-10-24 16:11 ` Jason Gunthorpe
2017-10-24 16:11 ` Jason Gunthorpe
2017-10-24 16:11 ` Jason Gunthorpe
2017-10-24 16:11 ` Jason Gunthorpe
2017-10-24 16:11 ` Jason Gunthorpe
2017-10-24 16:14 ` PrasannaKumar Muralidharan
2017-10-24 16:26 ` PrasannaKumar Muralidharan
2017-10-24 16:14 ` PrasannaKumar Muralidharan
2017-10-24 16:14 ` PrasannaKumar Muralidharan
2017-10-24 16:14 ` PrasannaKumar Muralidharan
2017-10-24 17:46 ` Jason Gunthorpe
2017-10-24 17:46 ` Jason Gunthorpe
2017-10-24 17:46 ` Jason Gunthorpe
2017-10-24 17:46 ` Jason Gunthorpe
2017-10-24 17:46 ` Jason Gunthorpe
2017-10-24 17:56 ` PrasannaKumar Muralidharan
2017-10-24 17:56 ` PrasannaKumar Muralidharan
2017-10-24 17:56 ` PrasannaKumar Muralidharan
2017-10-24 17:56 ` PrasannaKumar Muralidharan
2017-10-24 17:56 ` PrasannaKumar Muralidharan
2017-10-24 17:02 ` Dmitry Torokhov
2017-10-24 17:02 ` Dmitry Torokhov
2017-10-24 17:02 ` Dmitry Torokhov
2017-10-24 17:02 ` Dmitry Torokhov
2017-10-24 17:02 ` Dmitry Torokhov
2017-10-24 17:37 ` Jason Gunthorpe
2017-10-24 17:37 ` Jason Gunthorpe
2017-10-24 17:37 ` Jason Gunthorpe
2017-10-24 17:37 ` Jason Gunthorpe
2017-10-24 17:37 ` Jason Gunthorpe
2017-10-24 17:44 ` PrasannaKumar Muralidharan
2017-10-24 17:56 ` PrasannaKumar Muralidharan
2017-10-24 17:44 ` PrasannaKumar Muralidharan
2017-10-24 17:44 ` PrasannaKumar Muralidharan
2017-10-24 17:44 ` PrasannaKumar Muralidharan
[not found] ` <20171024173757.GA1806-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-10-24 18:04 ` Dmitry Torokhov
2017-10-24 18:04 ` Dmitry Torokhov
2017-10-24 18:04 ` [tpmdd-devel] " Dmitry Torokhov
2017-10-24 18:04 ` Dmitry Torokhov
2017-10-24 18:04 ` Dmitry Torokhov
2017-10-24 18:15 ` [tpmdd-devel] " Jarkko Sakkinen
2017-10-24 18:15 ` Jarkko Sakkinen
2017-10-24 18:15 ` Jarkko Sakkinen
2017-10-24 18:15 ` Jarkko Sakkinen
2017-10-24 18:15 ` Jarkko Sakkinen
[not found] ` <20171024181512.iaxtzgxexhki7aqr-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-10-24 18:40 ` Peter Huewe
2017-10-24 18:40 ` Peter Huewe
2017-10-24 18:40 ` [tpmdd-devel] " Peter Huewe
2017-10-24 18:40 ` Peter Huewe
2017-10-24 18:40 ` Peter Huewe
2017-10-24 16:23 ` [tpmdd-devel] " Jarkko Sakkinen
2017-10-24 16:23 ` Jarkko Sakkinen
2017-10-24 16:23 ` Jarkko Sakkinen
2017-10-24 16:23 ` Jarkko Sakkinen
2017-10-24 16:23 ` Jarkko Sakkinen
2017-10-24 16:35 ` PrasannaKumar Muralidharan
2017-10-24 16:47 ` PrasannaKumar Muralidharan
2017-10-24 16:35 ` PrasannaKumar Muralidharan
2017-10-24 16:35 ` PrasannaKumar Muralidharan
2017-10-24 16:35 ` PrasannaKumar Muralidharan
[not found] ` <CANc+2y4vtr+kbhC_7Rv=rHA2LgEVBHLFEu+DYYK1UmpU63PCgQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-10-24 18:22 ` Jarkko Sakkinen
2017-10-24 18:22 ` Jarkko Sakkinen
2017-10-24 18:22 ` Jarkko Sakkinen
2017-10-24 18:22 ` Jarkko Sakkinen
[not found] ` <20171024182235.d7b3oajc5zcjs57v-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-10-25 14:51 ` PrasannaKumar Muralidharan
2017-10-25 14:51 ` [tpmdd-devel] " PrasannaKumar Muralidharan
2017-10-25 14:51 ` PrasannaKumar Muralidharan
2017-10-25 14:51 ` PrasannaKumar Muralidharan
2017-10-25 19:11 ` Jarkko Sakkinen
2017-10-25 19:11 ` Jarkko Sakkinen
2017-10-25 19:11 ` Jarkko Sakkinen
2017-10-25 19:11 ` Jarkko Sakkinen
2017-10-25 19:11 ` Jarkko Sakkinen
2017-10-26 16:23 ` PrasannaKumar Muralidharan
2017-10-26 16:35 ` PrasannaKumar Muralidharan
2017-10-26 16:23 ` PrasannaKumar Muralidharan
2017-10-26 16:23 ` PrasannaKumar Muralidharan
2017-10-26 16:23 ` PrasannaKumar Muralidharan
2017-10-24 14:04 ` Jarkko Sakkinen
2017-10-24 14:04 ` Jarkko Sakkinen
2017-10-24 14:04 ` Jarkko Sakkinen
2017-10-24 14:04 ` Jarkko Sakkinen
2017-10-24 14:04 ` Jarkko Sakkinen
2017-10-24 18:52 ` Jason Gunthorpe
2017-10-24 18:52 ` Jason Gunthorpe
2017-10-24 18:52 ` Jason Gunthorpe
2017-10-24 22:27 ` Jarkko Sakkinen
2017-10-24 22:27 ` Jarkko Sakkinen
2017-10-24 22:27 ` Jarkko Sakkinen
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=20171023163139.GA17394@obsidianresearch.com \
--to=jgunthorpe@obsidianresearch.com \
--cc=dhowells@redhat.com \
--cc=dmitry.kasatkin@gmail.com \
--cc=herbert@gondor.apana.org.au \
--cc=james.l.morris@oracle.com \
--cc=jarkko.sakkinen@linux.intel.com \
--cc=keyrings@vger.kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-ima-devel@lists.sourceforge.net \
--cc=linux-ima-user@lists.sourceforge.net \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=mpm@selenic.com \
--cc=stefanb@linux.vnet.ibm.com \
--cc=tpmdd-devel@lists.sourceforge.net \
/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.