]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
lsfd: (bug fix) scan the protocol field of /proc/net/packet as a hex number
authorMasatake YAMATO <yamato@redhat.com>
Sun, 5 Jan 2025 18:30:25 +0000 (03:30 +0900)
committerMasatake YAMATO <yamato@redhat.com>
Tue, 1 Apr 2025 05:02:02 +0000 (14:02 +0900)
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
lsfd-cmd/sock-xinfo.c
tests/expected/lsfd/mkfds-mapped-packet-socket
tests/ts/lsfd/mkfds-mapped-packet-socket

index 6087563c1cd2c8f96b4401397cad3af5e3b62687..d2525ee116848755cd1afdbaeef2ef4176e32ce7 100644 (file)
@@ -2477,7 +2477,7 @@ static void load_xinfo_from_proc_packet(ino_t netns_inode)
                unsigned long inode;
                struct packet_xinfo *pkt;
 
-               if (sscanf(line, "%*x %*d %" SCNu16 " %" SCNu16 " %u %*d %*d %*d %lu",
+               if (sscanf(line, "%*x %*d %" SCNu16 " %" SCNx16 " %u %*d %*d %*d %lu",
                           &type, &protocol, &iface, &inode) < 4)
                        continue;
 
index ec8795b7009e04211de4b24850369e90bf254d12..2e9db5eb56a53b32518708e39d4d81b4507c647b 100644 (file)
@@ -1,8 +1,8 @@
 PACKET
 SOCK.PROTONAME: 0
-type=raw protocol=all iface=lo raw PACKET lo all
+type=raw protocol=ppptalk iface=lo raw PACKET lo ppptalk
 NAME,SOCK.TYPE,SOCK.PROTONAME,PACKET.IFACE,PACKET.PROTOCOL: 0
 PACKET
 SOCK.PROTONAME: 0
-type=dgram protocol=all iface=lo dgram PACKET lo all
+type=dgram protocol=ppptalk iface=lo dgram PACKET lo ppptalk
 NAME,SOCK.TYPE,SOCK.PROTONAME,PACKET.IFACE,PACKET.PROTOCOL: 0
index 12c5ef6bc91834675b267e46ab2514e105e854ab..c3a73c54e9fffc93e883c1350e8f1edbf6cca04e 100755 (executable)
@@ -35,11 +35,12 @@ FD=3
 EXPR=
 INTERFACE=lo
 SOCKTYPE=
+PROTOCOL=$(printf "%d" 0x10)
 ERR=
 
 for SOCKTYPE in RAW DGRAM; do
     coproc MKFDS { "$TS_HELPER_MKFDS" mapped-packet-socket $FD \
-                                     interface=${INTERFACE} socktype=${SOCKTYPE}; }
+                                     interface=${INTERFACE} socktype=${SOCKTYPE} protocol=${PROTOCOL}; }
     if read -u ${MKFDS[0]} PID; then
        EXPR='(ASSOC == "shm") and (STTYPE == "SOCK") and (MODE == "-w-")'
        ${TS_CMD_LSFD} -p "$PID" -n -o SOCK.PROTONAME -Q "${EXPR}"