]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
objtool: Use O_CREAT with explicit mode mask
authorIngo Molnar <mingo@kernel.org>
Mon, 17 Mar 2025 11:21:57 +0000 (12:21 +0100)
committerIngo Molnar <mingo@kernel.org>
Mon, 17 Mar 2025 11:24:02 +0000 (12:24 +0100)
Recent Ubuntu enforces 3-argument open() with O_CREAT:

      CC      /home/mingo/tip/tools/objtool/builtin-check.o
    In file included from /usr/include/fcntl.h:341,
                     from builtin-check.c:9:
    In function ‘open’,
        inlined from ‘copy_file’ at builtin-check.c:201:11:
    /usr/include/x86_64-linux-gnu/bits/fcntl2.h:52:11: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments
       52 |           __open_missing_mode ();
          |           ^~~~~~~~~~~~~~~~~~~~~~

Use 0400 as the most restrictive mode for the new file.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: linux-kernel@vger.kernel.org
tools/objtool/builtin-check.c

index 39ddca64cb585284bee34832a347dc5b83e8ec8c..5f761f420b8c41f2d82359e71a40c0644f75ba3d 100644 (file)
@@ -198,7 +198,7 @@ static int copy_file(const char *src, const char *dst)
                return 1;
        }
 
-       dst_fd = open(dst, O_WRONLY | O_CREAT | O_TRUNC);
+       dst_fd = open(dst, O_WRONLY | O_CREAT | O_TRUNC, 0400);
        if (dst_fd == -1) {
                ERROR("can't open '%s' for writing", dst);
                return 1;