How does the maapi_keypath_diff_iterate work if it is part validation callpoint during upgrade

I would like to under stand how does the maapi_keypath_diff_iterate behave when it utilized in a validation call point handler during upgrade/db restore.
Say we have DBS file taken from system and I am trying to restore it in another system. As part of db restore operation, validation call points on the leaf will get called . If we have a maapi_keypath_diff_iterate used in the validation call point handler, how will the CONFD decide when to call the function pointed by (*iter)?
Please note i am using ITER_WANT_ATTR.

IN the normal operation , if the transaction fed to the maapi_keypath_diff_iterate has the diff it will end up calling the function pointed by (*iter)

IN the normal operation …

There is nothing abnormal about using maapi_diff_iterate or similar functions in validation callbacks. It kind of indicates that you are validating a configuration change, not the final configuration, which should not be the case; but other than that, it works as expected - your iter callback will get invoked for every difference between the original configuration and the new configuration.