From 80396cc72ac7c03c79af7a69da926227fbac86e9 Mon Sep 17 00:00:00 2001 From: Michal Sieron Date: Mon, 12 Feb 2024 10:09:26 +0100 Subject: sanity.bbclass: raise_sanity_error if /tmp is noexec Older meson versions save temporary scripts in /tmp. Similarly some recipies also do that (e.g. ccan in sbsigntool). As this can lead to unexpected build failures with no simple way to workaround, make such setup a fatal error. (From OE-Core rev: ee93a8e89322143252040bd5bc99259c5efff831) Signed-off-by: Michal Sieron Signed-off-by: Richard Purdie --- meta/classes-global/sanity.bbclass | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'meta/classes-global') diff --git a/meta/classes-global/sanity.bbclass b/meta/classes-global/sanity.bbclass index 1bd74e1935..bbbc41ddae 100644 --- a/meta/classes-global/sanity.bbclass +++ b/meta/classes-global/sanity.bbclass @@ -840,6 +840,10 @@ def check_sanity_everybuild(status, d): status.addresult("Please use a umask which allows a+rx and u+rwx\n") os.umask(omask) + # Ensure /tmp is NOT mounted with noexec + if os.statvfs("/tmp").f_flag & os.ST_NOEXEC: + raise_sanity_error("/tmp shouldn't be mounted with noexec.", d) + if d.getVar('TARGET_ARCH') == "arm": # This path is no longer user-readable in modern (very recent) Linux try: -- cgit v1.2.3-54-g00ecf