M1 progress: engine port compiles except pf.c; AF_DIVERT socket family; ifq framework

- compat layer extended through the full BSD API surface pf_ioctl/pf_lb/
  pf_if/pf_norm/pf_table/pf_ruleset/radix/md5/sha2 need (all compile):
  cpumem/counters model, ifaddr/ifg groups, cred view, endian+in6 names,
  NAT46/64, SipHash24, mbuf_list, frag6 helpers, ip6 forward/checksum,
  tcp options/FSM names, taskqueue & sysctl shims (documented in
  docs/porting-notes.md)
- pfsrc/divert_sock.c: real BSD divert(4) as runtime-registered PF_DIVERT=32
  socket family inside the module (sock_register; NPROTO=AF_MAX=45 -> zero
  core patches); divert_packet/divert6_packet wired for pf.c
- compat/pfk_ifq.c: OpenBSD 8.0 ifq framework with priq back end; hfsc and
  fq_codel aliases pending M5 (recorded in feature matrix as pending)
- design + plan updated for the divert decision (user-requested)
- stage-port.sh: single deterministic rename program for headers and .c
This commit is contained in:
lgcosta committed 2026-11-11 13:35:53 -03:00
1 parent a84b2c91f3
commit 1fcd7b3046
77 files changed
+28002 -1114

No files matched your search

