---
# System prepended metadata

title: Meeting 2023-06-14
tags: [meeting notes]

---

# Meeting 2023-06-14
<!-- 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 -->

### [Safety Extensions](https://hackmd.io/b_EHIsQHSQaVMVyyoGhpmA?view)

Benno: I have started on this and made two patches on the branch [safety-extensions](https://github.com/y86-dev/linux/commits/safety-extensions) that improve some safety comments on `CStr` and on `Error`. I just wanted to mention it here and not discuss it (maybe next week?). Though I still want to know your thoughts.

## Discussion Questions
<!-- Anything that requires lengthy discussion/more general questions also fit here -->

### Linked List Bindings

<https://rust-for-linux.zulipchat.com/#narrow/stream/288089-General/topic/Linked.20list.20bindings/near/364561185>

Benno: I think it could be a good idea to have a singly linked `BoxList<T>` that can be used in the simple case 1. Not sure if some people would need to also walk the cursor backwards. Otherwise the design does make sense. Here are some more thoughts:
- for reference counting I think it would also make sense to support `ARef`/`AlwaysRefCounted`.
- `ContainerOfStrategy` might be something we want to generalize, since workqueue could also make use of it and if we implement the linkedlist like this, then we will have two traits `HasLinks` and `HasWork` which are almost identical.

Alice: There is actually an interesting non-trivial difference between `HasWork` and `HasLinks`. The `HasWork` trait could easily be replaced with a `HasField` trait that just declares that the type has a field of a given type. However, the `HasLinks` trait moves the `Data` and `Sync` types to be associated types rather than generic types, which means that it's not really possible to generalize it. However, avoiding those associated types complicates other parts of the design — pretty much every single type becomes annotated with both `S` and `D` to make it work, because now you can have multiple fields with the same `ID` and you need to disambiguate between them.


*lots of discussion*

Gary: We can avoid `AtomicBool` by just doing CAS(0, address) in insertion and for box we can set directly without CAS. This way we might be able to avoid having different `Links` for different lists (and reduce generics).

### LPC MC Proposals

Miguel: It is open, so if you want to present go for it.

### Keeping Track of Reviews

Benno: I try to mark patches in my email until I can review them, but sometimes I forget to mark it. IIRC Miguel has a spreadsheet with all of the patches that are on the list and at some point suggested that he makes it more public. I think it might be a good idea to at least have it public to reviewers.

Miguel: Sure I can share it with the reviewers and maintainers.

## Miscellaneous
<!-- stuff that does not fit into other categories -->
