From the point of view of developers who want to use these functions, I see your point. But from the point of view of developers who actually write these functions, I think it is totally unacceptable to export all symbols. What it means is that you don't know what you will break when you make whatever modification. In other words, with the EXPORT_SYMBOL mechanism, developers can at least have some idea about what will break by the changes they want to make, so they can try their best to minimize breakage and plan them ahead when needed. Without the mechanism, all they can do is to break their interface completely randomly, which I don't see is a good service to module writers. While the EXPORT_SYMBOL mechanism does have rough edges, I think it is essential for keeping things maintainable even though the kernel functions/interfaces are made and used by people who are not known to each other.
Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds