hv_balloon: Update the balloon driver to use the SBRM API
authorMitchell Levy <levymitchell0@gmail.com>
Mon, 7 Aug 2023 23:55:47 +0000 (23:55 +0000)
committerWei Liu <wei.liu@kernel.org>
Fri, 11 Aug 2023 21:04:42 +0000 (21:04 +0000)
commit4f74fb30ea21d8b2d515f5929d2b46ad6834edba
treeb05bd25f428cfdb105b91f7d3daeff0dfde0d00a
parent5d0c230f1de8c7515b6567d9afba1f196fb4e2f4
hv_balloon: Update the balloon driver to use the SBRM API

This patch is intended as a proof-of-concept for the new SBRM
machinery[1]. For some brief background, the idea behind SBRM is using
the __cleanup__ attribute to automatically unlock locks (or otherwise
release resources) when they go out of scope, similar to C++ style RAII.
This promises some benefits such as making code simpler (particularly
where you have lots of goto fail; type constructs) as well as reducing
the surface area for certain kinds of bugs.

The changes in this patch should not result in any difference in how the
code actually runs (i.e., it's purely an exercise in this new syntax
sugar). In one instance SBRM was not appropriate, so I left that part
alone, but all other locking/unlocking is handled automatically in this
patch.

[1] https://lore.kernel.org/all/20230626125726.GU4253@hirez.programming.kicks-ass.net/

Suggested-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: "Mitchell Levy (Microsoft)" <levymitchell0@gmail.com>
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Link: https://lore.kernel.org/r/20230807-sbrm-hyperv-v2-1-9d2ac15305bd@gmail.com
drivers/hv/hv_balloon.c