We only have a few places that use "naked" pointers, which are in any case deprecated, and we should be able to fix those easily enough.
Mostly the rest are fairly ordinary extensions that just call C functions and use the usual CAMLparam stuff.
We do have a few places that register global roots. And several packages that do callbacks from C back to OCaml. We also use @@noalloc a lot.
Is there anything else? Since there's so much code, what should I be grepping for to find code that might be of concern?
Edit: Some examples of simple stuff:
https://github.com/libguestfs/libguestfs-common/blob/master/... https://github.com/libguestfs/libguestfs-common/blob/master/... https://github.com/libguestfs/libguestfs-common/blob/master/...
More complex stuff:
https://gitlab.com/nbdkit/nbdkit/-/tree/master/plugins/ocaml http://oirase.annexia.org/tmp/ocaml/