On Mon, Oct 16, 2023 at 01:10:40PM -0700, Song Liu wrote: > On Sun, Oct 15, 2023 at 12:07 AM Eric Biggers <ebiggers@xxxxxxxxxx> wrote: > > > [...] > > > + */ > > > +__bpf_kfunc int bpf_get_fsverity_digest(struct file *file, struct bpf_dynptr_kern *digest_ptr) > > > +{ > > > + const struct inode *inode = file_inode(file); > > > + struct fsverity_digest *arg = digest_ptr->data; > > > > What alignment is guaranteed here? > > drnptr doesn't not provide alignment guarantee for digest_ptr->data. > If we need alignment guarantee, we need to add it here. So technically it's wrong to cast it to struct fsverity_digest, then. > > > > Also, it looks like I'm being signed up to maintain this. This isn't a stable > > UAPI, right? No need to document this in Documentation/? > > BPF kfuncs are not UAPI. They are as stable as exported symbols. > We do have some documents for BPF kfuncs, for example in > Documentation/bpf/cpumasks.rst. > > Do you have a recommendation or preference on where we should > document this? AFAICT, we can either add it to fsverity.rst or somewhere > in Documentation/bpf/. The BPF documentation seems like the right place. - Eric