]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
sysfs: sysfs_get_byteorder: add context parameter
authorThomas Weißschuh <thomas@t-8ch.de>
Thu, 17 Nov 2022 01:50:40 +0000 (02:50 +0100)
committerThomas Weißschuh <thomas@t-8ch.de>
Fri, 25 Nov 2022 18:21:45 +0000 (19:21 +0100)
This can be used to read the file /sys/kernel/cpu_byteorder from an
alternative root-directory.

include/sysfs.h
lib/sysfs.c
misc-utils/lsfd-sock-xinfo.c
sys-utils/lscpu.c

index a5200141bfa4c185e8883796bf357f4ddf95ac4c..56e125b71f7d1e8bd4de68a5d2d7925bbc87dcef 100644 (file)
@@ -116,6 +116,6 @@ enum sysfs_byteorder {
        SYSFS_BYTEORDER_BIG,
 };
 
-extern enum sysfs_byteorder sysfs_get_byteorder(void);
+extern enum sysfs_byteorder sysfs_get_byteorder(struct path_cxt *pc);
 
 #endif /* UTIL_LINUX_SYSFS_H */
index ad6b31fb816ef1b2023ae008447206945e763afc..56eea5c6450a311bc45e4708bac031c19f349a15 100644 (file)
@@ -1072,13 +1072,13 @@ char *sysfs_chrdev_devno_to_devname(dev_t devno, char *buf, size_t bufsiz)
 
 }
 
-enum sysfs_byteorder sysfs_get_byteorder(void)
+enum sysfs_byteorder sysfs_get_byteorder(struct path_cxt *pc)
 {
        int rc;
        char buf[BUFSIZ];
        enum sysfs_byteorder ret;
 
-       rc = ul_path_read_buffer(NULL, buf, sizeof(buf), _PATH_SYS_CPU_BYTEORDER);
+       rc = ul_path_read_buffer(pc, buf, sizeof(buf), _PATH_SYS_CPU_BYTEORDER);
        if (rc < 0)
                goto unknown;
 
index ca6b8ee48cf8673ecbaba3d1c64d1c27d4f0a85a..aae4e84df7793e8516b9d3fb598d04c8a8ff4ed3 100644 (file)
@@ -637,7 +637,7 @@ static void load_xinfo_from_proc_inet_L3(ino_t netns_inode, const char *proc_fil
                /* Unexpected line */
                goto out;
 
-       enum sysfs_byteorder byteorder = sysfs_get_byteorder();
+       enum sysfs_byteorder byteorder = sysfs_get_byteorder(NULL);
 
        while (fgets(line, sizeof(line), tcp_fp)) {
                unsigned long local_addr;
index 080c9f6e9c1112a12aa37c0d52f30a7f3f719a88..f706b342915d11db89c4bb17930b5e1d76589136 100644 (file)
@@ -1000,7 +1000,7 @@ static void print_summary(struct lscpu_cxt *cxt)
        if (ct && ct->addrsz)
                add_summary_s(tb, sec, _("Address sizes:"), ct->addrsz);
 
-       if (sysfs_get_byteorder() == SYSFS_BYTEORDER_LITTLE)
+       if (sysfs_get_byteorder(NULL) == SYSFS_BYTEORDER_LITTLE)
                add_summary_s(tb, sec, _("Byte Order:"), "Little Endian");
        else
                add_summary_s(tb, sec, _("Byte Order:"), "Big Endian");