On 5/27/20 5:30 PM, Jarkko Sakkinen wrote:
>> This won't help if the message is read by an async tcti. If the problem lies
>> in the chip get locality code, perhaps this could help to debug the
>> root-cause
>> instead of masking it out in the upper layer code:
> What is TCTI and async TCTI? Not f
On 5/26/20 1:00 PM, James Bottomley wrote:
> I don't think there is a root cause other than a TIS TPM is getting
> annoyed by us cycling localities too rapidly because we don't do an
> actual TPM operation between request and relinquish. Since the first
> request/relinquish seems unnecessary for t
On 5/26/20 12:14 PM, James Bottomley wrote:
> + /* atomic tpm command send and result receive. We only hold the ops
> + * lock during this period so that the tpm can be unregistered even if
> + * the char dev is held open.
> + */
> + if (tpm_try_get_ops(priv->chip)) {
> +
devm_kcalloc() can fail and return NULL so we need to check for that.
Fixes: 58472f5cd4f6f ("tpm: validate TPM 2.0 commands")
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm2-cmd.c |4
1 file changed, 4 insertions(+)
diff --git a/drivers/char/tpm/tpm2-cmd.c b/driver
On 3/28/19 5:34 AM, Jarkko Sakkinen wrote:
> Thank you, it is applied.
Thank you Jarkko.
--
Tadeusz
: add support for partial reads")
Reported-by: Mantas Mikulėnas
Tested-by: Mantas Mikulėnas
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev-common.c |9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/char/tpm/tpm-dev-common.c
b/drivers/char/t
Hi Jarkko,
On 3/25/19 7:09 AM, Jarkko Sakkinen wrote:
> It is still missing the comment I asked to add. Otherwise, it is good.
>
Sorry, I didn't see your email with the suggestion earlier.
To be honest I'm not sure if this comment adds much value, or if it is
even correct. The poll doesn't "succe
: add support for partial reads")
Reported-by: Mantas Mikulėnas
Tested-by: Mantas Mikulėnas
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev-common.c |4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/char/tpm/tpm-dev-common.c
b/drivers/char/tpm/tpm-de
reads")
Reported-by: Mantas Mikulėnas
Tested-by: Mantas Mikulėnas
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev-common.c |4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/char/tpm/tpm-dev-common.c
b/drivers/char/tpm/tpm-dev-common.c
index 5e
On 3/20/19 11:51 AM, Mantas Mikulėnas wrote:
> Thanks, this patch seems to work, and I apologize for not responding
> to test the patches earlier.
Thanks for testing.
>
> Any chance it'll be submitted for stable 5.0.x as well?
Yes, it's a regression. I included the "Fixes" tag so
it should be a
On 3/20/19 7:30 AM, James Bottomley wrote:
> Just an observation on this: the mutex is now no-longer necessary
> because a read on a size_t quantity is always atomic.
True, that's why it wasn't there at the beginning, but
then things changed and I forgot to add it, so let's
put it there just in ca
reads")
Reported-by: Mantas Mikulėnas
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev-common.c |4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/char/tpm/tpm-dev-common.c
b/drivers/char/tpm/tpm-dev-common.c
index 5eecad233ea1..7312d3214381 100644
---
On 3/18/19 4:19 PM, James Bottomley wrote:
>> @@ -203,12 +203,14 @@ __poll_t tpm_common_poll(struct file *file,
>> poll_table *wait)
>> __poll_t mask = 0;
>>
>> poll_wait(file, &priv->async_wait, wait);
>> +mutex_lock(&priv->buffer_mutex);
>>
>> if (!priv->response_read || pr
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev-common.c |2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/char/tpm/tpm-dev-common.c
b/drivers/char/tpm/tpm-dev-common.c
index 5eecad233ea1..61e458d6f652 100644
--- a/drivers/char/tpm/tpm-dev-common.c
+++ b/drivers/cha
On 2/13/19 9:19 AM, Jarkko Sakkinen wrote:
> OK, great, thank you.
>
> They are in my master branch now.
Thanks Jarkko. Are you planning to push it also to 5.1?
random cmd, without
reading the first response - expect the second cmd to fail with -EBUSY
Signed-off-by: Tadeusz Struk
---
v3:
- Remove python docstrings
v2:
- Removed extra logging
- Changed subject tag to selftest/tpm2:
---
tools/testing/selftests/tpm2/tpm2.py |1
tools/testing
In order to have control over how many bytes are read or written
the device needs to be opened in unbuffered mode.
Signed-off-by: Tadeusz Struk
---
v2:
- Changed subject tags to selftests/tpm2:
---
tools/testing/selftests/tpm2/tpm2.py |4 ++--
1 file changed, 2 insertions(+), 2 deletions
On 2/13/19 7:13 AM, Jarkko Sakkinen wrote:
> On Tue, 2019-02-12 at 15:42 -0800, Tadeusz Struk wrote:
>> Three new tests added:
>> 1. Send get random cmd, read header in 1st read, read the rest in second
>>read - expect success
>> 2. Send get random cmd, read only
random cmd, without
reading the first response - expect the second cmd to fail with -EBUSY
Signed-off-by: Tadeusz Struk
---
v2:
- Removed extra logging
- Changed subject tag to selftest/tpm2:
---
tools/testing/selftests/tpm2/tpm2.py |1
tools/testing/selftests/tpm2/tpm2_tests.py
In order to have control over how many bytes are read or written
the device needs to be opened in unbuffered mode.
Signed-off-by: Tadeusz Struk
---
v2:
- Changed subject tags to selftests/tpm2:
---
tools/testing/selftests/tpm2/tpm2.py |4 ++--
1 file changed, 2 insertions(+), 2 deletions
On 2/11/19 8:48 AM, Jarkko Sakkinen wrote:
> You are missing a cover letter from this patch set. Please have it in
> v2. Also use tag "selftests/tpm2" instead of having two tags in the
> short summaries. Now they look a bit weird.
Since when is the cover letter mandatory?
I understand that is help
random cmd, without
reading the first response - expect the second cmd to fail with -EBUSY
Signed-off-by: Tadeusz Struk
---
tools/testing/selftests/tpm2/tpm2.py |1
tools/testing/selftests/tpm2/tpm2_tests.py | 82
2 files changed, 83 insertions(+)
diff
In order to have control over how many bytes are read or written
the device needs to be opened in unbuffered mode.
Signed-off-by: Tadeusz Struk
---
tools/testing/selftests/tpm2/tpm2.py |4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/tpm2/tpm2
On 11/27/18 2:10 PM, Jarkko Sakkinen wrote:
> Added the tests that I've been using for testing TPM 2.0 functionality
> for long time but have out-of-tree so far residing in
>
> https://github.com/jsakkine-intel/tpm2-scripts
>
> Cc: Tadeusz Struk
> Signed-off-by: Jarkko
iple reads, until the whole response is consumed.
The user can also read only part of the response and ignore
the rest by issuing a new write to send a new command.
Signed-off-by: Tadeusz Struk
---
The usecase is implemented in this TSS commit:
https://github.com/tpm2-software/tpm2-
On 11/20/18 3:07 PM, Jarkko Sakkinen wrote:
+ /* Holds the resul of the last successful call to tpm_transmit() */
>>> This comment is cruft.
>> Do you want me to remove it? This is the comment you proposed.
> As I explained before it made sense before you made the remark that
> it can only ge
On 11/20/18 4:48 AM, Jarkko Sakkinen wrote:
>> +/* Holds the resul of the last successful call to tpm_transmit() */
> This comment is cruft.
Do you want me to remove it? This is the comment you proposed.
>
>> +size_t response_length;
> data_pending would be now perfectly fine name now th
On 11/20/18 4:48 AM, Jarkko Sakkinen wrote:
>> The usecase is implemented in this TSS commit:
>> https://github.com/tpm2-software/tpm2-tss/commit/ce982f67a67dc08e24683d30b05800648d8a264c
> Can you implement test for this to
>
> https://github.com/jsakkine-intel/tpm2-scripts
Just created a PR for
iple reads, until the whole response is consumed.
The user can also read only part of the response and ignore
the rest by issuing a new write to send a new command.
Signed-off-by: Tadeusz Struk
---
The usecase is implemented in this TSS commit:
https://github.com/tpm2-software/tpm2-
On 11/19/18 9:28 AM, Jarkko Sakkinen wrote:
> Ah, you are correct.
>
> You should add a boolean flag instead of introducing a new variable for
> holding amount that has been read because obviously one read operation
> is enough for backwards compatibility.
>
> The code could read the code to data
On 11/19/18 5:58 AM, Jarkko Sakkinen wrote:
> Please explain a scenario where "!ret_size" would no work given that
> both size and partial_data have always positive value?
Right, I only looked at the one line above before responding.
I'll change it to !ret_size
>
> I don't understand. In order t
On 11/17/18 11:48 PM, Jarkko Sakkinen wrote:
>> +if (priv->transmit_result || priv->partial_data) {
>> +if (*off == 0)
>> +priv->partial_data = priv->transmit_result;
>> +
>> +ret_size = min_t(ssize_t, size, priv->partial_data);
>> +if (re
iple reads, until the whole response is consumed.
The user can also read only part of the response and ignore
the rest by issuing a new write to send a new command.
Signed-off-by: Tadeusz Struk
---
The usecase is implemented in this TSS commit:
https://github.com/tpm2-software/tpm2-
gned-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev-common.c | 20 ++--
drivers/char/tpm/tpm-dev.h|4 ++--
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/drivers/char/tpm/tpm-dev-common.c
b/drivers/char/tpm/tpm-dev-common.c
index 99b5
On 11/15/18 3:31 PM, Jarkko Sakkinen wrote:
> You could drop these memset() calls and also one from
> tpm_timeout_work(). The call could be done once in the beginning of
> tpm_common_write() instead of having three different call sites.
>
Don't we want to clean the buffer as the response is read?
iple reads, until the whole response is consumed.
The user can also read only part of the response and ignore
the rest by issuing a new write to send a new command.
Signed-off-by: Tadeusz Struk
---
The usecase is implemented in this TSS commit:
https://github.com/tpm2-software/tpm2-
On 11/5/18 5:44 AM, Jarkko Sakkinen wrote:
> You don't explain what the commit does at all.
>
>> The usecase is implemented in this TSS commit:
>> https://github.com/tpm2-software/tpm2-tss/commit/ce982f67a67dc08e24683d30b05800648d8a264c
> We do not want this as part of the commit message. You shou
Hi Jarkko,
On 11/5/18 5:39 AM, Jarkko Sakkinen wrote:
>> Changes in v2:
>> - Allow writes after only partial response is consumed to maintain
>>backwords compatibility.
> I do not understand what this bullet means. Do you deny writes somehow?
No I don't. This comment was wrt the first version
Signed-off-by: Tadeusz Struk
---
Changes in v2:
- Allow writes after only partial response is consumed to maintain
backwords compatibility.
---
drivers/char/tpm/tpm-dev-common.c | 38 -
drivers/char/tpm/tpm-dev.h|2 ++
2 files changed, 31
On 9/16/18 5:03 AM, Jarkko Sakkinen wrote:
> I tried to test this but I get 404 from
> https://github.com/tstruk/tpm2-tss/tree/async
This has been already merged to tss upstream
https://github.com/tpm2-software/tpm2-tss
To enable it you need to configure tss with --enable-tcti-device-async=yes
T
On 08/31/2018 01:58 AM, Jarkko Sakkinen wrote:
> Just the change to the commit message. Mislooked patchwork, the typo was
> in my response :-) I'll do recheck for 2/2. Check those comments before
> v6 if there is anything else.
Hi,
I have done the changes you requested and ran the "checkpatch.pl -
Add a ptr to struct tpm_space to the file_priv and consolidate
of the write operations for the two interfaces.
Tested-by: Philip Tricca
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev-common.c |8 +---
drivers/char/tpm/tpm-dev.c| 10 ++
drivers/char/tpm/tpm
all. Now everything
what's needed is in the file_priv struct.
- Renamed the 'work' member of the timer to avoid confusion.
Now there are 'timeout_work' and 'async_work'.
- Removed the global wait queue and moved it to file_priv.
- Only creating the work queue when t
ricca
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev-common.c | 141 -
drivers/char/tpm/tpm-dev.c|1
drivers/char/tpm/tpm-dev.h| 13 ++-
drivers/char/tpm/tpm-interface.c | 24 +-
drivers/char/tpm/tpm.h|
ricca
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev-common.c | 142 -
drivers/char/tpm/tpm-dev.c|1
drivers/char/tpm/tpm-dev.h| 13 ++-
drivers/char/tpm/tpm-interface.c | 24 +-
drivers/char/tpm/tpm.h|
id confusion.
Now there are 'timeout_work' and 'async_work'.
- Removed the global wait queue and moved it to file_priv.
- Only creating the work queue when the first file is opened.
Tadeusz Struk (2):
tpm: add ptr to the tpm_space struct to file_priv
tpm:
Add a ptr to struct tpm_space to the file_priv to have an easy
access to it in the async job without the need to allocate memory.
This also allows to consolidate of the write operations for
the two interfaces.
Tested-by: Philip Tricca
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev
On 08/10/2018 12:00 PM, James Bottomley wrote:
> On Fri, 2018-08-10 at 11:56 -0700, Tadeusz Struk wrote:
>> On 08/10/2018 11:48 AM, James Bottomley wrote:
>>> On Fri, 2018-08-10 at 11:21 -0700, Tadeusz Struk wrote:
>>>> and the feedback I got from Jason was:
>
On 08/10/2018 11:48 AM, James Bottomley wrote:
> On Fri, 2018-08-10 at 11:21 -0700, Tadeusz Struk wrote:
>> and the feedback I got from Jason was:
>>
>> "I wonder if it is worth creating this when the first file is
>> opened.. Lots of systems have TPMs but few
On 08/10/2018 10:43 AM, Jarkko Sakkinen wrote:
>> +static struct workqueue_struct *tpm_dev_wq;
> A naming contradiction with tpm_common_read() and tpm_common_write(). To
> sort that up I would suggest adding a commit to the patch set that
> renames these functions as tpm_dev_common_read() and
> tpm
On 08/10/2018 10:27 AM, Jarkko Sakkinen wrote:
> On Tue, Aug 07, 2018 at 01:27:44PM -0700, Tadeusz Struk wrote:
>> Add a ptr to struct tpm_space to the file_priv to have an easy
>> access to it in the async job without the need to allocate memory.
>> This also allows to con
Add a ptr to struct tpm_space to the file_priv to have an easy
access to it in the async job without the need to allocate memory.
This also allows to consolidate of the write operations for
the two interfaces.
Tested-by: Philip Tricca
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev
ricca
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev-common.c | 149 -
drivers/char/tpm/tpm-dev.c| 16 +++-
drivers/char/tpm/tpm-dev.h| 17 +++-
drivers/char/tpm/tpm-interface.c |1
drivers/char/tpm/tpm.h|
and moved it to file_priv.
- Only creating the work queue when the first file is opened.
Tadeusz Struk (2):
tpm: add ptr to the tpm_space struct to file_priv
tpm: add support for nonblocking operation
drivers/char/tpm/tpm-dev-common.c | 150 +++--
On 08/07/2018 11:20 AM, Jason Gunthorpe wrote:
> Doesn't lockdep complain when locks are left held after returning to
> user space? Even if it doesn't, that is a pretty ugly thing to do.
I didn't notice anything from lockdep during my testing,
but I will change it to release the lock before return
On 08/06/2018 05:35 PM, James Bottomley wrote:
> On Mon, 2018-08-06 at 17:09 -0700, Tadeusz Struk wrote:
>> On 08/06/2018 04:05 PM, James Bottomley wrote:
>>> For an async interface, shouldn't I be able to queue an
>>> arbitrary number of commands without blocking
On 08/06/2018 04:05 PM, James Bottomley wrote:
> For an async interface, shouldn't I be able to queue an
> arbitrary number of commands without blocking?
That was the approach in the v1 version of this patch, but
Jason requested this to be changed so that only one command
at a time can be processe
Add a ptr to struct tpm_space to the file_priv to have an easy
access to it in the async job without the need to allocate memory.
This also allows to consolidate of the write operations for
the two interfaces.
Tested-by: Philip Tricca
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev
ricca
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev-common.c | 145 +++--
drivers/char/tpm/tpm-dev.c| 16 +++-
drivers/char/tpm/tpm-dev.h| 16 +++-
drivers/char/tpm/tpm-interface.c |1
drivers/char/tpm/tpm.h|
the 'work' member of the timer to avoid confusion.
Now there are 'timeout_work' and 'async_work'.
- Removed the global wait queue and moved it to file_priv.
- Only creating the work queue when the first file is opened.
Tadeusz Struk (2):
tpm: add ptr to th
On 07/23/2018 03:08 PM, Jason Gunthorpe wrote:
> On Mon, Jul 23, 2018 at 03:00:20PM -0700, Tadeusz Struk wrote:
>> On 07/23/2018 02:56 PM, Jason Gunthorpe wrote:
>>> The proposed patch doesn't clear the data_pending if the entire buffer
>>> is not consumed, so of
On 07/23/2018 02:56 PM, Jason Gunthorpe wrote:
> The proposed patch doesn't clear the data_pending if the entire buffer
> is not consumed, so of course it is ABI breaking, that really isn't OK.
The data_pending will be cleared by the timeout handler if the user doesn't
read the response fully befo
On 07/23/2018 02:13 PM, James Bottomley wrote:
> The current patch does, you even provided a use case in your last email
> (it's do command to get sizing followed by do command with correctly
> sized buffer).
The example I provided was: #1 send a command, #2 read the response header
(10 bytes),
On 07/23/2018 01:19 PM, Jarkko Sakkinen wrote:
> In this case I do not have any major evidence of any major benefit *and*
> the change breaks the ABI.
As I said before - this does not break the ABI.
As for the benefits - it help user space in how they implement the receive
path. Application does n
On 07/19/2018 01:27 PM, James Bottomley wrote:
> On Thu, 2018-07-19 at 13:12 -0700, Tadeusz Struk wrote:
>> On 07/19/2018 12:52 PM, James Bottomley wrote:
>>> The ABI break is the error case as I outlined above. We can't
>>> assume everyone uses the current in
On 07/19/2018 12:52 PM, James Bottomley wrote:
> The ABI break is the error case as I outlined above. We can't assume
> everyone uses the current interface without getting an error and one
> error and your hosed is a nasty failure case to change the interface
> to.
Well, if there is a broken app
On 07/19/2018 11:47 AM, James Bottomley wrote:
> On Thu, 2018-07-19 at 10:54 -0700, Tadeusz Struk wrote:
>> On 07/19/2018 10:19 AM, James Bottomley wrote:
>>> That's just an implementation, though, what's the use case?
>>
>> Hi James,
>> The use
On 07/19/2018 10:19 AM, James Bottomley wrote:
> That's just an implementation, though, what's the use case?
Hi James,
The use case is described in the TCTI spec [1] in the
"3.2.5.2 receive" section.
Thanks,
--
Tadeusz
[1]
https://trustedcomputinggroup.org/wp-content/uploads/TSS_TCTI_v1.0_r12_
On 07/19/2018 08:52 AM, Tadeusz Struk wrote:
> Currently to read a response from the TPM device an application needs
> provide "big enough" buffer for the whole response and read it in one go.
> The application doesn't know how big the response it beforehand so it
> al
ps://github.com/tpm2-software/tpm2-tss/commit/ce982f67a67dc08e24683d30b05800648d8a264c
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev-common.c | 32 +++-
1 file changed, 23 insertions(+), 9 deletions(-)
diff --git a/drivers/char/tpm/tpm-dev-common.c
b/driv
On 06/21/2018 10:17 AM, Jarkko Sakkinen wrote:
> On Tue, Jun 19, 2018 at 05:45:35PM -0700, Tadeusz Struk wrote:
>> Hi Jarkko,
>> Thanks for reviewing the patch.
>> There are applications/frameworks where a worker thread is not an option.
>> Take for example the IoT us
On 06/20/2018 10:26 PM, James Bottomley wrote:
>> Yes, it does polling:
>> http://docs.libuv.org/en/v1.x/design.html#the-i-o-loop
> But that's for networking. You'll be talking to the TPM RM over the
> file descriptor so that follows the thread pool model in
>
> http://docs.libuv.org/en/v1.x/desi
On 06/20/2018 04:59 PM, James Bottomley wrote:
> I'm slightly surprised by this statement. I thought IoT Node.js
> runtimes (of which there are far too many, so I haven't looked at all
> of them) use libuv or one of the forks:
>
> http://libuv.org/
>
> As the basis for their I/O handling? While
On 06/19/2018 06:10 AM, Jarkko Sakkinen wrote:
> On Tue, Jun 12, 2018 at 10:58:26AM -0700, Tadeusz Struk wrote:
>> The TCG SAPI specification [1] defines a set of functions, which allows
>> applications to use the TPM device in either blocking or non-blocking
>> fashion.
&g
On 06/13/2018 10:55 AM, J Freyensee wrote:
>> + /*
>> + * If in nonblocking mode schedule an async job to send
>> + * the command return the size.
>> + * In case of error the err code will be returned in
>> + * the subsequent read call.
>> + */
>> + if (file->f_flags & O_N
e 'timeout_work' and 'async_work'.
- Removed the global wait queue and moved it to file_priv.
- Only creating the work queue when the first file is opened.
Tadeusz Struk (2):
tpm: add ptr to the tpm_space struct to file_priv
tpm: add support for nonblocking operation
Add a ptr to struct tpm_space to the file_priv to have an easy
access to it in the async job without the need to allocate memory.
This also allows to consolidate of the write operations for
the two interfaces.
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev-common.c |8
Currently the TPM driver only supports blocking calls, which doesn't allow
asynchronous IO operations to the TPM hardware.
This patch changes it and adds support for nonblocking write and a new poll
function to enable applications, which want to take advantage of this.
Signed-off-by: Ta
On 06/11/2018 07:53 PM, kbuild test robot wrote:
> Hi Tadeusz,
> # save the attached .config to linux build tree
> make ARCH=i386
>
> All error/warnings (new ones prefixed by >>):
>
>>> drivers/char//tpm/tpm-dev-common.c:223:1: warning: data definition has no
>>> type or storage
On 06/11/2018 07:53 PM, kbuild test robot wrote:
> Hi Tadeusz,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on char-misc/char-misc-testing]
> [also build test ERROR on next-20180608]
> [cannot apply to v4.17]
Hi,
Thanks for the report. This patch should go on
thing
what's needed is in the file_priv struct.
- Renamed the 'work' member of the timer to avoid confusion.
Now there are 'timeout_work' and 'async_work'.
- Removed the global wait queue and moved it to file_priv.
- Only creating the work queue when the first file
Add a ptr to struct tpm_space to the file_priv to have an easy
access to it in the async job without the need to allocate memory.
This also allows to consolidate of the write operations for
the two interfaces.
Signed-off-by: Tadeusz Struk
---
drivers/char/tpm/tpm-dev-common.c |8
Currently the TPM driver only supports blocking calls, which doesn't allow
asynchronous IO operations to the TPM hardware.
This patch changes it and adds support for nonblocking write and a new poll
function to enable applications, which want to take advantage of this.
Signed-off-by: Ta
On 05/23/2018 06:23 AM, Jarkko Sakkinen wrote:
> Ouch o_O Do you have a fixes tag for this one?
>
This one is quite tricky.
The original bug was introduced by abce9ac292e13 (tpm: Propagate error from
tpm_transmit to fix a timeout hang)
and the code back then was in drivers/char/tpm/tpm-interface
On 03/01/2017 10:21 PM, Corentin Labbe wrote:
> I am finishing a patch that made testmgr test both (padded and unpadded).
Even if you patch the test vectors there is no guarantee that a user
of the API will always have the plain text padded.
It can be anything between 1 and the key size.
This need
Hi Stephan,
On 03/01/2017 10:08 PM, Stephan Müller wrote:
>> memset(ptextp, 0, 256);
>> memcpy(ptextp + 64 - 8, ptext_ex, plen);
> I actually have tested that and it did not return the data the kernel
> implementation would return
It did for me:
Result 64 plen=8
63 1c cd 7b e1 7e e4 de
Hi Corentin,
On 03/01/2017 04:04 AM, Corentin Labbe wrote:
>> I would think the issue is that the OpenSSL BIGNUM lib has some issues: when
>> calculating m^e mod n, m has to be equal to the key size. The kernel's MPI
>> code handles the case where m is smaller than the key size.
>>
>> Note, in yo
esult is IB device unit numbers are in reverse order
from the faceplate numbering. This leads to confusion, and errors.
Use EPROBE_DEFER error code to enforce correct port order.
Reviewed-by: Ira Weiny
Signed-off-by: Tadeusz Struk
---
drivers/infiniband/hw/hfi1/chip.c |
core to busy loop.
Reviewed-by: Ira Weiny
Signed-off-by: Tadeusz Struk
---
drivers/base/dd.c | 26 +-
drivers/base/driver.c |2 +-
include/linux/device.h |2 ++
3 files changed, 12 insertions(+), 18 deletions(-)
diff --git a/drivers/base/dd.c b/drivers
On 07/08/2016 09:38 AM, Mat Martineau wrote:
> Are the inputs and outputs defined for ALG_OP_VERIFY in SET_KEY mode
> going to work for hardware keys (like TPM) in SET_KEY_ID mode? That's
> needed if the verify SET_KEY_ID mode is to be added later.
Yes, we will just need to change the verify_signa
Hi Mat,
On 07/06/2016 12:38 PM, Mat Martineau wrote:
>> So it looks like the only thing that we need to return to the user in
>> this case is the return code. Do you agree?
>
> The way verify_signature is implemented today, the only output is the
> return code. For verify, maybe no read is require
Hi Mat,
On 06/29/2016 11:43 AM, Mat Martineau wrote:
>> +ret = verify_signature(key, &sig);
>> +if (!ret) {
>> +req->dst_len = sizeof(digest);
>
> I think you fixed the BUG_ON() problem but there's still an issue with
> the handling of the digest. Check the use of sig->digest in
>
From: Stephan Mueller
For supporting asymmetric ciphers, user space must be able to set the
public key. The patch adds a new setsockopt call for setting the public
key.
Signed-off-by: Stephan Mueller
Signed-off-by: Tadeusz Struk
---
crypto/af_alg.c | 18 +-
include
From: Stephan Mueller
Add the Makefile and Kconfig updates to allow algif_akcipher to be
compiled.
Signed-off-by: Stephan Mueller
Signed-off-by: Tadeusz Struk
---
crypto/Kconfig |9 +
crypto/Makefile |1 +
2 files changed, 10 insertions(+)
diff --git a/crypto/Kconfig b
invoke operations defined by a given subtype, depending on the
key type.
Signed-off-by: Tadeusz Struk
---
crypto/af_alg.c | 10 ++
crypto/algif_akcipher.c | 212 ++-
include/crypto/if_alg.h |1
include/uapi/linux/if_alg.h |2
the output
buffer size.
Signed-off-by: Stephan Mueller
Signed-off-by: Tadeusz Struk
---
crypto/algif_akcipher.c | 531 +++
1 file changed, 531 insertions(+)
create mode 100644 crypto/algif_akcipher.c
diff --git a/crypto/algif_akcipher.c b/crypto
From: Stephan Mueller
Add the flags for handling signature generation and signature
verification.
Also, the patch adds the interface for setting a public key.
Signed-off-by: Stephan Mueller
Signed-off-by: Tadeusz Struk
---
include/uapi/linux/if_alg.h |3 +++
1 file changed, 3 insertions
cipher - enable compilation
Tadeusz Struk (2):
crypto: algif_akcipher - add ops_nokey
crypto: AF_ALG - add support for key_id
crypto/Kconfig |9
crypto/Makefile |1
crypto/af_alg.c | 28 +
crypto/algif_akciph
Similar to algif_skcipher and algif_hash, algif_akcipher needs
to prevent user space from using the interface in an improper way.
This patch adds nokey ops handlers, which do just that.
Signed-off-by: Tadeusz Struk
---
crypto/algif_akcipher.c | 159
On 06/09/2016 11:36 AM, Stephan Mueller wrote:
> Am Donnerstag, 9. Juni 2016, 11:27:13 schrieb Mat Martineau:
>
> Hi Mat, Tadeusz,
>
>> On Thu, 9 Jun 2016, Stephan Mueller wrote:
>>> Am Donnerstag, 9. Juni 2016, 11:18:04 schrieb Mat Martineau:
>>>
>>> Hi Mat,
>>>
> Or is your concern that the
1 - 100 of 317 matches
Mail list logo