* [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 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
* 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
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).