public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* [Bug runtime/31373] New: Allow systemtap to work on kernels without strlcpy (removed in the linux-6.8.0-rc3 kernels)
@ 2024-02-12 21:11 wcohen at redhat dot com
  2024-02-12 22:58 ` [Bug runtime/31373] " fche at redhat dot com
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: wcohen at redhat dot com @ 2024-02-12 21:11 UTC (permalink / raw)
  To: systemtap

https://sourceware.org/bugzilla/show_bug.cgi?id=31373

            Bug ID: 31373
           Summary: Allow systemtap to work on kernels without strlcpy
                    (removed in the linux-6.8.0-rc3 kernels)
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: runtime
          Assignee: systemtap at sourceware dot org
          Reporter: wcohen at redhat dot com
  Target Milestone: ---

The latest linux kernels have removed strlcpy with kernel git commit
d26270061ae66b915138af7cd73ca6f8b85e6b44 :

Author: Kees Cook <keescook@chromium.org>  2024-01-18 15:31:55
Committer: Kees Cook <keescook@chromium.org>  2024-01-19 14:59:11
Parent: e28b0359587fe4055c838698172de0530b511702 (bcachefs: Replace strlcpy()
with strscpy())
Child:  57f22c8dab6b266ae36b89b073a4a33dea71e762 (Merge tag
'strlcpy-removal-v6.8-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux)
Branches: master, remotes/origin/master
Follows: v6.7
Precedes: v6.8-rc1

    string: Remove strlcpy()

    With all the users of strlcpy() removed[1] from the kernel, remove the
    API, self-tests, and other references. Leave mentions in Documentation
    (about its deprecation), and in checkpatch.pl (to help migrate host-only
    tools/ usage). Long live strscpy().

    Link: https://github.com/KSPP/linux/issues/89 [1]
    Cc: Azeem Shaikh <azeemshaikh38@gmail.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Andy Whitcroft <apw@canonical.com>
    Cc: Joe Perches <joe@perches.com>
    Cc: Dwaipayan Ray <dwaipayanray1@gmail.com>
    Cc: Lukas Bulwahn <lukas.bulwahn@gmail.com>
    Cc: linux-hardening@vger.kernel.org
    Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Kees Cook <keescook@chromium.org>


Without the strlcpy function in the kernel systemtap scripts fail to build as
seen below:

$ ../install/bin/stap -p4 testsuite/systemtap.examples/general/ansi_colors.stp
In file included from
/home/wcohen/systemtap_write/install/share/systemtap/runtime/linux/runtime.h:325,
                 from
/home/wcohen/systemtap_write/install/share/systemtap/runtime/runtime.h:26,
                 from
/tmp/stapBVBodh/stap_a3ae1fd74dcbac47ca75cf2713720668_2212_src.c:21:
/home/wcohen/systemtap_write/install/share/systemtap/runtime/stp_string.c: In
function ‘_stp_text_str’:
/home/wcohen/systemtap_write/install/share/systemtap/runtime/stp_string.c:304:9:
error: implicit declaration of function ‘strlcpy’; did you mean ‘strscpy’?
[-Wimplicit-function-declaration]
  304 |         strlcpy (outstr, "<unknown>", outlen);
      |         ^~~~~~~
      |         strscpy
make[1]: *** [scripts/Makefile.build:243:
/tmp/stapBVBodh/stap_a3ae1fd74dcbac47ca75cf2713720668_2212_src.o] Error 1
make: *** [Makefile:1939: /tmp/stapBVBodh] Error 2
WARNING: kbuild exited with status: 2
Pass 4: compilation failed.  [man error::pass4]
Kernel version 6.8.0 is outside tested range 2.6.32 ... 6.8-rc0

See a number of strlcpy in runtime directory, but there are also strscpy calls
in the tapset directory and some of the *.cxx files.  There is some discussion
about the move from strlcpy to strscpy in https://lwn.net/Articles/659214/ .  
One thing to note is that strlcpy and strscpy have different return value
semantics and there are some places where the return value of strlcpy is being
used.

The strscpy function was added to the linux kernel with git commit
30035e45753b708e7d47a98398500ca005e02b86 around 2015-04-29 and is available in
Linux 4.3 and newer kernels.

-- 
You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-02-14 14:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-12 21:11 [Bug runtime/31373] New: Allow systemtap to work on kernels without strlcpy (removed in the linux-6.8.0-rc3 kernels) wcohen at redhat dot com
2024-02-12 22:58 ` [Bug runtime/31373] " fche at redhat dot com
2024-02-13 14:17 ` wcohen at redhat dot com
2024-02-13 15:31 ` wcohen at redhat dot com
2024-02-14 14:46 ` wcohen at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).