On Fri, 1 Jul 2022 07:45:50 -0700 Guenter Roeck <linux@xxxxxxxxxxxx> wrote: > > Do not confuse this with static analyzers or other general purpose tooling > > to find bugs. This is not the purpose of the run time verify. It is just to > > prove that certain use cases will perform as expected, given a limited > > input. > > > > ... this is, unfortunately, not explained in the patch. I would have much less > of a problem with the series if those details were included. It's one of those cases where developers get so involved in their code that they leave out the things that are so obvious to them, but not obvious to others ;-) My new saying is: "We work in a field where the obvious seldom is". Hmm, I think I'll go tweet that :-) > > Not that I would mind such a verifier, if it was possible to define one, > but it would have to be tested with a large number of watchdog drivers > to ensure that it addresses all use cases, or at least with a substantial > percentage of use cases. It would also require that the state machine is > readable to give people a chance to fix it if turns out to be broken. > It would also have to be robust, meaning it would have to reject invalid > (unsupported) settings from the start and not only during runtime. I would agree than any module would need to state up front exactly what it is modeling. In safety critical systems, all the components that are used are defined up front. Not sure if we can have the model not load if the required drivers to test are not loaded or ones not part of the model are (Daniel?). Anyway, thanks for the feedback. -- Steve