Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix build error and clippy warnings from rust 1.74-nightly #79

Merged
merged 2 commits into from
Aug 25, 2023

Conversation

joergroedel
Copy link
Member

No description provided.

The bitflags are intentionally defined the way they are, so suppress
the warnings about them.

Signed-off-by: Joerg Roedel <jroedel@suse.de>
This fixes a linker error seen with rustc 1.74.0-nightly.

Signed-off-by: Joerg Roedel <jroedel@suse.de>
@joergroedel joergroedel merged commit 7d9a3ea into coconut-svsm:main Aug 25, 2023
2 checks passed
@@ -4,6 +4,9 @@
//
// Author: Joerg Roedel <jroedel@suse.de>

// For bitflags definitions
#![allow(clippy::bad_bit_mask)]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is clippy complains about RMPFlags?

What about allow it only for that definition?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It complained about RMPFlags, especially the zero masks for VMPL0 and NONE. I tried to make it only for the struct definition, but clippy didn't accept that. If you know a way to do that, feel free to send a PR to update the annotation :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah okay now I see, I'll check if there is a way.

But just to understand better, what is the purpose of RMPFlags::VMPL0 flag since it is 0?
Where I can find some info about it?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Anyway, looking at bitflags/bitflags#373 it seems it happens only on bitflags v1., I'll take a look if we can switch to v2.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The RMPFlags are used to generate a bitmask for the RMPUPDATE instruction, where the SVSM can define the access permissions for pages, e.g. giving access to VMPL1 or make a page a VMSA page. For targeting VMPL0 permissions, the flag has to be 0 :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@joergroedel okay I see, thanks for the details!
I opened #80 to switch to a new version of bitflags avoiding to suppress this error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants