* [PATCH] test: Fix test-crypto-secret when compiling without keyring support
@ 2023-03-01 11:00 Juan Quintela
2023-03-01 11:07 ` Daniel P. Berrangé
2023-03-03 12:47 ` Thomas Huth
0 siblings, 2 replies; 6+ messages in thread
From: Juan Quintela @ 2023-03-01 11:00 UTC (permalink / raw)
To: qemu-devel; +Cc: Daniel P. Berrangé, Juan Quintela
Linux keyring support is protected by CONFIG_KEYUTILS.
Use CONFIG_SECRET_KEYRING.
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
Previous version of this patch changed the meson build rules.
Daniel told me that the proper fix was to change the #ifdef test.
---
tests/unit/test-crypto-secret.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tests/unit/test-crypto-secret.c b/tests/unit/test-crypto-secret.c
index 34a4aecc12..ccb9dbcd49 100644
--- a/tests/unit/test-crypto-secret.c
+++ b/tests/unit/test-crypto-secret.c
@@ -24,7 +24,7 @@
#include "crypto/secret.h"
#include "qapi/error.h"
#include "qemu/module.h"
-#ifdef CONFIG_KEYUTILS
+#ifdef CONFIG_SECRET_KEYRING
#include "crypto/secret_keyring.h"
#include <keyutils.h>
#endif
@@ -128,7 +128,7 @@ static void test_secret_indirect_emptyfile(void)
g_free(fname);
}
-#ifdef CONFIG_KEYUTILS
+#ifdef CONFIG_SECRET_KEYRING
#define DESCRIPTION "qemu_test_secret"
#define PAYLOAD "Test Payload"
@@ -268,7 +268,7 @@ static void test_secret_keyring_bad_key_access_right(void)
keyctl_unlink(key, KEY_SPEC_PROCESS_KEYRING);
}
-#endif /* CONFIG_KEYUTILS */
+#endif /* CONFIG_SECRET_KEYRING */
static void test_secret_noconv_base64_good(void)
{
@@ -571,7 +571,7 @@ int main(int argc, char **argv)
g_test_add_func("/crypto/secret/indirect/emptyfile",
test_secret_indirect_emptyfile);
-#ifdef CONFIG_KEYUTILS
+#ifdef CONFIG_SECRET_KEYRING
g_test_add_func("/crypto/secret/keyring/good",
test_secret_keyring_good);
g_test_add_func("/crypto/secret/keyring/revoked_key",
@@ -582,7 +582,7 @@ int main(int argc, char **argv)
test_secret_keyring_bad_serial_key);
g_test_add_func("/crypto/secret/keyring/bad_key_access_right",
test_secret_keyring_bad_key_access_right);
-#endif /* CONFIG_KEYUTILS */
+#endif /* CONFIG_SECRET_KEYRING */
g_test_add_func("/crypto/secret/noconv/base64/good",
test_secret_noconv_base64_good);
--
2.39.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] test: Fix test-crypto-secret when compiling without keyring support
2023-03-01 11:00 [PATCH] test: Fix test-crypto-secret when compiling without keyring support Juan Quintela
@ 2023-03-01 11:07 ` Daniel P. Berrangé
2023-03-03 12:47 ` Thomas Huth
1 sibling, 0 replies; 6+ messages in thread
From: Daniel P. Berrangé @ 2023-03-01 11:07 UTC (permalink / raw)
To: Juan Quintela; +Cc: qemu-devel
On Wed, Mar 01, 2023 at 12:00:58PM +0100, Juan Quintela wrote:
> Linux keyring support is protected by CONFIG_KEYUTILS.
> Use CONFIG_SECRET_KEYRING.
>
> Signed-off-by: Juan Quintela <quintela@redhat.com>
>
> ---
>
> Previous version of this patch changed the meson build rules.
> Daniel told me that the proper fix was to change the #ifdef test.
> ---
> tests/unit/test-crypto-secret.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
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] 6+ messages in thread
* Re: [PATCH] test: Fix test-crypto-secret when compiling without keyring support
2023-03-01 11:00 [PATCH] test: Fix test-crypto-secret when compiling without keyring support Juan Quintela
2023-03-01 11:07 ` Daniel P. Berrangé
@ 2023-03-03 12:47 ` Thomas Huth
2023-03-03 13:00 ` Daniel P. Berrangé
2023-03-03 19:03 ` Juan Quintela
1 sibling, 2 replies; 6+ messages in thread
From: Thomas Huth @ 2023-03-03 12:47 UTC (permalink / raw)
To: Juan Quintela, qemu-devel; +Cc: Daniel P. Berrangé
On 01/03/2023 12.00, Juan Quintela wrote:
> Linux keyring support is protected by CONFIG_KEYUTILS.
> Use CONFIG_SECRET_KEYRING.
>
> Signed-off-by: Juan Quintela <quintela@redhat.com>
>
> ---
>
> Previous version of this patch changed the meson build rules.
> Daniel told me that the proper fix was to change the #ifdef test.
> ---
> tests/unit/test-crypto-secret.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
This seems to cause failures in the CI:
https://gitlab.com/thuth/qemu/-/jobs/3870672310#L1443
https://gitlab.com/thuth/qemu/-/jobs/3870672331#L2353
../tests/unit/test-crypto-secret.c:29:10: fatal error: keyutils.h: No such file or directory
29 | #include <keyutils.h>
| ^~~~~~~~~~~~
compilation terminated.
And when building locally, I got:
FAILED: tests/unit/test-crypto-secret
tests/unit/test-crypto-secret.p/test-crypto-secret.c.o: In function `test_secret_keyring_expired_key':
../../devel/qemu/tests/unit/test-crypto-secret.c:194: undefined reference to `add_key'
../../devel/qemu/tests/unit/test-crypto-secret.c:197: undefined reference to `keyctl_set_timeout'
../../devel/qemu/tests/unit/test-crypto-secret.c:212: undefined reference to `keyctl_unlink'
tests/unit/test-crypto-secret.p/test-crypto-secret.c.o: In function `test_secret_keyring_revoked_key':
../../devel/qemu/tests/unit/test-crypto-secret.c:169: undefined reference to `add_key'
../../devel/qemu/tests/unit/test-crypto-secret.c:172: undefined reference to `keyctl_revoke'
../../devel/qemu/tests/unit/test-crypto-secret.c:186: undefined reference to `keyctl_unlink'
tests/unit/test-crypto-secret.p/test-crypto-secret.c.o: In function `test_secret_keyring_good':
../../devel/qemu/tests/unit/test-crypto-secret.c:141: undefined reference to `add_key'
../../devel/qemu/tests/unit/test-crypto-secret.c:155: undefined reference to `keyctl_unlink'
collect2: error: ld returned 1 exit status
Thomas
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] test: Fix test-crypto-secret when compiling without keyring support
2023-03-03 12:47 ` Thomas Huth
@ 2023-03-03 13:00 ` Daniel P. Berrangé
2023-03-03 19:40 ` Juan Quintela
2023-03-03 19:03 ` Juan Quintela
1 sibling, 1 reply; 6+ messages in thread
From: Daniel P. Berrangé @ 2023-03-03 13:00 UTC (permalink / raw)
To: Thomas Huth; +Cc: Juan Quintela, qemu-devel
On Fri, Mar 03, 2023 at 01:47:40PM +0100, Thomas Huth wrote:
> On 01/03/2023 12.00, Juan Quintela wrote:
> > Linux keyring support is protected by CONFIG_KEYUTILS.
> > Use CONFIG_SECRET_KEYRING.
> >
> > Signed-off-by: Juan Quintela <quintela@redhat.com>
> >
> > ---
> >
> > Previous version of this patch changed the meson build rules.
> > Daniel told me that the proper fix was to change the #ifdef test.
> > ---
> > tests/unit/test-crypto-secret.c | 10 +++++-----
> > 1 file changed, 5 insertions(+), 5 deletions(-)
>
> This seems to cause failures in the CI:
>
> https://gitlab.com/thuth/qemu/-/jobs/3870672310#L1443
> https://gitlab.com/thuth/qemu/-/jobs/3870672331#L2353
>
> ../tests/unit/test-crypto-secret.c:29:10: fatal error: keyutils.h: No such file or directory
> 29 | #include <keyutils.h>
> | ^~~~~~~~~~~~
> compilation terminated.
Hmm, so we actually have to test for both #ifdefs then
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] 6+ messages in thread
* Re: [PATCH] test: Fix test-crypto-secret when compiling without keyring support
2023-03-03 12:47 ` Thomas Huth
2023-03-03 13:00 ` Daniel P. Berrangé
@ 2023-03-03 19:03 ` Juan Quintela
1 sibling, 0 replies; 6+ messages in thread
From: Juan Quintela @ 2023-03-03 19:03 UTC (permalink / raw)
To: Thomas Huth; +Cc: qemu-devel, Daniel P. Berrangé
Thomas Huth <thuth@redhat.com> wrote:
> On 01/03/2023 12.00, Juan Quintela wrote:
>> Linux keyring support is protected by CONFIG_KEYUTILS.
>> Use CONFIG_SECRET_KEYRING.
>> Signed-off-by: Juan Quintela <quintela@redhat.com>
>> ---
>> Previous version of this patch changed the meson build rules.
>> Daniel told me that the proper fix was to change the #ifdef test.
>> ---
>> tests/unit/test-crypto-secret.c | 10 +++++-----
>> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> This seems to cause failures in the CI:
>
> https://gitlab.com/thuth/qemu/-/jobs/3870672310#L1443
> https://gitlab.com/thuth/qemu/-/jobs/3870672331#L2353
What is your configuration?
Here (Fedora 37) it works perfectly with --enable/disable-keyring.
But I have installed keyutils-libs-devel, and it appears that there is
no way to disable keyutils support through the command line.
/me removes package and retries.
> ../tests/unit/test-crypto-secret.c:29:10: fatal error: keyutils.h: No such file or directory
> 29 | #include <keyutils.h>
> | ^~~~~~~~~~~~
> compilation terminated.
>
> And when building locally, I got:
>
> FAILED: tests/unit/test-crypto-secret
> tests/unit/test-crypto-secret.p/test-crypto-secret.c.o: In function `test_secret_keyring_expired_key':
> ../../devel/qemu/tests/unit/test-crypto-secret.c:194: undefined reference to `add_key'
> ../../devel/qemu/tests/unit/test-crypto-secret.c:197: undefined reference to `keyctl_set_timeout'
> ../../devel/qemu/tests/unit/test-crypto-secret.c:212: undefined reference to `keyctl_unlink'
> tests/unit/test-crypto-secret.p/test-crypto-secret.c.o: In function `test_secret_keyring_revoked_key':
> ../../devel/qemu/tests/unit/test-crypto-secret.c:169: undefined reference to `add_key'
> ../../devel/qemu/tests/unit/test-crypto-secret.c:172: undefined reference to `keyctl_revoke'
> ../../devel/qemu/tests/unit/test-crypto-secret.c:186: undefined reference to `keyctl_unlink'
> tests/unit/test-crypto-secret.p/test-crypto-secret.c.o: In function `test_secret_keyring_good':
> ../../devel/qemu/tests/unit/test-crypto-secret.c:141: undefined reference to `add_key'
> ../../devel/qemu/tests/unit/test-crypto-secret.c:155: undefined reference to `keyctl_unlink'
> collect2: error: ld returned 1 exit status
>
> Thomas
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] test: Fix test-crypto-secret when compiling without keyring support
2023-03-03 13:00 ` Daniel P. Berrangé
@ 2023-03-03 19:40 ` Juan Quintela
0 siblings, 0 replies; 6+ messages in thread
From: Juan Quintela @ 2023-03-03 19:40 UTC (permalink / raw)
To: Daniel P. Berrangé; +Cc: Thomas Huth, qemu-devel
Daniel P. Berrangé <berrange@redhat.com> wrote:
> On Fri, Mar 03, 2023 at 01:47:40PM +0100, Thomas Huth wrote:
>> On 01/03/2023 12.00, Juan Quintela wrote:
>> > Linux keyring support is protected by CONFIG_KEYUTILS.
>> > Use CONFIG_SECRET_KEYRING.
>> >
>> > Signed-off-by: Juan Quintela <quintela@redhat.com>
>> >
>> > ---
>> >
>> > Previous version of this patch changed the meson build rules.
>> > Daniel told me that the proper fix was to change the #ifdef test.
>> > ---
>> > tests/unit/test-crypto-secret.c | 10 +++++-----
>> > 1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> This seems to cause failures in the CI:
>>
>> https://gitlab.com/thuth/qemu/-/jobs/3870672310#L1443
>> https://gitlab.com/thuth/qemu/-/jobs/3870672331#L2353
>>
>> ../tests/unit/test-crypto-secret.c:29:10: fatal error: keyutils.h: No such file or directory
>> 29 | #include <keyutils.h>
>> | ^~~~~~~~~~~~
>> compilation terminated.
>
> Hmm, so we actually have to test for both #ifdefs then
Yeap.
I was trying to do something "clever":
diff --git a/meson.build b/meson.build
index 77d2ae87e4..01f3227d62 100644
--- a/meson.build
+++ b/meson.build
@@ -2309,6 +2309,7 @@ config_host_data.set('CONFIG_USBFS', have_linux_user and cc.compiles('''
int main(void) { return 0; }'''))
have_keyring = get_option('keyring') \
+ .require(keyutils.found(), error_message: 'keyring requires keyutils libraries') \
.require(targetos == 'linux', error_message: 'keyring is only available on Linux') \
.require(cc.compiles('''
#include <errno.h>
(test-secret *)$
But it is only the test what requires CONFIG_KEYUTILS,
crypto/secret_keyring.c don't needs it, so we need to do both ifdefs.
> With regards,
> Daniel
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-03-03 19:41 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-01 11:00 [PATCH] test: Fix test-crypto-secret when compiling without keyring support Juan Quintela
2023-03-01 11:07 ` Daniel P. Berrangé
2023-03-03 12:47 ` Thomas Huth
2023-03-03 13:00 ` Daniel P. Berrangé
2023-03-03 19:40 ` Juan Quintela
2023-03-03 19:03 ` Juan Quintela
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).