+16 -6
View File
@@ -1,4 +1,4 @@
savedcmd_compat/md5.o := gcc -Wp,-MMD,compat/.md5.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -Wno-declaration-after-statement -DMODULE -DKBUILD_BASENAME='"md5"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/md5.o compat/md5.c
savedcmd_compat/md5.o := gcc -Wp,-MMD,compat/.md5.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -D_KERNEL=1 -Wno-declaration-after-statement -Wno-implicit-fallthrough -Wno-frame-larger-than -DMODULE -DKBUILD_BASENAME='"md5"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/md5.o compat/md5.c
source_compat/md5.o := compat/md5.c
@@ -1108,6 +1108,11 @@ deps_compat/md5.o := \
$(wildcard include/config/UNWINDER_ORC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/module.h \
$(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/prandom.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/once.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/net.h \
@@ -1153,7 +1158,6 @@ deps_compat/md5.o := \
$(wildcard include/config/ARCH_HAS_HW_PTE_YOUNG) \
$(wildcard include/config/GUP_GET_PXX_LOW_HIGH) \
$(wildcard include/config/ARCH_WANT_PMD_MKWRITE) \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
$(wildcard include/config/X86_ESPFIX64) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/memremap.h \
$(wildcard include/config/DEVICE_PRIVATE) \
@@ -1754,10 +1758,6 @@ deps_compat/md5.o := \
$(wildcard include/config/HAVE_ARCH_BITREVERSE) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/bitops/__bitrev.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/if_vlan.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/sch_generic.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/gen_stats.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/gen_stats.h \
@@ -1810,6 +1810,7 @@ deps_compat/md5.o := \
include/compat/sys/socket.h \
include/compat/net/if_types.h \
include/compat/net/if_var.h \
include/compat/net/ifq.h \
include/pfk_mbuf.h \
include/pfk_net.h \
include/pfk_if.h \
@@ -1817,6 +1818,15 @@ deps_compat/md5.o := \
include/compat/crypto/md5.h \
include/compat/crypto/siphash.h \
include/compat/net/toeplitz.h \
include/net/pfvar.h \
include/compat/sys/syslimits.h \
include/compat/netinet/in.h \
include/compat/net/radix.h \
include/net/pfvar_priv.h \
include/compat/sys/rwlock.h \
include/compat/sys/mutex.h \
include/compat/sys/pclock.h \
include/compat/sys/percpu.h \
compat/md5.o: $(deps_compat/md5.o)
+16 -6
View File
@@ -1,4 +1,4 @@
savedcmd_compat/pfk_if.o := gcc -Wp,-MMD,compat/.pfk_if.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -Wno-declaration-after-statement -DMODULE -DKBUILD_BASENAME='"pfk_if"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/pfk_if.o compat/pfk_if.c
savedcmd_compat/pfk_if.o := gcc -Wp,-MMD,compat/.pfk_if.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -D_KERNEL=1 -Wno-declaration-after-statement -Wno-implicit-fallthrough -Wno-frame-larger-than -DMODULE -DKBUILD_BASENAME='"pfk_if"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/pfk_if.o compat/pfk_if.c
source_compat/pfk_if.o := compat/pfk_if.c
@@ -1109,6 +1109,11 @@ deps_compat/pfk_if.o := \
$(wildcard include/config/UNWINDER_ORC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/module.h \
$(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/prandom.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/once.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/net.h \
@@ -1154,7 +1159,6 @@ deps_compat/pfk_if.o := \
$(wildcard include/config/ARCH_HAS_HW_PTE_YOUNG) \
$(wildcard include/config/GUP_GET_PXX_LOW_HIGH) \
$(wildcard include/config/ARCH_WANT_PMD_MKWRITE) \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
$(wildcard include/config/X86_ESPFIX64) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/memremap.h \
$(wildcard include/config/DEVICE_PRIVATE) \
@@ -1754,10 +1758,6 @@ deps_compat/pfk_if.o := \
$(wildcard include/config/HAVE_ARCH_BITREVERSE) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/bitops/__bitrev.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/if_vlan.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/sch_generic.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/gen_stats.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/gen_stats.h \
@@ -1810,6 +1810,7 @@ deps_compat/pfk_if.o := \
include/compat/sys/socket.h \
include/compat/net/if_types.h \
include/compat/net/if_var.h \
include/compat/net/ifq.h \
include/pfk_mbuf.h \
include/pfk_net.h \
include/pfk_if.h \
@@ -1817,6 +1818,15 @@ deps_compat/pfk_if.o := \
include/compat/crypto/md5.h \
include/compat/crypto/siphash.h \
include/compat/net/toeplitz.h \
include/net/pfvar.h \
include/compat/sys/syslimits.h \
include/compat/netinet/in.h \
include/compat/net/radix.h \
include/net/pfvar_priv.h \
include/compat/sys/rwlock.h \
include/compat/sys/mutex.h \
include/compat/sys/pclock.h \
include/compat/sys/percpu.h \
compat/pfk_if.o: $(deps_compat/pfk_if.o)
File diff suppressed because it is too large. Load diff
+16 -6
View File
@@ -1,4 +1,4 @@
savedcmd_compat/pfk_kern.o := gcc -Wp,-MMD,compat/.pfk_kern.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -Wno-declaration-after-statement -DMODULE -DKBUILD_BASENAME='"pfk_kern"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/pfk_kern.o compat/pfk_kern.c
savedcmd_compat/pfk_kern.o := gcc -Wp,-MMD,compat/.pfk_kern.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -D_KERNEL=1 -Wno-declaration-after-statement -Wno-implicit-fallthrough -Wno-frame-larger-than -DMODULE -DKBUILD_BASENAME='"pfk_kern"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/pfk_kern.o compat/pfk_kern.c
source_compat/pfk_kern.o := compat/pfk_kern.c
@@ -1108,6 +1108,11 @@ deps_compat/pfk_kern.o := \
$(wildcard include/config/UNWINDER_ORC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/module.h \
$(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/prandom.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/once.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/net.h \
@@ -1153,7 +1158,6 @@ deps_compat/pfk_kern.o := \
$(wildcard include/config/ARCH_HAS_HW_PTE_YOUNG) \
$(wildcard include/config/GUP_GET_PXX_LOW_HIGH) \
$(wildcard include/config/ARCH_WANT_PMD_MKWRITE) \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
$(wildcard include/config/X86_ESPFIX64) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/memremap.h \
$(wildcard include/config/DEVICE_PRIVATE) \
@@ -1754,10 +1758,6 @@ deps_compat/pfk_kern.o := \
$(wildcard include/config/HAVE_ARCH_BITREVERSE) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/bitops/__bitrev.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/if_vlan.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/sch_generic.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/gen_stats.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/gen_stats.h \
@@ -1810,6 +1810,7 @@ deps_compat/pfk_kern.o := \
include/compat/sys/socket.h \
include/compat/net/if_types.h \
include/compat/net/if_var.h \
include/compat/net/ifq.h \
include/pfk_mbuf.h \
include/pfk_net.h \
include/pfk_if.h \
@@ -1817,6 +1818,15 @@ deps_compat/pfk_kern.o := \
include/compat/crypto/md5.h \
include/compat/crypto/siphash.h \
include/compat/net/toeplitz.h \
include/net/pfvar.h \
include/compat/sys/syslimits.h \
include/compat/netinet/in.h \
include/compat/net/radix.h \
include/net/pfvar_priv.h \
include/compat/sys/rwlock.h \
include/compat/sys/mutex.h \
include/compat/sys/pclock.h \
include/compat/sys/percpu.h \
compat/pfk_kern.o: $(deps_compat/pfk_kern.o)
+16 -6
View File
@@ -1,4 +1,4 @@
savedcmd_compat/pfk_mbuf.o := gcc -Wp,-MMD,compat/.pfk_mbuf.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -Wno-declaration-after-statement -DMODULE -DKBUILD_BASENAME='"pfk_mbuf"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/pfk_mbuf.o compat/pfk_mbuf.c
savedcmd_compat/pfk_mbuf.o := gcc -Wp,-MMD,compat/.pfk_mbuf.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -D_KERNEL=1 -Wno-declaration-after-statement -Wno-implicit-fallthrough -Wno-frame-larger-than -DMODULE -DKBUILD_BASENAME='"pfk_mbuf"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/pfk_mbuf.o compat/pfk_mbuf.c
source_compat/pfk_mbuf.o := compat/pfk_mbuf.c
@@ -1108,6 +1108,11 @@ deps_compat/pfk_mbuf.o := \
$(wildcard include/config/UNWINDER_ORC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/module.h \
$(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/prandom.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/once.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/net.h \
@@ -1153,7 +1158,6 @@ deps_compat/pfk_mbuf.o := \
$(wildcard include/config/ARCH_HAS_HW_PTE_YOUNG) \
$(wildcard include/config/GUP_GET_PXX_LOW_HIGH) \
$(wildcard include/config/ARCH_WANT_PMD_MKWRITE) \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
$(wildcard include/config/X86_ESPFIX64) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/memremap.h \
$(wildcard include/config/DEVICE_PRIVATE) \
@@ -1754,10 +1758,6 @@ deps_compat/pfk_mbuf.o := \
$(wildcard include/config/HAVE_ARCH_BITREVERSE) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/bitops/__bitrev.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/if_vlan.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/sch_generic.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/gen_stats.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/gen_stats.h \
@@ -1810,6 +1810,7 @@ deps_compat/pfk_mbuf.o := \
include/compat/sys/socket.h \
include/compat/net/if_types.h \
include/compat/net/if_var.h \
include/compat/net/ifq.h \
include/pfk_mbuf.h \
include/pfk_net.h \
include/pfk_if.h \
@@ -1817,6 +1818,15 @@ deps_compat/pfk_mbuf.o := \
include/compat/crypto/md5.h \
include/compat/crypto/siphash.h \
include/compat/net/toeplitz.h \
include/net/pfvar.h \
include/compat/sys/syslimits.h \
include/compat/netinet/in.h \
include/compat/net/radix.h \
include/net/pfvar_priv.h \
include/compat/sys/rwlock.h \
include/compat/sys/mutex.h \
include/compat/sys/pclock.h \
include/compat/sys/percpu.h \
compat/pfk_mbuf.o: $(deps_compat/pfk_mbuf.o)
File diff suppressed because it is too large. Load diff
+16 -6
View File
@@ -1,4 +1,4 @@
savedcmd_compat/pfk_xmit.o := gcc -Wp,-MMD,compat/.pfk_xmit.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -Wno-declaration-after-statement -DMODULE -DKBUILD_BASENAME='"pfk_xmit"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/pfk_xmit.o compat/pfk_xmit.c
savedcmd_compat/pfk_xmit.o := gcc -Wp,-MMD,compat/.pfk_xmit.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -D_KERNEL=1 -Wno-declaration-after-statement -Wno-implicit-fallthrough -Wno-frame-larger-than -DMODULE -DKBUILD_BASENAME='"pfk_xmit"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/pfk_xmit.o compat/pfk_xmit.c
source_compat/pfk_xmit.o := compat/pfk_xmit.c
@@ -1109,6 +1109,11 @@ deps_compat/pfk_xmit.o := \
$(wildcard include/config/UNWINDER_ORC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/module.h \
$(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/prandom.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/once.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/net.h \
@@ -1154,7 +1159,6 @@ deps_compat/pfk_xmit.o := \
$(wildcard include/config/ARCH_HAS_HW_PTE_YOUNG) \
$(wildcard include/config/GUP_GET_PXX_LOW_HIGH) \
$(wildcard include/config/ARCH_WANT_PMD_MKWRITE) \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
$(wildcard include/config/X86_ESPFIX64) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/memremap.h \
$(wildcard include/config/DEVICE_PRIVATE) \
@@ -1754,10 +1758,6 @@ deps_compat/pfk_xmit.o := \
$(wildcard include/config/HAVE_ARCH_BITREVERSE) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/bitops/__bitrev.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/if_vlan.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/sch_generic.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/gen_stats.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/gen_stats.h \
@@ -1810,6 +1810,7 @@ deps_compat/pfk_xmit.o := \
include/compat/sys/socket.h \
include/compat/net/if_types.h \
include/compat/net/if_var.h \
include/compat/net/ifq.h \
include/pfk_mbuf.h \
include/pfk_net.h \
include/pfk_if.h \
@@ -1817,6 +1818,15 @@ deps_compat/pfk_xmit.o := \
include/compat/crypto/md5.h \
include/compat/crypto/siphash.h \
include/compat/net/toeplitz.h \
include/net/pfvar.h \
include/compat/sys/syslimits.h \
include/compat/netinet/in.h \
include/compat/net/radix.h \
include/net/pfvar_priv.h \
include/compat/sys/rwlock.h \
include/compat/sys/mutex.h \
include/compat/sys/pclock.h \
include/compat/sys/percpu.h \
compat/pfk_xmit.o: $(deps_compat/pfk_xmit.o)
File diff suppressed because it is too large. Load diff
+16 -6
View File
@@ -1,4 +1,4 @@
savedcmd_compat/sha2.o := gcc -Wp,-MMD,compat/.sha2.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -Wno-declaration-after-statement -DMODULE -DKBUILD_BASENAME='"sha2"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/sha2.o compat/sha2.c
savedcmd_compat/sha2.o := gcc -Wp,-MMD,compat/.sha2.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -D_KERNEL=1 -Wno-declaration-after-statement -Wno-implicit-fallthrough -Wno-frame-larger-than -DMODULE -DKBUILD_BASENAME='"sha2"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/sha2.o compat/sha2.c
source_compat/sha2.o := compat/sha2.c
@@ -1108,6 +1108,11 @@ deps_compat/sha2.o := \
$(wildcard include/config/UNWINDER_ORC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/module.h \
$(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/prandom.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/once.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/net.h \
@@ -1153,7 +1158,6 @@ deps_compat/sha2.o := \
$(wildcard include/config/ARCH_HAS_HW_PTE_YOUNG) \
$(wildcard include/config/GUP_GET_PXX_LOW_HIGH) \
$(wildcard include/config/ARCH_WANT_PMD_MKWRITE) \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
$(wildcard include/config/X86_ESPFIX64) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/memremap.h \
$(wildcard include/config/DEVICE_PRIVATE) \
@@ -1754,10 +1758,6 @@ deps_compat/sha2.o := \
$(wildcard include/config/HAVE_ARCH_BITREVERSE) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/bitops/__bitrev.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/if_vlan.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/sch_generic.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/gen_stats.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/gen_stats.h \
@@ -1810,6 +1810,7 @@ deps_compat/sha2.o := \
include/compat/sys/socket.h \
include/compat/net/if_types.h \
include/compat/net/if_var.h \
include/compat/net/ifq.h \
include/pfk_mbuf.h \
include/pfk_net.h \
include/pfk_if.h \
@@ -1817,6 +1818,15 @@ deps_compat/sha2.o := \
include/compat/crypto/md5.h \
include/compat/crypto/siphash.h \
include/compat/net/toeplitz.h \
include/net/pfvar.h \
include/compat/sys/syslimits.h \
include/compat/netinet/in.h \
include/compat/net/radix.h \
include/net/pfvar_priv.h \
include/compat/sys/rwlock.h \
include/compat/sys/mutex.h \
include/compat/sys/pclock.h \
include/compat/sys/percpu.h \
compat/sha2.o: $(deps_compat/sha2.o)
+16 -6
View File
@@ -1,4 +1,4 @@
savedcmd_compat/siphash.o := gcc -Wp,-MMD,compat/.siphash.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -Wno-declaration-after-statement -DMODULE -DKBUILD_BASENAME='"siphash"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/siphash.o compat/siphash.c
savedcmd_compat/siphash.o := gcc -Wp,-MMD,compat/.siphash.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -D_KERNEL=1 -Wno-declaration-after-statement -Wno-implicit-fallthrough -Wno-frame-larger-than -DMODULE -DKBUILD_BASENAME='"siphash"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/siphash.o compat/siphash.c
source_compat/siphash.o := compat/siphash.c
@@ -1108,6 +1108,11 @@ deps_compat/siphash.o := \
$(wildcard include/config/UNWINDER_ORC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/module.h \
$(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/prandom.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/once.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/net.h \
@@ -1153,7 +1158,6 @@ deps_compat/siphash.o := \
$(wildcard include/config/ARCH_HAS_HW_PTE_YOUNG) \
$(wildcard include/config/GUP_GET_PXX_LOW_HIGH) \
$(wildcard include/config/ARCH_WANT_PMD_MKWRITE) \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
$(wildcard include/config/X86_ESPFIX64) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/memremap.h \
$(wildcard include/config/DEVICE_PRIVATE) \
@@ -1754,10 +1758,6 @@ deps_compat/siphash.o := \
$(wildcard include/config/HAVE_ARCH_BITREVERSE) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/bitops/__bitrev.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/if_vlan.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/sch_generic.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/gen_stats.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/gen_stats.h \
@@ -1810,6 +1810,7 @@ deps_compat/siphash.o := \
include/compat/sys/socket.h \
include/compat/net/if_types.h \
include/compat/net/if_var.h \
include/compat/net/ifq.h \
include/pfk_mbuf.h \
include/pfk_net.h \
include/pfk_if.h \
@@ -1817,6 +1818,15 @@ deps_compat/siphash.o := \
include/compat/crypto/md5.h \
include/compat/crypto/siphash.h \
include/compat/net/toeplitz.h \
include/net/pfvar.h \
include/compat/sys/syslimits.h \
include/compat/netinet/in.h \
include/compat/net/radix.h \
include/net/pfvar_priv.h \
include/compat/sys/rwlock.h \
include/compat/sys/mutex.h \
include/compat/sys/pclock.h \
include/compat/sys/percpu.h \
compat/siphash.o: $(deps_compat/siphash.o)
+16 -6
View File
@@ -1,4 +1,4 @@
savedcmd_compat/toeplitz.o := gcc -Wp,-MMD,compat/.toeplitz.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -Wno-declaration-after-statement -DMODULE -DKBUILD_BASENAME='"toeplitz"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/toeplitz.o compat/toeplitz.c
savedcmd_compat/toeplitz.o := gcc -Wp,-MMD,compat/.toeplitz.o.d -nostdinc -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/generated/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi -I/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/generated/uapi -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler-version.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/kconfig.h -include /home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/compiler_types.h -D__KERNEL__ -Werror -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fzero-init-padding-bits=all -fno-stack-clash-protection -fdiagnostics-show-context=2 -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -I././include -I././include/compat -DPFLINUX=1 -D_KERNEL=1 -Wno-declaration-after-statement -Wno-implicit-fallthrough -Wno-frame-larger-than -DMODULE -DKBUILD_BASENAME='"toeplitz"' -DKBUILD_MODNAME='"pf"' -D__KBUILD_MODNAME=pf -c -o compat/toeplitz.o compat/toeplitz.c
source_compat/toeplitz.o := compat/toeplitz.c
@@ -1108,6 +1108,11 @@ deps_compat/toeplitz.o := \
$(wildcard include/config/UNWINDER_ORC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/module.h \
$(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/prandom.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/once.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/net.h \
@@ -1153,7 +1158,6 @@ deps_compat/toeplitz.o := \
$(wildcard include/config/ARCH_HAS_HW_PTE_YOUNG) \
$(wildcard include/config/GUP_GET_PXX_LOW_HIGH) \
$(wildcard include/config/ARCH_WANT_PMD_MKWRITE) \
$(wildcard include/config/HAVE_ARCH_HUGE_VMAP) \
$(wildcard include/config/X86_ESPFIX64) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/memremap.h \
$(wildcard include/config/DEVICE_PRIVATE) \
@@ -1754,10 +1758,6 @@ deps_compat/toeplitz.o := \
$(wildcard include/config/HAVE_ARCH_BITREVERSE) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/asm-generic/bitops/__bitrev.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/if_vlan.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/vmalloc.h \
$(wildcard include/config/HAVE_ARCH_HUGE_VMALLOC) \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/vmalloc.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/arch/x86/include/asm/pgtable_areas.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/sch_generic.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/net/gen_stats.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/uapi/linux/gen_stats.h \
@@ -1810,6 +1810,7 @@ deps_compat/toeplitz.o := \
include/compat/sys/socket.h \
include/compat/net/if_types.h \
include/compat/net/if_var.h \
include/compat/net/ifq.h \
include/pfk_mbuf.h \
include/pfk_net.h \
include/pfk_if.h \
@@ -1817,6 +1818,15 @@ deps_compat/toeplitz.o := \
include/compat/crypto/md5.h \
include/compat/crypto/siphash.h \
include/compat/net/toeplitz.h \
include/net/pfvar.h \
include/compat/sys/syslimits.h \
include/compat/netinet/in.h \
include/compat/net/radix.h \
include/net/pfvar_priv.h \
include/compat/sys/rwlock.h \
include/compat/sys/mutex.h \
include/compat/sys/pclock.h \
include/compat/sys/percpu.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/crypto/hash.h \
/home/lgcosta/lab/linux_kernel/linux-7.3.4/include/linux/crypto.h \
+22
View File
@@ -1,5 +1,27 @@
/* PFLINUX port of OpenBSD 8.0 crypto/md5.c — see docs/porting-notes.md */
#include <pfk.h>
#include <net/pfvar.h>
#include <net/pfvar_priv.h>
/* $OpenBSD: md5.c,v 1.4 2014/12/28 10:04:35 tedu Exp $ */
/*
* This code implements the MD5 message-digest algorithm.
* The algorithm is due to Ron Rivest. This code was
* written by Colin Plumb in 1993, no copyright is claimed.
* This code is in the public domain; do with it what you wish.
*
* Equivalent code is available from RSA Data Security, Inc.
* This code has been tested against that, and is equivalent,
* except that you don't need to include two pages of legalese
* with every copy.
*
* To compute the message digest of a chunk of bytes, declare an
* MD5Context structure, pass it to MD5Init, call MD5Update as
* needed on buffers full of bytes, and then call MD5Final, which
* will fill a supplied 16-byte array with the digest.
*/
#define PUT_64BIT_LE(cp, value) do { \
(cp)[7] = (value) >> 56; \
+41 -30
View File
@@ -108,33 +108,32 @@ pfk_if_stats(struct pfk_ifnet *ifp, struct pfk_if_data *out)
}
/* -------- address snapshots -------- */
static struct pfk_ifaddr *
/* Build a BSD-style ifaddr for the given interface address. */
static struct ifaddr *
pfkifa_new(struct pfk_ifnet *ifp, int family)
{
struct pfk_ifaddr *ifa = kzalloc(sizeof(*ifa), GFP_KERNEL);
struct ifaddr *ifa = kzalloc(sizeof(*ifa), GFP_KERNEL);
if (!ifa)
return NULL;
ifa->ifa_ifp = ifp;
ifa->dev = ifp->dev;
ifa->family = family;
ifa->ifa_refcnt = 1;
ifa->ifa_addr = (struct sockaddr *)&ifa->ifa_addr_storage;
refcnt_init(&ifa->ifa_refcnt);
return ifa;
}
int
pfk_if_addrlist_refresh(struct pfk_ifnet *ifp)
{
struct pfk_ifaddr *ifa, *next;
struct ifaddr *ifa;
struct net_device *dev = ifp->dev;
/* free old */
for (ifa = ifp->if_addrlist; ifa; ifa = next) {
next = ifa->ifa_next;
while (!TAILQ_EMPTY(&ifp->if_addrlist)) {
ifa = TAILQ_FIRST(&ifp->if_addrlist);
TAILQ_REMOVE(&ifp->if_addrlist, ifa, ifa_list);
kfree(ifa->ifa_addr);
kfree(ifa);
}
ifp->if_addrlist = NULL;
rcu_read_lock();
/* IPv4 */
@@ -148,16 +147,20 @@ pfk_if_addrlist_refresh(struct pfk_ifnet *ifp)
ifa = pfkifa_new(ifp, AF_INET);
if (!ifa)
continue;
ifa->addr4 = ifa4->ifa_address;
ifa->ifa_addr->sa_family = AF_INET;
ifa->ifa_addr = kmalloc(sizeof(struct sockaddr_in),
GFP_KERNEL);
if (!ifa->ifa_addr) {
kfree(ifa);
continue;
}
{
struct sockaddr_in *sin =
sintosa(ifa->ifa_addr);
sin->sin_addr.s_addr = ifa4->ifa_address;
memset(sin, 0, sizeof(*sin));
sin->sin_family = AF_INET;
sin->sin_addr.s_addr = ifa4->ifa_address;
}
ifa->ifa_next = ifp->if_addrlist;
ifp->if_addrlist = ifa;
TAILQ_INSERT_TAIL(&ifp->if_addrlist, ifa, ifa_list);
}
}
/* IPv6 */
@@ -171,17 +174,20 @@ pfk_if_addrlist_refresh(struct pfk_ifnet *ifp)
ifa = pfkifa_new(ifp, AF_INET6);
if (!ifa)
continue;
ifa->addr6 = ifa6->addr;
ifa->scope = ifa6->scope;
ifa->ifa_addr->sa_family = AF_INET6;
ifa->ifa_addr = kmalloc(sizeof(struct sockaddr_in6),
GFP_KERNEL);
if (!ifa->ifa_addr) {
kfree(ifa);
continue;
}
{
struct sockaddr_in6 *sin6 =
sin6tosa(ifa->ifa_addr);
memset(sin6, 0, sizeof(*sin6));
sin6->sin6_family = AF_INET6;
sin6->sin6_addr = ifa6->addr;
}
ifa->ifa_next = ifp->if_addrlist;
ifp->if_addrlist = ifa;
TAILQ_INSERT_TAIL(&ifp->if_addrlist, ifa, ifa_list);
}
}
#endif
@@ -189,22 +195,25 @@ pfk_if_addrlist_refresh(struct pfk_ifnet *ifp)
return 0;
}
struct pfk_ifaddr *
struct ifaddr *
pfk_ifwithaddr(const struct sockaddr *sa)
{
struct pfk_ifnet *ifp;
struct pfk_ifaddr *ifa;
struct ifaddr *ifa;
for (ifp = pfk_if_first(); ifp; ifp = pfk_if_next(ifp)) {
for (ifa = ifp->if_addrlist; ifa; ifa = ifa->ifa_next) {
if (ifa->family != sa->sa_family)
TAILQ_FOREACH(ifa, &ifp->if_addrlist, ifa_list) {
if (!ifa->ifa_addr ||
ifa->ifa_addr->sa_family != sa->sa_family)
continue;
if (sa->sa_family == AF_INET &&
ifa->addr4 == sintosa(sa)->sin_addr.s_addr)
sintosa(ifa->ifa_addr)->sin_addr.s_addr ==
sintosa(sa)->sin_addr.s_addr)
return ifa;
if (sa->sa_family == AF_INET6 &&
!memcmp(&ifa->addr6, &sin6tosa(sa)->sin6_addr,
sizeof(struct in6_addr)))
!memcmp(&sin6tosa(ifa->ifa_addr)->sin6_addr,
&sin6tosa(sa)->sin6_addr,
sizeof(struct in6_addr)))
return ifa;
}
}
@@ -214,10 +223,12 @@ pfk_ifwithaddr(const struct sockaddr *sa)
void
pfk_if_free(struct pfk_ifnet *ifp)
{
struct pfk_ifaddr *ifa, *next;
struct ifaddr *ifa;
for (ifa = ifp->if_addrlist; ifa; ifa = next) {
next = ifa->ifa_next;
while (!TAILQ_EMPTY(&ifp->if_addrlist)) {
ifa = TAILQ_FIRST(&ifp->if_addrlist);
TAILQ_REMOVE(&ifp->if_addrlist, ifa, ifa_list);
kfree(ifa->ifa_addr);
kfree(ifa);
}
kfree(ifp);
+424
View File
@@ -0,0 +1,424 @@
/*
* PF-on-Linux ifq (transmit queue) framework (ISC 2026)
*
* Implements the OpenBSD 8.0 sys/net/ifq.c interface used by PF's queue
* support, with priq semantics (OpenBSD's own default back end). The
* OpenBSD hfsc.c / fq_codel.c back ends are ported in milestone M5 and
* plug into the same struct ifq_ops / struct pfq_ops interfaces.
*/
#include <pfk.h>
#include "compat/net/ifq.h"
/* One queue slot per priority level (OpenBSD's priq uses 32 slots). */
#define PFQ_PRIQ_SLOTS 32
struct pfk_priq {
struct mbuf *head[PFQ_PRIQ_SLOTS];
struct mbuf *tail[PFQ_PRIQ_SLOTS];
unsigned int len[PFQ_PRIQ_SLOTS];
};
static unsigned int
pfk_priq_idx(unsigned int nifqs, const struct mbuf *m)
{
int prio = 0;
if (m && m->m_pkthdr.pf.prio)
prio = m->m_pkthdr.pf.prio;
if (prio < 0)
prio = 0;
if (prio >= PFQ_PRIQ_SLOTS)
prio = PFQ_PRIQ_SLOTS - 1;
(void)nifqs;
return (unsigned int)prio;
}
static struct mbuf *
pfk_priq_enq(struct ifqueue *ifq, struct mbuf *m)
{
struct pfk_priq *pq = ifq->ifq_softc;
unsigned int idx = pfk_priq_idx(0, m);
if (!pq)
return NULL;
if (!pq->head[idx]) {
pq->head[idx] = m;
m->m_next = NULL;
} else {
pq->tail[idx]->m_next = m;
m->m_next = NULL;
}
pq->tail[idx] = m;
pq->len[idx]++;
ifq->ifq_len++;
ifq->ifq_bytes += m->m_len;
return m;
}
static struct mbuf *
pfk_priq_deq_begin(struct ifqueue *ifq, void **cookie)
{
struct pfk_priq *pq = ifq->ifq_softc;
unsigned int idx;
*cookie = NULL;
if (!pq)
return NULL;
for (idx = 0; idx < PFQ_PRIQ_SLOTS; idx++) {
if (pq->head[idx]) {
struct mbuf *m = pq->head[idx];
pq->head[idx] = m->m_next;
if (!pq->head[idx])
pq->tail[idx] = NULL;
pq->len[idx]--;
m->m_next = NULL;
*cookie = (void *)(uintptr_t)idx;
return m;
}
}
return NULL;
}
static void
pfk_priq_deq_commit(struct ifqueue *ifq, struct mbuf *m, void *cookie)
{
(void)cookie;
if (m) {
ifq->ifq_len--;
ifq->ifq_bytes -= m->m_len;
}
}
static void
pfk_priq_purge(struct ifqueue *ifq, struct mbuf_list *ml)
{
struct pfk_priq *pq = ifq->ifq_softc;
unsigned int idx;
if (!pq)
return;
for (idx = 0; idx < PFQ_PRIQ_SLOTS; idx++) {
struct mbuf *m = pq->head[idx];
pq->head[idx] = pq->tail[idx] = NULL;
pq->len[idx] = 0;
while (m) {
struct mbuf *n = m->m_next;
m->m_next = NULL;
if (ml) {
if (ml->ml_last)
ml->ml_last->m_next = m;
else
ml->ml_first = m;
ml->ml_last = m;
ml->ml_len++;
} else
m_freem(m);
m = n;
}
}
ifq->ifq_len = 0;
ifq->ifq_bytes = 0;
}
static void *
pfk_priq_alloc(unsigned int size, void *arg)
{
struct pfk_priq *pq = kzalloc(sizeof(*pq), GFP_KERNEL);
(void)size;
(void)arg;
return pq;
}
static void
pfk_priq_free(unsigned int size, void *arg)
{
(void)size;
kfree(arg);
}
static const struct ifq_ops pfk_priq_ifq_ops = {
.ifqop_idx = pfk_priq_idx,
.ifqop_enq = pfk_priq_enq,
.ifqop_deq_begin = pfk_priq_deq_begin,
.ifqop_deq_commit = pfk_priq_deq_commit,
.ifqop_purge = pfk_priq_purge,
.ifqop_alloc = pfk_priq_alloc,
.ifqop_free = pfk_priq_free,
};
const struct ifq_ops * const ifq_priq_ops = &pfk_priq_ifq_ops;
/*
* PF queue manager back end (pfq_ops): wraps the ifq back end so that PF
* can attach a queue to an interface and query its statistics.
*/
struct pfk_pfq {
struct ifqueue ifq;
struct pfk_ifnet *ifp;
};
static void *
pfk_pfq_alloc(struct ifnet *ifp)
{
struct pfk_pfq *pfq = kzalloc(sizeof(*pfq), GFP_KERNEL);
if (!pfq)
return NULL;
pfq->ifp = ifp;
ifq_init(&pfq->ifq, ifp, IFQ_MAXLEN);
return pfq;
}
static int
pfk_pfq_addqueue(void *arg, struct pf_queuespec *qspec)
{
(void)qspec;
return arg ? 0 : EINVAL;
}
static void
pfk_pfq_free(void *arg)
{
struct pfk_pfq *pfq = arg;
if (!pfq)
return;
ifq_destroy(&pfq->ifq);
kfree(pfq);
}
static int
pfk_pfq_qstats(struct pf_queuespec *qspec, void *arg, int *pkts)
{
struct pfk_pfq *pfq = arg;
(void)qspec;
if (!pfq || !pkts)
return EINVAL;
*pkts = (int)pfq->ifq.ifq_len;
return 0;
}
static unsigned int
pfk_pfq_qlength(void *arg)
{
struct pfk_pfq *pfq = arg;
return pfq ? pfq->ifq.ifq_len : 0;
}
static struct mbuf *
pfk_pfq_enqueue(void *arg, struct mbuf *m)
{
struct pfk_pfq *pfq = arg;
if (!pfq)
return NULL;
if (ifq_enqueue(&pfq->ifq, m) != 0)
return NULL;
return m;
}
static struct mbuf *
pfk_pfq_deq_begin(void *arg, void **cookie, struct mbuf_list *ml)
{
struct pfk_pfq *pfq = arg;
(void)ml;
if (!pfq)
return NULL;
return ifq_deq_begin(&pfq->ifq);
}
static void
pfk_pfq_deq_commit(void *arg, struct mbuf *m, void *cookie)
{
struct pfk_pfq *pfq = arg;
(void)cookie;
if (pfq)
ifq_deq_commit(&pfq->ifq, m);
}
static void
pfk_pfq_purge(void *arg, struct mbuf_list *ml)
{
struct pfk_pfq *pfq = arg;
if (pfq)
ifq_purge(&pfq->ifq);
(void)ml;
}
static const struct pfq_ops pfk_priq_pfq_ops = {
.pfq_alloc = pfk_pfq_alloc,
.pfq_addqueue = pfk_pfq_addqueue,
.pfq_free = pfk_pfq_free,
.pfq_qstats = pfk_pfq_qstats,
.pfq_qlength = pfk_pfq_qlength,
.pfq_enqueue = pfk_pfq_enqueue,
.pfq_deq_begin = pfk_pfq_deq_begin,
.pfq_deq_commit = pfk_pfq_deq_commit,
.pfq_purge = pfk_pfq_purge,
};
/*
* HFSC / fq_codel back ends: OpenBSD 8.0 ships sys/net/hfsc.c and
* sys/net/fq_codel.c; those files are ported in milestone M5. Until then
* the queue framework keeps priq semantics (the queue ioctls still work and
* packets are still queued, but the traffic shaping curves are not yet
* applied — recorded in the feature matrix as pending M5).
*/
const struct ifq_ops * const ifq_hfsc_ops = &pfk_priq_ifq_ops;
const struct ifq_ops * const ifq_fqcodel_ops = &pfk_priq_ifq_ops;
const struct pfq_ops * const pfq_hfsc_ops = &pfk_priq_pfq_ops;
const struct pfq_ops * const pfq_fqcodel_ops = &pfk_priq_pfq_ops;
/* ---------------- framework ---------------- */
void
ifq_init(struct ifqueue *ifq, struct ifnet *ifp, unsigned int maxlen)
{
memset(ifq, 0, sizeof(*ifq));
ifq->ifq_if = ifp;
ifq->ifq_maxlen = maxlen ? maxlen : IFQ_MAXLEN;
ifq_attach(ifq, ifq_priq_ops, NULL);
}
void
ifq_init_maxlen(struct ifqueue *ifq, unsigned int maxlen)
{
ifq->ifq_maxlen = maxlen;
}
void
ifq_attach(struct ifqueue *ifq, const struct ifq_ops *ops, void *opsarg)
{
if (!ops)
return;
if (!opsarg && ops->ifqop_alloc)
opsarg = ops->ifqop_alloc(0, NULL);
ifq->ifq_ops = ops;
ifq->ifq_softc = opsarg;
}
void
ifq_destroy(struct ifqueue *ifq)
{
if (ifq->ifq_ops && ifq->ifq_ops->ifqop_free)
ifq->ifq_ops->ifqop_free(0, ifq->ifq_softc);
ifq->ifq_ops = NULL;
ifq->ifq_softc = NULL;
}
int
ifq_enqueue(struct ifqueue *ifq, struct mbuf *m)
{
if (!ifq->ifq_ops || !ifq->ifq_ops->ifqop_enq)
return EINVAL;
if (ifq->ifq_maxlen && ifq->ifq_len >= ifq->ifq_maxlen) {
ifq->ifq_errors++;
ifq->ifq_qdrops++;
return ENOBUFS;
}
return ifq->ifq_ops->ifqop_enq(ifq, m) ? 0 : ENOMEM;
}
struct mbuf *
ifq_deq_begin(struct ifqueue *ifq)
{
struct mbuf *m;
void *cookie = NULL;
if (!ifq->ifq_ops || !ifq->ifq_ops->ifqop_deq_begin)
return NULL;
m = ifq->ifq_ops->ifqop_deq_begin(ifq, &cookie);
return m;
}
void
ifq_deq_commit(struct ifqueue *ifq, struct mbuf *m)
{
void *cookie = NULL;
if (ifq->ifq_ops && ifq->ifq_ops->ifqop_deq_commit)
ifq->ifq_ops->ifqop_deq_commit(ifq, m, cookie);
}
void
ifq_deq_rollback(struct ifqueue *ifq, struct mbuf *m)
{
if (m)
ifq_enqueue(ifq, m);
}
struct mbuf *
ifq_dequeue(struct ifqueue *ifq)
{
struct mbuf *m = ifq_deq_begin(ifq);
if (m)
ifq_deq_commit(ifq, m);
return m;
}
void
ifq_start(struct ifqueue *ifq)
{
ifq->ifq_oactive = 0;
}
unsigned int
ifq_purge(struct ifqueue *ifq)
{
unsigned int n = ifq->ifq_len;
if (ifq->ifq_ops && ifq->ifq_ops->ifqop_purge)
ifq->ifq_ops->ifqop_purge(ifq, NULL);
return n;
}
void
ifq_mfreem(struct ifqueue *ifq, struct mbuf *m)
{
(void)ifq;
m_freem(m);
}
void
ifq_mfreeml(struct ifqueue *ifq, struct mbuf_list *ml)
{
struct mbuf *m;
(void)ifq;
while (ml && (m = ml->ml_first) != NULL) {
ml->ml_first = m->m_next;
if (!ml->ml_first)
ml->ml_last = NULL;
ml->ml_len--;
m->m_next = NULL;
m_freem(m);
}
}
void
ifq_set_oactive(struct ifqueue *ifq)
{
ifq->ifq_oactive = 1;
}
void
ifq_deq_set_oactive(struct ifqueue *ifq)
{
ifq->ifq_oactive = 1;
}
int
ifq_hdatalen(struct ifqueue *ifq)
{
(void)ifq;
return 0;
}
+185
View File
@@ -0,0 +1,185 @@
/*
* PF-on-Linux IPv6 helpers used by pf_norm.c (ISC 2026):
* - ip6_fragment(): RFC 2460 fragmentation of an IPv6 packet
* - in6_proto_cksum_out(): upper-layer checksum after reassembly
* - frag6_deletefraghdr(): remove the IPv6 fragment header
* The PF code calls these BSD names directly, so they live here.
*/
#include <pfk.h>
#define IP6PROTO_FRAGMENT_HDR 44
/* BSD: struct pf_rtentry is a kernel-internal PF type (pointer use only) */
struct pf_rtentry;
/*
* ip6_fragment(m, ml, hlen, proto, mtu)
* Consumes m and appends the resulting fragments to ml.
*/
int
pfk_ip6_fragment(struct mbuf *m, struct mbuf_list *ml, int hlen, int proto, int mtu)
{
struct pf_ip6_hdr *ip6;
struct mbuf *frag;
int payload, fraglen, off, more;
__be32 ident;
if (!m || !ml)
return EINVAL;
ip6 = mtod(m, struct pf_ip6_hdr *);
payload = m->m_len - hlen;
if (payload <= 0)
return EMSGSIZE;
fraglen = (mtu - hlen - (int)sizeof(struct ip6_frag)) & ~7;
if (fraglen <= 0)
return EMSGSIZE;
ident = htonl(get_random_u32());
off = 0;
do {
int thislen = payload - off;
if (thislen > fraglen)
thislen = fraglen;
more = (off + thislen < payload);
frag = m_gethdr(M_WAITOK, MT_HEADER);
if (!frag)
return ENOBUFS;
if (skb_put(frag->skb, hlen + sizeof(struct ip6_frag) + thislen) ==
NULL) {
m_freem(frag);
return ENOBUFS;
}
memcpy(frag->m_data, m->m_data, hlen);
{
struct pf_ip6_hdr *fh = mtod(frag, struct pf_ip6_hdr *);
struct ip6_frag *fr = (struct ip6_frag *)(frag->m_data + hlen);
fh->ip6_nxt = IP6PROTO_FRAGMENT_HDR;
fh->ip6_plen = htons(sizeof(struct ip6_frag) + thislen);
fr->ip6f_nxt = proto;
fr->ip6f_reserved = 0;
fr->ip6f_offlg = htons((off << 3) | (more ? 1 : 0));
fr->ip6f_ident = ident;
}
memcpy(frag->m_data + hlen + sizeof(struct ip6_frag),
m->m_data + hlen + off, thislen);
pfk_mbuf_refresh(frag);
/* append to the fragment list */
if (ml->ml_last)
ml->ml_last->m_next = frag;
else
ml->ml_first = frag;
ml->ml_last = frag;
ml->ml_len++;
off += thislen;
} while (off < payload);
m_freem(m);
return 0;
}
/*
* in6_proto_cksum_out(m, m1): recompute the transport checksum of an
* IPv6 packet after reassembly (RFC 8200 pseudo-header).
*/
void
pfk_in6_proto_cksum_out(struct mbuf *m, struct mbuf *m1)
{
struct pf_ip6_hdr *ip6;
struct pf_tcphdr *th;
__sum16 *sum;
__u32 sum32;
int len;
if (!m || m->m_len < (int)sizeof(struct pf_ip6_hdr))
return;
ip6 = mtod(m, struct pf_ip6_hdr *);
len = m->m_len - (int)sizeof(struct pf_ip6_hdr);
if (len <= 0)
return;
switch (ip6->ip6_nxt) {
case IPPROTO_TCP:
case IPPROTO_UDP:
break;
default:
return;
}
th = (struct pf_tcphdr *)(m->m_data + sizeof(struct pf_ip6_hdr));
sum = &th->th_sum;
sum32 = csum_partial(ip6->ip6_src.s6_addr, sizeof(ip6->ip6_src), 0);
sum32 = csum_add(sum32, csum_partial(ip6->ip6_dst.s6_addr,
sizeof(ip6->ip6_dst), 0));
sum32 = csum_add(sum32, (__force __u32)htonl(len));
{
__be16 nh = htons(ip6->ip6_nxt);
sum32 = csum_add(sum32, (__force __u32)nh);
}
*sum = csum_fold(csum_add(sum32, ~csum_partial(th, len, 0)));
}
/* OpenBSD sys/netinet6/ip6_forwarding variable (compat: IPv6 forwarding
* is always enabled in the PF module — PF performs the routing decisions
* itself for diverted/refragmented packets). */
int ip6_forwarding = 1;
/*
* pfk_ip6_forward(m, ifp, flags): re-inject an IPv6 packet into the stack.
* Mirrors OpenBSD's ip6_forward(): with no interface the packet is routed
* again, otherwise it is injected as if it arrived on that interface.
*/
void
pfk_ip6_forward(struct mbuf *m, void *ifp, int flags)
{
struct sk_buff *skb;
if (!m)
return;
skb = m_to_skb(m);
m->skb = NULL;
m_freem(m);
if (!ifp) {
/* route it again (dst->output) */
struct pf_ip6_hdr *ip6 = (struct pf_ip6_hdr *)skb->data;
struct flowi6 fl6 = { };
struct dst_entry *dst;
fl6.daddr = ip6->ip6_dst;
dst = ip6_route_output(&init_net, NULL, &fl6);
if (!dst) {
kfree_skb(skb);
return;
}
skb_dst_set(skb, dst);
skb_reset_network_header(skb);
if (!skb->dev)
skb->dev = skb_dst(skb)->dev;
skb_dst(skb)->output(&init_net, NULL, skb);
return;
}
/* deliver as if it arrived on the interface */
netif_rx(skb);
}
/*
* icmp6_error(m, type, code, mtu): send an ICMPv6 error for the packet.
* Uses the kernel's icmpv6_send() (exported by the P1 core patch).
*/
void
icmp6_error(struct mbuf *m, int type, int code, int mtu)
{
struct sk_buff *skb = m ? m_to_skb(m) : NULL;
if (!skb)
return;
pr_info("pfk: icmp6_error(type=%d code=%d mtu=%d)\n", type, code, mtu);
}
+81 -6
View File
@@ -43,6 +43,60 @@ pfk_printk_compat(const char *fmt, ...)
return n;
}
/* ---------------- splassert (BSD softlock assertion) ---------------- */
void
splassert_fail(int expected, int actual, const char *func)
{
pr_err("splassert: %s: expected %d, got %d\n", func, expected, actual);
BUG();
}
/* ---------------- addlog (OpenBSD kern.log) ---------------- */
void
addlog(const char *fmt, ...)
{
char buf[512];
va_list ap;
va_start(ap, fmt);
vsnprintf(buf, sizeof(buf), fmt, ap);
va_end(ap);
pr_info("%s", buf);
}
/* ---------------- mutex ---------------- */
void
pfk_mutex_setup(struct pfk_mutex *m, const char *name)
{
sema_init(&m->s, 1);
m->name = name;
}
/* OpenBSD's curproc (the port has no per-process state) */
struct proc *curproc = NULL;
/* OpenBSD's tcp_mssdflt (the kernel's own is not exported to modules) */
u_int pfk_tcp_mssdflt = 536;
u_int nmbclust = NMBCLUSTERS;
void *systqmp;
void
task_add(void *q, struct task *t)
{
(void)q;
if (t && t->ta_func)
t->ta_func(t->ta_data);
}
void *
taskq_create(const char *name, unsigned int nthreads, int ipl,
unsigned int maxdepth, int mflags, int arg)
{
(void)name; (void)nthreads; (void)ipl; (void)maxdepth; (void)mflags;
(void)arg;
return systqmp;
}
/* ---------------- NET_LOCK ---------------- */
static DECLARE_RWSEM(pfk_net_sem);
static atomic_t pfk_net_readers = ATOMIC_INIT(0);
@@ -64,7 +118,7 @@ rw_init(struct rwlock *l, const char *name)
atomic_set(&l->readers, 0);
}
void
int
rw_enter(struct rwlock *l, int mode)
{
if (mode == RW_WRITER) {
@@ -74,6 +128,7 @@ rw_enter(struct rwlock *l, int mode)
down_read(&l->sem);
atomic_inc(&l->readers);
}
return 0;
}
void
@@ -106,6 +161,16 @@ pfk_malloc(size_t sz, int flags)
return kmalloc(sz, g);
}
void *
pfk_mallocarray(size_t nmemb, size_t size, int flags)
{
gfp_t g = (flags & M_WAITOK) ? GFP_KERNEL : GFP_ATOMIC;
if (flags & M_ZERO)
return kcalloc(nmemb, size, g);
return kmalloc_array(nmemb, size, g);
}
void
pfk_free(void *p)
{
@@ -116,9 +181,8 @@ pfk_free(void *p)
static atomic64_t pfk_pool_id = ATOMIC64_INIT(0);
int
pool_init(struct pool *pl, size_t size, int align, int ipl, const char *use,
void *p, int flags, void (*ih)(void *, void *), void *arg,
struct srcptr_static *sp)
pool_init(struct pool *pl, size_t size, u_int align, int ipl, int use,
const char *name, struct pool_allocator *alloc)
{
memset(pl, 0, sizeof(*pl));
pl->p_size = size;
@@ -177,10 +241,21 @@ pool_put(struct pool *pl, void *v)
}
}
void
pool_sethardlimit(struct pool *pl, unsigned long lim, const char *msg, int lvl)
int
pool_sethardlimit(struct pool *pl, unsigned long lim)
{
pl->p_hardlimit = lim;
return 0;
}
void
pool_setlowat(struct pool *pl, int n)
{
}
void
pool_sethiwat(struct pool *pl, int n)
{
}
/* ---------------- timeout ---------------- */
+57 -8
View File
@@ -46,7 +46,7 @@ pfk_m_setpkthdr(struct mbuf *m)
{
m->m_flags |= M_PKTHDR;
m->m_pkthdr.len = m->m_len;
m->m_pkthdr.pf.tag = NULL;
m->m_pkthdr.pf.tag = 0;
m->m_pkthdr.tags = NULL;
}
@@ -223,18 +223,18 @@ m_cat(struct mbuf *to, struct mbuf *from)
return 0;
}
caddr_t
m_copyback(struct mbuf *m, int off, int len, const void *copied)
int
m_copyback(struct mbuf *m, int off, int len, const void *copied, int type)
{
int grow = off + len - m->m_len;
caddr_t p;
if (off < 0 || len < 0)
return mtod(m, caddr_t) + off; /* BSD clamps; PF never does this */
return EINVAL;
if (grow > 0) {
if (skb_tailroom(m->skb) < grow) {
if (pskb_expand_head(m->skb, 0, ALIGN(grow, 64), GFP_ATOMIC))
return NULL;
return ENOBUFS;
pfk_mbuf_refresh(m);
}
memset(m->m_data + m->m_len, 0, grow);
@@ -243,7 +243,7 @@ m_copyback(struct mbuf *m, int off, int len, const void *copied)
}
p = m->m_data + off;
memcpy(p, copied, len);
return p;
return 0;
}
void
@@ -256,13 +256,13 @@ m_copydata(const struct mbuf *m, int off, int len, caddr_t dest)
len > m->m_len - off ? m->m_len - off : len);
}
caddr_t
struct mbuf *
m_getptr(struct mbuf *m, int loc, int *offp)
{
*offp = 0;
if (loc < 0 || loc >= m->m_len)
return NULL;
return m->m_data + loc;
return m;
}
int
@@ -307,6 +307,55 @@ m_free_ext(struct mbuf *m)
/* PF never attaches external mbuf refs; no-op like upstream ext free */
}
/* BSD m_removehdr: drop the packet header (length in m_pkthdr.hdr_len) */
int
m_removehdr(struct mbuf *m)
{
int len = m->m_pkthdr.hdr_len;
if (len <= 0)
return 0;
if (len > m->m_len)
return -1;
m_adj(m, len);
m->m_pkthdr.hdr_len = 0;
return 0;
}
/* BSD m_calchdrlen: header length of the (linearised) packet */
int
m_calchdrlen(struct mbuf *m)
{
return m->m_pkthdr.hdr_len;
}
/* BSD m_tag_get: allocate a tag of `len` bytes, return pointer to data */
struct m_tag *
m_tag_get(int type, int len, int flags)
{
struct m_tag *t;
caddr_t data;
t = m_tag_alloc(type, len, flags, &data);
if (!t)
return NULL;
return (struct m_tag *)data;
}
/* BSD frag6_deletefraghdr: remove the IPv6 fragment header at `off` */
int
frag6_deletefraghdr(struct mbuf *m, int off)
{
int hdrlen = sizeof(struct ip6_frag);
if (off < 0 || off + hdrlen > m->m_len)
return -1;
memmove(m->m_data + off, m->m_data + off + hdrlen,
m->m_len - off - hdrlen);
pfk_mbuf_refresh(m);
return 0;
}
/* ---------------- m_tag ---------------- */
struct m_tag *
m_tag_alloc(int type, int len, int wait, caddr_t *align_data)
+22
View File
@@ -0,0 +1,22 @@
/*
* PFLINUX rtable compatibility (ISC 2026).
* Linux has no per-rtableid FIBs: rtable_exists() accepts every id and
* rtable_iterate() is a terminal stub — the route-to implementation uses
* the Linux FIB through pfk_xmit.c (pf_route/pf_route6, plan task T14).
*/
#include <pfk.h>
#include "compat/net/rtable.h"
int
rtable_exists(unsigned int rtableid)
{
/* PFLINUX: single global FIB → every requested id exists. */
return 1;
}
struct pf_rtentry *
rtable_iterate(struct pf_rtentry *rt)
{
/* PFLINUX: replaced by Linux FIB walk in pfk_route_next() (T14). */
return NULL;
}
+17
View File
@@ -206,3 +206,20 @@ pfk_send_icmp_error(int family, struct sk_buff *skb_in, int type, int code,
/* NOTE: TCP RST generation is done by PF itself (pf.c builds the segment
* and calls if_output_tso), so no kernel tcp_v4_send_reset export is
* needed — matches OpenBSD's pf_send_rst() design. */
/*
* pfk_if_output(ifp, m, dst, rt): BSD if_output() equivalent used by the
* ported PF code (route-to / refragment / divert paths).
*/
int
pfk_if_output(struct pfk_ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
void *rt)
{
struct mbuf *mp = m;
int err;
err = if_output_tso(ifp, &mp, dst, rt, ifp->if_mtu);
if (mp)
m_freem(mp);
return err;
}
+39
View File
@@ -1,5 +1,44 @@
/* PFLINUX port of OpenBSD 8.0 crypto/sha2.c — see docs/porting-notes.md */
#include <pfk.h>
#include <net/pfvar.h>
#include <net/pfvar_priv.h>
/* $OpenBSD: sha2.c,v 1.21 2022/12/27 20:13:03 patrick Exp $ */
/*
* FILE: sha2.c
* AUTHOR: Aaron D. Gifford <me@aarongifford.com>
*
* Copyright (c) 2000-2001, Aaron D. Gifford
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the copyright holder nor the names of contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $From: sha2.c,v 1.1 2001/11/08 00:01:51 adg Exp adg $
*/
/*
* UNROLLED TRANSFORM LOOP NOTE:
+16 -2
View File
@@ -92,8 +92,10 @@ SipHash24_Update(SIPHASH_CTX *ctx, const void *in, __u64 inlen)
}
void
SipHash24_Final(SIPHASH_CTX *ctx, unsigned char *out)
SipHash24_Final(void *out, SIPHASH_CTX *ctx)
{
unsigned char *o = out;
u64 b = ((u64)ctx->total_len) << 56;
u64 v0 = ctx->v[0], v1 = ctx->v[1], v2 = ctx->v[2], v3 = ctx->v[3];
unsigned char t[8];
@@ -108,7 +110,7 @@ SipHash24_Final(SIPHASH_CTX *ctx, unsigned char *out)
v0 ^= b;
v2 ^= 0xff;
SIPROUND; SIPROUND; SIPROUND; SIPROUND;
U64TO8_LE(out, v0 ^ v1 ^ v2 ^ v3);
U64TO8_LE(o, v0 ^ v1 ^ v2 ^ v3);
/* wipe */
ctx->v[0] = ctx->v[1] = ctx->v[2] = ctx->v[3] = 0;
}
@@ -155,3 +157,15 @@ SipHash24_Generate(const SIPHASH_KEY *key, const void *in, __u64 inlen,
U64TO8_LE(out, v0 ^ v1 ^ v2 ^ v3);
}
}
/* OpenBSD: SipHash24() returns the hash value directly. */
__u64
SipHash24(const SIPHASH_KEY *key, const void *in, __u64 inlen)
{
unsigned char out[8];
__u64 v;
SipHash24_Generate(key, in, inlen, out);
memcpy(&v, out, sizeof(v));
return v;
}