# Meeting Meeting 2023-12-06
<!-- Leave your topic starting with ### in the relevant sections below -->
## Critical
<!-- bugs, soundness issues, urgent patches/reviews etc. -->
## Status Reports
<!-- You want to report on something you are working on/request reviews.
Or you want to know the status of something someone else is doing -->
### Field Projection
PR for compiler support: https://github.com/rust-lang/rust/pull/118658
## Discussion Questions
<!-- Anything that requires lengthy discussion/more general questions also fit here -->
### Speculation gadgets
Alice: I'm not able to make it tonight, but I'd like to hear what you all think about [this thread](https://lore.kernel.org/all/20231206123402.GE30174@noisy.programming.kicks-ass.net/).
> So I still object to these on the ground that they're obvious and
trivial speculation gadgets.
>
> We should not have (exported) functions that are basically a single
dereference of a pointer argument.
Lot's of discussion follows.
Core points:
- we do not completely understand how the vulnerabiliy works, don't you need to be able to call the function, i.e. already have root access (or, we guess maybe another vulnerability)?
- this might also be a problem in C, there surely are small functions that do this on the C side
We still want to eliminate these functions from image for performance reasons:
- we want to fix this, different solutions came up:
- use clang to create LLVM-IR of the C functions and rustc to create LLVM-IR of the rust code and then link the LLVM-IR, this would prevent the symbol export.
- Andreas uses a trick that sounds similar: https://github.com/metaspace/linux/commit/89c304539c271fd52e17b918b25cf14c40d0c2bd
- but this should not block upstreaming binder/other things
Do two things in paralell:
- Miguel will write a mail to Kees asking for more context
- Miguel will add this problem to some issue and then Alice if you want you can send a mail that references this issue and explains our way forward
### Bindgen
Bindgen can generate inline static function wrapper: https://github.com/rust-lang/rust-bindgen/pull/2335
### Inline assembly complaints from Peter
Asm goto support
* Gary discussed with Amanieu (project-inline-asm lead) and he's supportive for adding asm-goto. Just need to find some time to implement it.
Lack of memory operand
* Gary: I also discussed this with Amanieu, it seems that he thinks on some architecture there're multiple different addressing modes and it's hard to have a uniform `mem` constraint. Need to look into the design.
Boqun: I will add these two in https://github.com/Rust-for-Linux/linux/issues/514 comments.
Gary: They're language features, despite exposed as `core` macros.
## Miscellaneous
<!-- stuff that does not fit into other categories -->