So, yeah, I'd rather not export seamcall_ret(), but I'd rather do that
than have a layer of abstraction that's adding little value while it
also brings obfuscation.
Just want to provide one more information:
Peter posted a series to allow us to export one symbol _only_ for a
particular module:
https://lore.kernel.org/lkml/20241111105430.575636482@xxxxxxxxxxxxx/
IIUC we can use that to only export __seamcall*() for KVM.
I am not sure whether this addresses the concern of "the exported symbol
could be potentially abused by other modules like out-of-tree ones"?