Greg Kurz <gr...@kaod.org> writes: > We have a dedicated error API for hints. Use it instead of embedding > the hint in the error message, as recommanded in the "qapi/error.h" > header file. > > Since spapr_caps_apply() passes &error_fatal, all functions must > also call the ERRP_GUARD() macro for error_append_hint() to be > functional.
This isn't a request for change in this patch, just an attempt to squash possible misunderstandings. It's true that error_append_hint() without ERRP_GUARD() works as long as the caller doesn't pass certain errp arguments. But the callee should work for all possible @errp arguments, not just the ones that get passed today. That's why error.h wants you to guard *all* uses of error_append_hint(errp): * = Why, when and how to use ERRP_GUARD() = * * Without ERRP_GUARD(), use of the @errp parameter is restricted: * - It must not be dereferenced, because it may be null. * - It should not be passed to error_prepend() or * error_append_hint(), because that doesn't work with &error_fatal. * ERRP_GUARD() lifts these restrictions. No need to make an argument involving the possible arguments (pardon the pun). [...]