From: Lennart Poettering Date: Thu, 20 Apr 2023 16:45:09 +0000 (+0200) Subject: mount-util: add umount_and_free() helper X-Git-Tag: v254-rc1~468^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a789f72ed23afeb4324b880c5207d067ff5ff11c;p=thirdparty%2Fsystemd.git mount-util: add umount_and_free() helper --- diff --git a/src/shared/mount-util.h b/src/shared/mount-util.h index d63fddeb10e..8a84d616220 100644 --- a/src/shared/mount-util.h +++ b/src/shared/mount-util.h @@ -83,6 +83,14 @@ static inline char* umount_and_rmdir_and_free(char *p) { } DEFINE_TRIVIAL_CLEANUP_FUNC(char*, umount_and_rmdir_and_free); +static inline char *umount_and_free(char *p) { + PROTECT_ERRNO; + if (p) + (void) umount_recursive(p, 0); + return mfree(p); +} +DEFINE_TRIVIAL_CLEANUP_FUNC(char*, umount_and_free); + int bind_mount_in_namespace(pid_t target, const char *propagate_path, const char *incoming_path, const char *src, const char *dest, bool read_only, bool make_file_or_directory); int mount_image_in_namespace(pid_t target, const char *propagate_path, const char *incoming_path, const char *src, const char *dest, bool read_only, bool make_file_or_directory, const MountOptions *options, const ImagePolicy *image_policy);