Re: Re: [PATCH v2 0/3] Inline helpers into Rust without full LTO
Miguel Ojeda <[email protected]>
| Newsgroups | gmane.linux.uml.devel,gmane.linux.kernel,gmane.linux.ports.arm.kernel,gmane.linux.kbuild.devel,gmane.linux.kernel.mm,gmane.linux.kernel.rust |
|---|---|
| Message-ID | <CANiq72nmFsnoP3dv_-0PWH0XBpf0OuPzNR2CP9Hw56Z+RVifAg@mail.gmail.com> |
On Mon, Mar 23, 2026 at 2:54 PM Mark Brown <[email protected]> wrote: > > Callers should never treat NULL any differently to any other non-error > pointer, this is not a value intended for inspection by users. > > Having specific handling for NULLs is very much not a preferred > interface, and most things shouldn't. The caller should probably have > it's own !CONFIG_REGULATOR checks rather than using the return value. Yeah, that is the understanding I got from reading both the docs and the comment, but I think the docs (i.e. not the comment in the stub) could point that `NULL` is one possible pointer value (perhaps including discouraging relying on particular values at the same time, and perhaps mentioning `!CONFIG_REGULATOR`). i.e. to me, "Pointer to a struct regulator corresponding to the regulator producer," sounds in the docs a bit too much like it will be a valid one... no? Another perspective is that, when one reads the rendered docs: https://docs.kernel.org/driver-api/regulator.html#c.regulator_get one sees the postconditions, but they happen to not apply in all cases (in fact, perhaps not having the "Returns" there would increase the chances one realizes that, but I understand that you want them to treat it as fully opaque as much as possible). It could also help things like AI review systems which may only notice the docs and not the comment inside the stub. Perhaps it could be at least a one-line comment in the real definition, even if not in the rendered docs, to have a chance for others to notice. I don't know -- I hope that helps, in any case. Perhaps Daniel can tell us what he thought when he was writing the code, as another perspective, i.e. whether it was the docs or not the issue. Thanks! Cheers, Miguel