Locking
Locking
Posted Sep 28, 2024 23:12 UTC (Sat) by viro (subscriber, #7872)In reply to: Locking by roc
Parent article: Resources for learning Rust for kernel development
A nice bit of MBAese, that... Opposition between "advantages" on one hand and "your concerns" on another is particularly charming - the former being implicitly objective and unchanging, while the latter - subjective and theoretical in the best case. Use of passive-with-reference-to-management syntax is also impressive. Well done.
Back in the real world, cleanup.h contains tools that are
1) potentially useful
2) experimental and not well-understood
3) demonstrably dangerous in incautious use - and that's demonstrably, not theoretically. Fresh example: https://lore.kernel.org/lkml/20240927-reset-guard-v1-1-29...
The tools in question have nothing to do with Rust, so their relevance in this thread is, indeed, questionable. Who'd dragged them in, I wonder... <checks> https://lwn.net/Articles/991431/ is where that had happened, so it would be yourself, wouldn't it?
Posted Sep 29, 2024 7:22 UTC (Sun)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Deferred cleanup has been used in C++ and Go for _decades_ and is very well understood. The main rule is: do NOT mix it with goto-based control. It can even be automated via a simple checkpatch.pl rule.
In that case, the of_node_put should also be rewritten into the guard-style cleanup.
Locking