4
0
Эх сурвалжийг харах

util: Deprecate `syscall_prefix`

Using the prefix only for the host architecture is often not enough,
kernels usually provide symbols for more architectures, which are
used by multilib applications. Handling them might or might not be
necessary depending on the use case. Due to that complexity, we
decided to let the callers to handle prefixes the way they prefer.
Mike Rostecki 1 жил өмнө
parent
commit
bd6ba3ad8b
1 өөрчлөгдсөн 7 нэмэгдсэн , 0 устгасан
  1. 7 0
      aya/src/util.rs

+ 7 - 0
aya/src/util.rs

@@ -265,6 +265,13 @@ fn parse_kernel_symbols(reader: impl BufRead) -> Result<BTreeMap<u64, String>, i
 /// # Errors
 ///
 /// Returns [`std::io::ErrorKind::NotFound`] if the prefix can't be guessed. Returns other [`std::io::Error`] kinds if `/proc/kallsyms` can't be opened or is somehow invalid.
+#[deprecated(
+    since = "0.12.0",
+    note = "On some systems - commonly on 64 bit kernels that support running \
+    32 bit applications - the syscall prefix depends on what architecture an \
+    application is compiled for, therefore attaching to only one prefix is \
+    incorrect and can lead to security issues."
+)]
 pub fn syscall_prefix() -> Result<&'static str, io::Error> {
     const PREFIXES: [&str; 7] = [
         "sys_",