* [PULL v1 0/1] Merge tpm 2023/09/12 v1
@ 2023-09-12 21:41 Stefan Berger
2023-09-12 21:41 ` [PULL v1 1/1] tpm: fix crash when FD >= 1024 Stefan Berger
2023-09-13 5:57 ` [PULL v1 0/1] Merge tpm 2023/09/12 v1 Philippe Mathieu-Daudé
0 siblings, 2 replies; 5+ messages in thread
From: Stefan Berger @ 2023-09-12 21:41 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, Stefan Berger
Hello!
This PR contains a fix for the case where the TPM file descriptor is >= 1024
and the select() call cannot be used.
Regards,
Stefan
The following changes since commit 9ef497755afc252fb8e060c9ea6b0987abfd20b6:
Merge tag 'pull-vfio-20230911' of https://github.com/legoater/qemu into staging (2023-09-11 09:13:08 -0400)
are available in the Git repository at:
https://github.com/stefanberger/qemu-tpm.git tags/pull-tpm-2023-09-12-1
for you to fetch changes up to 8557de964dfaae5c6eea09d488f85f4aa6cb3ce7:
tpm: fix crash when FD >= 1024 (2023-09-12 17:30:12 -0400)
----------------------------------------------------------------
Marc-Andr Lureau (1):
tpm: fix crash when FD >= 1024
backends/tpm/tpm_util.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
--
2.41.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PULL v1 1/1] tpm: fix crash when FD >= 1024
2023-09-12 21:41 [PULL v1 0/1] Merge tpm 2023/09/12 v1 Stefan Berger
@ 2023-09-12 21:41 ` Stefan Berger
2023-09-13 6:41 ` Michael Tokarev
2023-09-13 5:57 ` [PULL v1 0/1] Merge tpm 2023/09/12 v1 Philippe Mathieu-Daudé
1 sibling, 1 reply; 5+ messages in thread
From: Stefan Berger @ 2023-09-12 21:41 UTC (permalink / raw)
To: qemu-devel
Cc: peter.maydell, Marc-Andr Lureau, qemu-stable,
Michael Tokarev, Stefan Berger
From: Marc-Andr Lureau <marcandre.lureau@redhat.com>
Replace select() with poll() to fix a crash when QEMU has a large number
of FDs.
Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=2020133
Cc: qemu-stable@nongnu.org
Fixes: 56a3c24ffc ("tpm: Probe for connected TPM 1.2 or TPM 2")
Signed-off-by: Marc-Andr Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
---
backends/tpm/tpm_util.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
diff --git a/backends/tpm/tpm_util.c b/backends/tpm/tpm_util.c
index a6e6d3e72f..1856589c3b 100644
--- a/backends/tpm/tpm_util.c
+++ b/backends/tpm/tpm_util.c
@@ -112,12 +112,8 @@ static int tpm_util_request(int fd,
void *response,
size_t responselen)
{
- fd_set readfds;
+ GPollFD fds[1] = { {.fd = fd, .events = G_IO_IN } };
int n;
- struct timeval tv = {
- .tv_sec = 1,
- .tv_usec = 0,
- };
n = write(fd, request, requestlen);
if (n < 0) {
@@ -127,11 +123,8 @@ static int tpm_util_request(int fd,
return -EFAULT;
}
- FD_ZERO(&readfds);
- FD_SET(fd, &readfds);
-
/* wait for a second */
- n = select(fd + 1, &readfds, NULL, NULL, &tv);
+ n = RETRY_ON_EINTR(g_poll(fds, 1, 1000));
if (n != 1) {
return -errno;
}
--
2.41.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PULL v1 0/1] Merge tpm 2023/09/12 v1
2023-09-12 21:41 [PULL v1 0/1] Merge tpm 2023/09/12 v1 Stefan Berger
2023-09-12 21:41 ` [PULL v1 1/1] tpm: fix crash when FD >= 1024 Stefan Berger
@ 2023-09-13 5:57 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-09-13 5:57 UTC (permalink / raw)
To: Stefan Berger, qemu-devel; +Cc: peter.maydell
On 12/9/23 23:41, Stefan Berger wrote:
> Hello!
>
> This PR contains a fix for the case where the TPM file descriptor is >= 1024
> and the select() call cannot be used.
>
> Regards,
> Stefan
>
> The following changes since commit 9ef497755afc252fb8e060c9ea6b0987abfd20b6:
>
> Merge tag 'pull-vfio-20230911' of https://github.com/legoater/qemu into staging (2023-09-11 09:13:08 -0400)
>
> are available in the Git repository at:
>
> https://github.com/stefanberger/qemu-tpm.git tags/pull-tpm-2023-09-12-1
>
> for you to fetch changes up to 8557de964dfaae5c6eea09d488f85f4aa6cb3ce7:
>
> tpm: fix crash when FD >= 1024 (2023-09-12 17:30:12 -0400)
>
> ----------------------------------------------------------------
> Marc-Andr Lureau (1):
UTF-8 mojibake :/
> tpm: fix crash when FD >= 1024
>
> backends/tpm/tpm_util.c | 11 ++---------
> 1 file changed, 2 insertions(+), 9 deletions(-)
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PULL v1 1/1] tpm: fix crash when FD >= 1024
2023-09-12 21:41 ` [PULL v1 1/1] tpm: fix crash when FD >= 1024 Stefan Berger
@ 2023-09-13 6:41 ` Michael Tokarev
2023-09-13 8:09 ` Daniel P. Berrangé
0 siblings, 1 reply; 5+ messages in thread
From: Michael Tokarev @ 2023-09-13 6:41 UTC (permalink / raw)
To: Stefan Berger, qemu-devel
Cc: peter.maydell, Marc-André Lureau, qemu-stable
13.09.2023 00:41, Stefan Berger wrote:
> From: Marc-Andr Lureau <marcandre.lureau@redhat.com>
>
> Replace select() with poll() to fix a crash when QEMU has a large number
> of FDs.
>
> Fixes:
> https://bugzilla.redhat.com/show_bug.cgi?id=2020133
Please keep these on the same line next time.
And there's an UTF8 issue with Marc-André's name writing
as Phil already pointed out (fixing in Cc of this email).
Git usually DTRT here, dunno how that can happen.
BTW, it would also be good to mention newly introduced
usage of non-EINTR operation, - before this change, EINTR
were returned to the caller, now it is not anymore.
I'm sorry for late notes..
/mjt
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PULL v1 1/1] tpm: fix crash when FD >= 1024
2023-09-13 6:41 ` Michael Tokarev
@ 2023-09-13 8:09 ` Daniel P. Berrangé
0 siblings, 0 replies; 5+ messages in thread
From: Daniel P. Berrangé @ 2023-09-13 8:09 UTC (permalink / raw)
To: Michael Tokarev
Cc: Stefan Berger, qemu-devel, peter.maydell, Marc-André Lureau,
qemu-stable
On Wed, Sep 13, 2023 at 09:41:48AM +0300, Michael Tokarev wrote:
> 13.09.2023 00:41, Stefan Berger wrote:
> > From: Marc-Andr Lureau <marcandre.lureau@redhat.com>
> >
> > Replace select() with poll() to fix a crash when QEMU has a large number
> > of FDs.
> >
> > Fixes:
> > https://bugzilla.redhat.com/show_bug.cgi?id=2020133
>
> Please keep these on the same line next time.
>
> And there's an UTF8 issue with Marc-André's name writing
> as Phil already pointed out (fixing in Cc of this email).
> Git usually DTRT here, dunno how that can happen.
It has often happened in the past when people have (mistakenly)
configured the tool used to send patches to use a non-UTF8
charset.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-09-13 8:09 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-12 21:41 [PULL v1 0/1] Merge tpm 2023/09/12 v1 Stefan Berger
2023-09-12 21:41 ` [PULL v1 1/1] tpm: fix crash when FD >= 1024 Stefan Berger
2023-09-13 6:41 ` Michael Tokarev
2023-09-13 8:09 ` Daniel P. Berrangé
2023-09-13 5:57 ` [PULL v1 0/1] Merge tpm 2023/09/12 v1 Philippe Mathieu-Daudé
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).