Merge remote-tracking branch 'arne_f/kernel-6.1' into next

This commit is contained in:
Peter Müller
2023-01-18 22:31:44 +00:00
26 changed files with 7888 additions and 4350 deletions

View File

@@ -1,6 +1,5 @@
# Improve KASLR effectiveness for mmap
vm.mmap_rnd_bits = 32
vm.mmap_rnd_compat_bits = 16
# Turn on BPF JIT hardening, if the JIT is enabled.
net.core.bpf_jit_harden = 2

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -31,6 +31,7 @@
#usr/include/asm-generic/stat.h
#usr/include/asm-generic/statfs.h
#usr/include/asm-generic/swab.h
#usr/include/asm-generic/termbits-common.h
#usr/include/asm-generic/termbits.h
#usr/include/asm-generic/termios.h
#usr/include/asm-generic/types.h
@@ -102,6 +103,7 @@
#usr/include/drm/via_drm.h
#usr/include/drm/virtgpu_drm.h
#usr/include/drm/vmwgfx_drm.h
#usr/include/headers_check.pl
#usr/include/linux
#usr/include/linux/acct.h
#usr/include/linux/acrn.h
@@ -111,6 +113,7 @@
#usr/include/linux/agpgart.h
#usr/include/linux/aio_abi.h
#usr/include/linux/am437x-vpfe.h
#usr/include/linux/amt.h
#usr/include/linux/android
#usr/include/linux/android/binder.h
#usr/include/linux/android/binderfs.h
@@ -147,7 +150,6 @@
#usr/include/linux/batadv_packet.h
#usr/include/linux/batman_adv.h
#usr/include/linux/baycom.h
#usr/include/linux/bcache.h
#usr/include/linux/bcm933xx_hcs.h
#usr/include/linux/bfs_fs.h
#usr/include/linux/binfmts.h
@@ -167,6 +169,7 @@
#usr/include/linux/byteorder
#usr/include/linux/byteorder/big_endian.h
#usr/include/linux/byteorder/little_endian.h
#usr/include/linux/cachefiles.h
#usr/include/linux/caif
#usr/include/linux/caif/caif_socket.h
#usr/include/linux/caif/if_caif.h
@@ -199,9 +202,11 @@
#usr/include/linux/cn_proc.h
#usr/include/linux/coda.h
#usr/include/linux/coff.h
#usr/include/linux/comedi.h
#usr/include/linux/connector.h
#usr/include/linux/const.h
#usr/include/linux/coresight-stm.h
#usr/include/linux/counter.h
#usr/include/linux/cramfs_fs.h
#usr/include/linux/cryptouser.h
#usr/include/linux/cuda.h
@@ -220,7 +225,6 @@
#usr/include/linux/dm-log-userspace.h
#usr/include/linux/dma-buf.h
#usr/include/linux/dma-heap.h
#usr/include/linux/dn.h
#usr/include/linux/dns_resolver.h
#usr/include/linux/dqblk_xfs.h
#usr/include/linux/dvb
@@ -232,6 +236,7 @@
#usr/include/linux/dvb/osd.h
#usr/include/linux/dvb/version.h
#usr/include/linux/dvb/video.h
#usr/include/linux/dw100.h
#usr/include/linux/edd.h
#usr/include/linux/efs_fs_sb.h
#usr/include/linux/elf-em.h
@@ -382,6 +387,7 @@
#usr/include/linux/keyboard.h
#usr/include/linux/keyctl.h
#usr/include/linux/kfd_ioctl.h
#usr/include/linux/kfd_sysfs.h
#usr/include/linux/kvm.h
#usr/include/linux/kvm_para.h
#usr/include/linux/l2tp.h
@@ -390,11 +396,13 @@
#usr/include/linux/limits.h
#usr/include/linux/lirc.h
#usr/include/linux/llc.h
#usr/include/linux/loadpin.h
#usr/include/linux/loop.h
#usr/include/linux/lp.h
#usr/include/linux/lwtunnel.h
#usr/include/linux/magic.h
#usr/include/linux/major.h
#usr/include/linux/map_to_14segment.h
#usr/include/linux/map_to_7segment.h
#usr/include/linux/matroxfb.h
#usr/include/linux/max2175.h
@@ -559,7 +567,6 @@
#usr/include/linux/netfilter_bridge/ebt_stp.h
#usr/include/linux/netfilter_bridge/ebt_vlan.h
#usr/include/linux/netfilter_bridge/ebtables.h
#usr/include/linux/netfilter_decnet.h
#usr/include/linux/netfilter_ipv4
#usr/include/linux/netfilter_ipv4.h
#usr/include/linux/netfilter_ipv4/ip_tables.h
@@ -604,7 +611,6 @@
#usr/include/linux/nfsd/cld.h
#usr/include/linux/nfsd/debug.h
#usr/include/linux/nfsd/export.h
#usr/include/linux/nfsd/nfsfh.h
#usr/include/linux/nfsd/stats.h
#usr/include/linux/nilfs2_api.h
#usr/include/linux/nilfs2_ondisk.h
@@ -630,6 +636,7 @@
#usr/include/linux/perf_event.h
#usr/include/linux/personality.h
#usr/include/linux/pfkeyv2.h
#usr/include/linux/pfrut.h
#usr/include/linux/pg.h
#usr/include/linux/phantom.h
#usr/include/linux/phonet.h
@@ -706,6 +713,7 @@
#usr/include/linux/serial_core.h
#usr/include/linux/serial_reg.h
#usr/include/linux/serio.h
#usr/include/linux/sev-guest.h
#usr/include/linux/shm.h
#usr/include/linux/signal.h
#usr/include/linux/signalfd.h
@@ -787,6 +795,7 @@
#usr/include/linux/tty.h
#usr/include/linux/tty_flags.h
#usr/include/linux/types.h
#usr/include/linux/ublk_cmd.h
#usr/include/linux/udf_fs_i.h
#usr/include/linux/udmabuf.h
#usr/include/linux/udp.h
@@ -907,6 +916,7 @@
#usr/include/rdma/bnxt_re-abi.h
#usr/include/rdma/cxgb4-abi.h
#usr/include/rdma/efa-abi.h
#usr/include/rdma/erdma-abi.h
#usr/include/rdma/hfi
#usr/include/rdma/hfi/hfi1_ioctl.h
#usr/include/rdma/hfi/hfi1_user.h
@@ -940,6 +950,7 @@
#usr/include/scsi/fc/fc_gs.h
#usr/include/scsi/fc/fc_ns.h
#usr/include/scsi/scsi_bsg_fc.h
#usr/include/scsi/scsi_bsg_mpi3mr.h
#usr/include/scsi/scsi_bsg_ufs.h
#usr/include/scsi/scsi_netlink.h
#usr/include/scsi/scsi_netlink_fc.h
@@ -954,9 +965,13 @@
#usr/include/sound/firewire.h
#usr/include/sound/hdsp.h
#usr/include/sound/hdspm.h
#usr/include/sound/intel
#usr/include/sound/intel/avs
#usr/include/sound/intel/avs/tokens.h
#usr/include/sound/sb16_csp.h
#usr/include/sound/sfnt_info.h
#usr/include/sound/skl-tplg-interface.h
#usr/include/sound/snd_ar_tokens.h
#usr/include/sound/snd_sst_tokens.h
#usr/include/sound/sof
#usr/include/sound/sof/abi.h

File diff suppressed because it is too large Load Diff

View File

@@ -31,6 +31,7 @@
#usr/include/asm-generic/stat.h
#usr/include/asm-generic/statfs.h
#usr/include/asm-generic/swab.h
#usr/include/asm-generic/termbits-common.h
#usr/include/asm-generic/termbits.h
#usr/include/asm-generic/termios.h
#usr/include/asm-generic/types.h
@@ -101,6 +102,7 @@
#usr/include/drm/via_drm.h
#usr/include/drm/virtgpu_drm.h
#usr/include/drm/vmwgfx_drm.h
#usr/include/headers_check.pl
#usr/include/linux
#usr/include/linux/acct.h
#usr/include/linux/acrn.h
@@ -110,6 +112,7 @@
#usr/include/linux/agpgart.h
#usr/include/linux/aio_abi.h
#usr/include/linux/am437x-vpfe.h
#usr/include/linux/amt.h
#usr/include/linux/android
#usr/include/linux/android/binder.h
#usr/include/linux/android/binderfs.h
@@ -146,7 +149,6 @@
#usr/include/linux/batadv_packet.h
#usr/include/linux/batman_adv.h
#usr/include/linux/baycom.h
#usr/include/linux/bcache.h
#usr/include/linux/bcm933xx_hcs.h
#usr/include/linux/bfs_fs.h
#usr/include/linux/binfmts.h
@@ -166,6 +168,7 @@
#usr/include/linux/byteorder
#usr/include/linux/byteorder/big_endian.h
#usr/include/linux/byteorder/little_endian.h
#usr/include/linux/cachefiles.h
#usr/include/linux/caif
#usr/include/linux/caif/caif_socket.h
#usr/include/linux/caif/if_caif.h
@@ -198,9 +201,11 @@
#usr/include/linux/cn_proc.h
#usr/include/linux/coda.h
#usr/include/linux/coff.h
#usr/include/linux/comedi.h
#usr/include/linux/connector.h
#usr/include/linux/const.h
#usr/include/linux/coresight-stm.h
#usr/include/linux/counter.h
#usr/include/linux/cramfs_fs.h
#usr/include/linux/cryptouser.h
#usr/include/linux/cuda.h
@@ -219,7 +224,6 @@
#usr/include/linux/dm-log-userspace.h
#usr/include/linux/dma-buf.h
#usr/include/linux/dma-heap.h
#usr/include/linux/dn.h
#usr/include/linux/dns_resolver.h
#usr/include/linux/dqblk_xfs.h
#usr/include/linux/dvb
@@ -231,6 +235,7 @@
#usr/include/linux/dvb/osd.h
#usr/include/linux/dvb/version.h
#usr/include/linux/dvb/video.h
#usr/include/linux/dw100.h
#usr/include/linux/edd.h
#usr/include/linux/efs_fs_sb.h
#usr/include/linux/elf-em.h
@@ -381,6 +386,7 @@
#usr/include/linux/keyboard.h
#usr/include/linux/keyctl.h
#usr/include/linux/kfd_ioctl.h
#usr/include/linux/kfd_sysfs.h
#usr/include/linux/kvm_para.h
#usr/include/linux/l2tp.h
#usr/include/linux/landlock.h
@@ -388,11 +394,13 @@
#usr/include/linux/limits.h
#usr/include/linux/lirc.h
#usr/include/linux/llc.h
#usr/include/linux/loadpin.h
#usr/include/linux/loop.h
#usr/include/linux/lp.h
#usr/include/linux/lwtunnel.h
#usr/include/linux/magic.h
#usr/include/linux/major.h
#usr/include/linux/map_to_14segment.h
#usr/include/linux/map_to_7segment.h
#usr/include/linux/matroxfb.h
#usr/include/linux/max2175.h
@@ -557,7 +565,6 @@
#usr/include/linux/netfilter_bridge/ebt_stp.h
#usr/include/linux/netfilter_bridge/ebt_vlan.h
#usr/include/linux/netfilter_bridge/ebtables.h
#usr/include/linux/netfilter_decnet.h
#usr/include/linux/netfilter_ipv4
#usr/include/linux/netfilter_ipv4.h
#usr/include/linux/netfilter_ipv4/ip_tables.h
@@ -602,7 +609,6 @@
#usr/include/linux/nfsd/cld.h
#usr/include/linux/nfsd/debug.h
#usr/include/linux/nfsd/export.h
#usr/include/linux/nfsd/nfsfh.h
#usr/include/linux/nfsd/stats.h
#usr/include/linux/nilfs2_api.h
#usr/include/linux/nilfs2_ondisk.h
@@ -628,6 +634,7 @@
#usr/include/linux/perf_event.h
#usr/include/linux/personality.h
#usr/include/linux/pfkeyv2.h
#usr/include/linux/pfrut.h
#usr/include/linux/pg.h
#usr/include/linux/phantom.h
#usr/include/linux/phonet.h
@@ -704,6 +711,7 @@
#usr/include/linux/serial_core.h
#usr/include/linux/serial_reg.h
#usr/include/linux/serio.h
#usr/include/linux/sev-guest.h
#usr/include/linux/shm.h
#usr/include/linux/signal.h
#usr/include/linux/signalfd.h
@@ -785,6 +793,7 @@
#usr/include/linux/tty.h
#usr/include/linux/tty_flags.h
#usr/include/linux/types.h
#usr/include/linux/ublk_cmd.h
#usr/include/linux/udf_fs_i.h
#usr/include/linux/udmabuf.h
#usr/include/linux/udp.h
@@ -905,6 +914,7 @@
#usr/include/rdma/bnxt_re-abi.h
#usr/include/rdma/cxgb4-abi.h
#usr/include/rdma/efa-abi.h
#usr/include/rdma/erdma-abi.h
#usr/include/rdma/hfi
#usr/include/rdma/hfi/hfi1_ioctl.h
#usr/include/rdma/hfi/hfi1_user.h
@@ -938,6 +948,7 @@
#usr/include/scsi/fc/fc_gs.h
#usr/include/scsi/fc/fc_ns.h
#usr/include/scsi/scsi_bsg_fc.h
#usr/include/scsi/scsi_bsg_mpi3mr.h
#usr/include/scsi/scsi_bsg_ufs.h
#usr/include/scsi/scsi_netlink.h
#usr/include/scsi/scsi_netlink_fc.h
@@ -952,9 +963,13 @@
#usr/include/sound/firewire.h
#usr/include/sound/hdsp.h
#usr/include/sound/hdspm.h
#usr/include/sound/intel
#usr/include/sound/intel/avs
#usr/include/sound/intel/avs/tokens.h
#usr/include/sound/sb16_csp.h
#usr/include/sound/sfnt_info.h
#usr/include/sound/skl-tplg-interface.h
#usr/include/sound/snd_ar_tokens.h
#usr/include/sound/snd_sst_tokens.h
#usr/include/sound/sof
#usr/include/sound/sof/abi.h

File diff suppressed because it is too large Load Diff

View File

@@ -31,12 +31,14 @@
#usr/include/asm-generic/stat.h
#usr/include/asm-generic/statfs.h
#usr/include/asm-generic/swab.h
#usr/include/asm-generic/termbits-common.h
#usr/include/asm-generic/termbits.h
#usr/include/asm-generic/termios.h
#usr/include/asm-generic/types.h
#usr/include/asm-generic/ucontext.h
#usr/include/asm-generic/unistd.h
#usr/include/asm/a.out.h
#usr/include/asm/amd_hsmp.h
#usr/include/asm/auxvec.h
#usr/include/asm/bitsperlong.h
#usr/include/asm/boot.h
@@ -128,6 +130,7 @@
#usr/include/drm/via_drm.h
#usr/include/drm/virtgpu_drm.h
#usr/include/drm/vmwgfx_drm.h
#usr/include/headers_check.pl
#usr/include/linux
#usr/include/linux/a.out.h
#usr/include/linux/acct.h
@@ -138,6 +141,7 @@
#usr/include/linux/agpgart.h
#usr/include/linux/aio_abi.h
#usr/include/linux/am437x-vpfe.h
#usr/include/linux/amt.h
#usr/include/linux/android
#usr/include/linux/android/binder.h
#usr/include/linux/android/binderfs.h
@@ -174,7 +178,6 @@
#usr/include/linux/batadv_packet.h
#usr/include/linux/batman_adv.h
#usr/include/linux/baycom.h
#usr/include/linux/bcache.h
#usr/include/linux/bcm933xx_hcs.h
#usr/include/linux/bfs_fs.h
#usr/include/linux/binfmts.h
@@ -194,6 +197,7 @@
#usr/include/linux/byteorder
#usr/include/linux/byteorder/big_endian.h
#usr/include/linux/byteorder/little_endian.h
#usr/include/linux/cachefiles.h
#usr/include/linux/caif
#usr/include/linux/caif/caif_socket.h
#usr/include/linux/caif/if_caif.h
@@ -226,9 +230,11 @@
#usr/include/linux/cn_proc.h
#usr/include/linux/coda.h
#usr/include/linux/coff.h
#usr/include/linux/comedi.h
#usr/include/linux/connector.h
#usr/include/linux/const.h
#usr/include/linux/coresight-stm.h
#usr/include/linux/counter.h
#usr/include/linux/cramfs_fs.h
#usr/include/linux/cryptouser.h
#usr/include/linux/cuda.h
@@ -247,7 +253,6 @@
#usr/include/linux/dm-log-userspace.h
#usr/include/linux/dma-buf.h
#usr/include/linux/dma-heap.h
#usr/include/linux/dn.h
#usr/include/linux/dns_resolver.h
#usr/include/linux/dqblk_xfs.h
#usr/include/linux/dvb
@@ -259,6 +264,7 @@
#usr/include/linux/dvb/osd.h
#usr/include/linux/dvb/version.h
#usr/include/linux/dvb/video.h
#usr/include/linux/dw100.h
#usr/include/linux/edd.h
#usr/include/linux/efs_fs_sb.h
#usr/include/linux/elf-em.h
@@ -409,6 +415,7 @@
#usr/include/linux/keyboard.h
#usr/include/linux/keyctl.h
#usr/include/linux/kfd_ioctl.h
#usr/include/linux/kfd_sysfs.h
#usr/include/linux/kvm.h
#usr/include/linux/kvm_para.h
#usr/include/linux/l2tp.h
@@ -417,11 +424,13 @@
#usr/include/linux/limits.h
#usr/include/linux/lirc.h
#usr/include/linux/llc.h
#usr/include/linux/loadpin.h
#usr/include/linux/loop.h
#usr/include/linux/lp.h
#usr/include/linux/lwtunnel.h
#usr/include/linux/magic.h
#usr/include/linux/major.h
#usr/include/linux/map_to_14segment.h
#usr/include/linux/map_to_7segment.h
#usr/include/linux/matroxfb.h
#usr/include/linux/max2175.h
@@ -586,7 +595,6 @@
#usr/include/linux/netfilter_bridge/ebt_stp.h
#usr/include/linux/netfilter_bridge/ebt_vlan.h
#usr/include/linux/netfilter_bridge/ebtables.h
#usr/include/linux/netfilter_decnet.h
#usr/include/linux/netfilter_ipv4
#usr/include/linux/netfilter_ipv4.h
#usr/include/linux/netfilter_ipv4/ip_tables.h
@@ -631,7 +639,6 @@
#usr/include/linux/nfsd/cld.h
#usr/include/linux/nfsd/debug.h
#usr/include/linux/nfsd/export.h
#usr/include/linux/nfsd/nfsfh.h
#usr/include/linux/nfsd/stats.h
#usr/include/linux/nilfs2_api.h
#usr/include/linux/nilfs2_ondisk.h
@@ -657,6 +664,7 @@
#usr/include/linux/perf_event.h
#usr/include/linux/personality.h
#usr/include/linux/pfkeyv2.h
#usr/include/linux/pfrut.h
#usr/include/linux/pg.h
#usr/include/linux/phantom.h
#usr/include/linux/phonet.h
@@ -733,6 +741,7 @@
#usr/include/linux/serial_core.h
#usr/include/linux/serial_reg.h
#usr/include/linux/serio.h
#usr/include/linux/sev-guest.h
#usr/include/linux/shm.h
#usr/include/linux/signal.h
#usr/include/linux/signalfd.h
@@ -814,6 +823,7 @@
#usr/include/linux/tty.h
#usr/include/linux/tty_flags.h
#usr/include/linux/types.h
#usr/include/linux/ublk_cmd.h
#usr/include/linux/udf_fs_i.h
#usr/include/linux/udmabuf.h
#usr/include/linux/udp.h
@@ -934,6 +944,7 @@
#usr/include/rdma/bnxt_re-abi.h
#usr/include/rdma/cxgb4-abi.h
#usr/include/rdma/efa-abi.h
#usr/include/rdma/erdma-abi.h
#usr/include/rdma/hfi
#usr/include/rdma/hfi/hfi1_ioctl.h
#usr/include/rdma/hfi/hfi1_user.h
@@ -967,6 +978,7 @@
#usr/include/scsi/fc/fc_gs.h
#usr/include/scsi/fc/fc_ns.h
#usr/include/scsi/scsi_bsg_fc.h
#usr/include/scsi/scsi_bsg_mpi3mr.h
#usr/include/scsi/scsi_bsg_ufs.h
#usr/include/scsi/scsi_netlink.h
#usr/include/scsi/scsi_netlink_fc.h
@@ -981,9 +993,13 @@
#usr/include/sound/firewire.h
#usr/include/sound/hdsp.h
#usr/include/sound/hdspm.h
#usr/include/sound/intel
#usr/include/sound/intel/avs
#usr/include/sound/intel/avs/tokens.h
#usr/include/sound/sb16_csp.h
#usr/include/sound/sfnt_info.h
#usr/include/sound/skl-tplg-interface.h
#usr/include/sound/snd_ar_tokens.h
#usr/include/sound/snd_sst_tokens.h
#usr/include/sound/sof
#usr/include/sound/sof/abi.h

View File

@@ -24,8 +24,8 @@
include Config
VER = 5.15.86
ARM_PATCHES = 5.15-ipfire5
VER = 6.1.7
ARM_PATCHES = 6.1.y-ipfire0
THISAPP = linux-$(VER)
DL_FILE = linux-$(VER).tar.xz
@@ -78,8 +78,8 @@ objects =$(DL_FILE) \
$(DL_FILE) = $(URL_IPFIRE)/$(DL_FILE)
arm-multi-patches-$(ARM_PATCHES).patch.xz = $(URL_IPFIRE)/arm-multi-patches-$(ARM_PATCHES).patch.xz
$(DL_FILE)_BLAKE2 = 6d088a5abcc1a8c56c2fdf05932f757ad5bbca48f5e60f5a302b2513186b7519af44daeebcb2ac96bd30967c58967426a3b33f492b22b5db7d75d3bd81411eb4
arm-multi-patches-$(ARM_PATCHES).patch.xz_BLAKE2 = 58a70e757a9121a0aac83604a37aa787ec7ac0ee4970c5a3ac3bcb2dbaca32b00089cae6c0da5cf2fe0a2e156427b5165c6a86e0371a3e896f4c7cdd699c34a0
$(DL_FILE)_BLAKE2 = 13c970a5780fd4ed97a0ff5d7c13e2f5cfebf608199ae94973f3a8a109bb961f1effb45bd61a687f5faaf784a84b4c88b5a4bb75b7a1a943f44cab9b6ad37ce1
arm-multi-patches-$(ARM_PATCHES).patch.xz_BLAKE2 = 3ef9a778c5c41ee8bf2942a48f63b21228a632a2910d2123f01155bbf571592898cffffa61c387a5a6c817b62e458947b4c406c6591b23b5401faa47b020337f
install : $(TARGET)
@@ -116,7 +116,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
ln -svf linux-$(VER) $(DIR_SRC)/linux
# Layer7-patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/linux-5.15.59-layer7.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/linux-6.1-layer7.patch
# DVB Patches
cd $(DIR_APP) && patch -Np2 < $(DIR_SRC)/src/patches/v4l-dvb_fix_tua6034_pll.patch
@@ -143,8 +143,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
# https://bugzilla.ipfire.org/show_bug.cgi?id=12760
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/linux-5.15-NFQUEUE-Hold-RCU-read-lock-while-calling-nf_reinject.patch
# https://bugzilla.ipfire.org/show_bug.cgi?id=12889
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/devtmpfs-mount-with-noexec-and-nosuid.patch
# Fix external module compile
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/linux-6.0-fix_external_module_build.patch
# Fix pmc compile dependency errors
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/linux-6.0.7-platform-x86-amd-Fix-pmc-compile-dependency-errors.patch
ifeq "$(BUILD_ARCH)" "armv6l"
# Apply Arm-multiarch kernel patches.
@@ -153,9 +156,6 @@ endif
ifeq "$(BUILD_ARCH)" "aarch64"
# Apply Arm-multiarch kernel patches.
cd $(DIR_APP) && xzcat $(DIR_DL)/arm-multi-patches-$(ARM_PATCHES).patch.xz | patch -Np1
# Apply NXP DPAA2 specific patches
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/linux-5.15-arm64-dpaa2-fix-lock-issue.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/linux-5-15-arm64-dpaa2-add-support-for-10g-modes.patch
endif
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/linux-3.14.79-amba-fix.patch

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2022 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -103,6 +103,7 @@ $(subst %,%_BLAKE2,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/postfix/postfix-3.7.2-fix_linux6.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/postfix-3.6.2-glibc-234-build-fix.patch
cd $(DIR_APP) && make -f Makefile.init makefiles \
DEBUG="" OPT="$(CFLAGS) -fno-strict-aliasing" CCARGS="$(CCARGS)" AUXLIBS="$(AUXLIBS)"

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -27,7 +27,7 @@ include Config
VERSUFIX = ipfire$(KCFG)
MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/extra/wlan
VER = 03ac413135a355b55b693154c44b70f86a39732e
VER = e58bd86c9d9408c648b1246a0dd76b16856ec172
THISAPP = rtl8189ES_linux-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = 3cc2d7bb7ba01e90a1190a74dfdfaac4f377c1565cb97cb40c213269a3c2fbe853c8c22769554a3d4ad47e0d1461058de9fc4dba7599c8f6afd50e8ea89e5138
$(DL_FILE)_BLAKE2 = a2898188d6ed215b9a8f6bfd5684f4df1ad448b69537119c6633100db06349538b1e0491887f3c705bac1dcd79cf18e27084da34719745bfd54e9530793aa4da
install : $(TARGET)
@@ -76,9 +76,8 @@ $(subst %,%_BLAKE2,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/rtl8189es/remove-ipx.patch
cd $(DIR_APP) && CONFIG_RTL8189ES=m make $(MAKETUNING) \
-C /lib/modules/$(KVER)-$(VERSUFIX)/build/ M=$(DIR_APP)/ modules
-C /lib/modules/$(KVER)-$(VERSUFIX)/build/ M=$(DIR_APP) modules
# Install the built kernel modules.
mkdir -p $(MODPATH)

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2022 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -27,10 +27,12 @@ include Config
VERSUFIX = ipfire$(KCFG)
MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/extra/wlan
VER = 3129a665f835ce0342f9a85a0ce14a556e656b8c
VER = 476020109b3841421af289a7b78c7a25b0c45fac
THISAPP = rtl8189FS_linux-$(VER)
DL_FILE = $(THISAPP).tar.xz
# The rtl8189ES is no typo. This is extra branch in Hans de Goede's rtl8189ES
# repo to support the rtl8189FS
THISAPP = rtl8189ES_linux-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX)
@@ -43,7 +45,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = 75b4d3c7ccd5f3241967cd6594b89cad69ec5c0da10bbb7a07baa928c8e6b6d71869d54fbdc87f06eeb4d8ace82708dfd27e23c417545d603dd4f2ea45629c0e
$(DL_FILE)_BLAKE2 = 6b4032f5024e0d5c4e097dbf743952e628e619e351cab25fe514e35ea2a949122bb793a4dddf0397759f4f659773f2eec9bb9fa3287bd1421dc3e16b796f650b
install : $(TARGET)
@@ -76,7 +78,6 @@ $(subst %,%_BLAKE2,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/rtl8189fs/disable_debug.patch
cd $(DIR_APP) && CONFIG_RTL8189FS=m make $(MAKETUNING) \
-C /lib/modules/$(KVER)-$(VERSUFIX)/build/ M=$(DIR_APP)/ modules

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -27,10 +27,10 @@ include Config
VERSUFIX = ipfire$(KCFG)
MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/extra/wlan
VER = 307d694076b056588c652c2bdaa543a89eb255d9
VER = 20210629-07ac856293e247347b891c5dbd13f3ab8321132d
THISAPP = rtl8812au-$(VER)
DL_FILE = $(THISAPP).tar.xz
THISAPP = 8812au-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX)
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = 4939d940dbfee8cd069a096e51e039f7b43bf043f493b97bf61c70d59a0d3060d19a6bb19281b990c4ac1c23d6f7b727bc41ed8edacc6c8f82d53865c81dd3e6
$(DL_FILE)_BLAKE2 = 0d5fdcef6f52f396cac436ce17f6c52db3fcb43cdeb6fdcb1b0baa76fdfc2cfc8d94fcc925eed0c7cd4dfda00ac45dfbdcd661b69146cc45dfbb598f53471246
install : $(TARGET)
@@ -77,7 +77,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/rtl8812au/enable_usbmodeswitch.patch
cd $(DIR_APP) && CONFIG_88XXAU=m make $(MAKETUNING) \
cd $(DIR_APP) && CONFIG_RTL8812AU=m make $(MAKETUNING) \
-C /lib/modules/$(KVER)-$(VERSUFIX)/build/ M=$(DIR_APP)/ modules
# Install the built kernel modules.

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2022 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -27,7 +27,7 @@ include Config
VERSUFIX = ipfire$(KCFG)
MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/extra/wlan
VER = 20210118-f91ddf3cc7555b9a1c27c90f23764cfc0b1b6f9c
VER = 20210118-7b8c45a270454f05e2dbf3beeb4afcf817db65da
THISAPP = 8821cu-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = a3ea84b45258fed06baab211393725391fe26686fe85c2273605e6cb59e3e83e54d45e24bc2c3b046de9bb3af8a8cc3a584dbd80ecea3bb8416fb5e79113fb69
$(DL_FILE)_BLAKE2 = 4f81f274d141ae140b96ac3a60642d70b8d2603080f3e8ed9f836815fec6eeb9b5f8648ed53663dbbe171176600760fae26cf5815395d004328a89037149122c
install : $(TARGET)

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -27,7 +27,7 @@ include Config
VERSUFIX = ipfire$(KCFG)
MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/extra/wlan
VER = fd0b735e2e30d32f4d91497242cf6af288bdd082
VER = 20210702-2590672d717e2516dd2e96ed66f1037a6815bced
THISAPP = 88x2bu-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = 4d3500428b174dfa5e9fb7ef2a8a1f5714129ad443969251dc70c10d23391318dfa900f39977cb437ed2fd5a75903c45d1cc3fa429a897ed9ed53b22ed145878
$(DL_FILE)_BLAKE2 = cfb62db38b7fb45cd08373fc08f98a7f15823ff93aa2f5fba3f5b71d50131bc6b1b7a68a16924b000ad431cffcd64fd635a49a76f70748a4df129e2c07f30936
install : $(TARGET)
@@ -76,7 +76,6 @@ $(subst %,%_BLAKE2,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/rtl8822bu/remove-ipx.patch
cd $(DIR_APP) && CONFIG_RTL8822BU=m make $(MAKETUNING) \
-C /lib/modules/$(KVER)-$(VERSUFIX)/build/ M=$(DIR_APP)/ modules

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -26,7 +26,7 @@ include Config
SUMMARY = A utility to trace the system calls of a program
VER = 5.17
VER = 6.1
SUP_ARCHES = x86_64 armv6l aarch64
THISAPP = strace-$(VER)
@@ -35,7 +35,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = strace
PAK_VER = 7
PAK_VER = 8
DEPS = elfutils
@@ -49,7 +49,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = 27e7dc19302c58144b0a7d8de41f717760b8e3cde4ab56892045727597bbfc894bf8f137aee476548c2d16d1e9c8005f931f31a5d2f8bfc4ce5565c2aa01f1ec
$(DL_FILE)_BLAKE2 = f11bdddcc23d9bbe7196a102165ac40d3f39e0dec8b9c727e226d99ae0b6f22865bd0582d4e9c15fdce87dd405e0e9c68b60041bd2b90bc8480557f82ca6dcb8
install : $(TARGET)

View File

@@ -35,7 +35,8 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX)
SUP_ARCH = armv6l
#SUP_ARCH = armv6l
SUP_ARCH = none
###############################################################################
# Top-level Rules

View File

@@ -0,0 +1,16 @@
diff --git a/Makefile b/Makefile
index 8478e13e9424..00c747575f0c 100644
--- a/Makefile
+++ b/Makefile
@@ -1734,9 +1734,9 @@ PHONY += prepare
# now expand this into a simple variable to reduce the cost of shell evaluations
prepare: CC_VERSION_TEXT := $(CC_VERSION_TEXT)
prepare:
- @if [ "$(CC_VERSION_TEXT)" != "$(CONFIG_CC_VERSION_TEXT)" ]; then \
+ @if [ "$(CC_VERSION_TEXT)" != $(CONFIG_CC_VERSION_TEXT) ]; then \
echo >&2 "warning: the compiler differs from the one used to build the kernel"; \
- echo >&2 " The kernel was built by: $(CONFIG_CC_VERSION_TEXT)"; \
+ echo >&2 " The kernel was built by: "$(CONFIG_CC_VERSION_TEXT); \
echo >&2 " You are using: $(CC_VERSION_TEXT)"; \
fi

View File

@@ -0,0 +1,63 @@
From: Yupeng Li <liyupeng@zbhlos.com>
To: Shyam-sundar.S-k@amd.com, hdegoede@redhat.com, markgross@kernel.org
Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org,
caizp2008@163.com, Yupeng Li <liyupeng@zbhlos.com>
Subject: [PATCH 1/1] platform/x86/amd: Fix pmc compile dependency errors.
Date: Wed, 26 Oct 2022 15:25:31 +0800
When disabled CONFIG_SUSPEND and CONFIG_DEBUG_FS, get_metrics_table
and amd_pmc_idlemask_read is defined under two conditions of this,
pmc build with implicit declaration of function error.Some build error
messages are as follows:
CC [M] drivers/platform/x86/amd/pmc.o
drivers/platform/x86/amd/pmc.c: In function smu_fw_info_show:
drivers/platform/x86/amd/pmc.c:436:6: error: implicit declaration of function get_metrics_table [-Werror=implicit-function-declaration]
436 | if (get_metrics_table(dev, &table))
| ^~~~~~~~~~~~~~~~~
drivers/platform/x86/amd/pmc.c: In function amd_pmc_idlemask_show:
drivers/platform/x86/amd/pmc.c:508:8: error: implicit declaration of function amd_pmc_idlemask_read; did you mean amd_pmc_idlemask_show? [-Werror=implicit-function-declaration]
508 | rc = amd_pmc_idlemask_read(dev, NULL, s);
| ^~~~~~~~~~~~~~~~~~~~~
| amd_pmc_idlemask_show
cc1: some warnings being treated as errors
Signed-off-by: Yupeng Li <liyupeng@zbhlos.com>
Reviewed-by: Caicai <caizp2008@163.com>
---
drivers/platform/x86/amd/pmc.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/platform/x86/amd/pmc.c b/drivers/platform/x86/amd/pmc.c
index ce859b300712..2b08039921b8 100644
--- a/drivers/platform/x86/amd/pmc.c
+++ b/drivers/platform/x86/amd/pmc.c
@@ -433,8 +433,10 @@ static int smu_fw_info_show(struct seq_file *s, void *unused)
struct smu_metrics table;
int idx;
+#if defined(CONFIG_SUSPEND) || defined(CONFIG_DEBUG_FS)
if (get_metrics_table(dev, &table))
return -EINVAL;
+#endif
seq_puts(s, "\n=== SMU Statistics ===\n");
seq_printf(s, "Table Version: %d\n", table.table_version);
@@ -503,11 +505,12 @@ static int amd_pmc_idlemask_show(struct seq_file *s, void *unused)
if (rc)
return rc;
}
-
if (dev->major > 56 || (dev->major >= 55 && dev->minor >= 37)) {
+#if defined(CONFIG_SUSPEND) || defined(CONFIG_DEBUG_FS)
rc = amd_pmc_idlemask_read(dev, NULL, s);
if (rc)
return rc;
+#endif
} else {
seq_puts(s, "Unsupported SMU version for Idlemask\n");
}
--
2.34.1

View File

@@ -1,20 +1,22 @@
diff -Naur linux-5.15.59.ORG/include/linux/skbuff.h linux-5.15.59/include/linux/skbuff.h
--- linux-5.15.59.ORG/include/linux/skbuff.h 2022-08-03 12:03:56.000000000 +0200
+++ linux-5.15.59/include/linux/skbuff.h 2022-08-05 13:28:29.785231584 +0200
@@ -807,6 +807,9 @@
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 7be5bb4c94b6..9a86f7bdbfce 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -891,6 +891,9 @@ struct sk_buff {
#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
unsigned long _nfct;
#endif
+#endif
+#if defined(CONFIG_NETFILTER_XT_MATCH_LAYER7) || defined(CONFIG_NETFILTER_XT_MATCH_LAYER7_MODULE)
+ char layer7_flags[1];
+#endif
#endif
unsigned int len,
data_len;
__u16 mac_len,
diff -Naur linux-5.15.59.ORG/include/net/netfilter/nf_conntrack.h linux-5.15.59/include/net/netfilter/nf_conntrack.h
--- linux-5.15.59.ORG/include/net/netfilter/nf_conntrack.h 2022-08-03 12:03:56.000000000 +0200
+++ linux-5.15.59/include/net/netfilter/nf_conntrack.h 2022-08-05 13:28:29.786231577 +0200
@@ -119,6 +119,23 @@
diff --git a/include/net/netfilter/nf_conntrack.h b/include/net/netfilter/nf_conntrack.h
index 6a2019aaa464..fecc0a5c4b04 100644
--- a/include/net/netfilter/nf_conntrack.h
+++ b/include/net/netfilter/nf_conntrack.h
@@ -121,6 +121,23 @@ struct nf_conn {
/* Extensions */
struct nf_ct_ext *ext;
@@ -38,9 +40,11 @@ diff -Naur linux-5.15.59.ORG/include/net/netfilter/nf_conntrack.h linux-5.15.59/
/* Storage reserved for other modules, must be the last member */
union nf_conntrack_proto proto;
};
diff -Naur linux-5.15.59.ORG/include/uapi/linux/netfilter/xt_layer7.h linux-5.15.59/include/uapi/linux/netfilter/xt_layer7.h
--- linux-5.15.59.ORG/include/uapi/linux/netfilter/xt_layer7.h 1970-01-01 01:00:00.000000000 +0100
+++ linux-5.15.59/include/uapi/linux/netfilter/xt_layer7.h 2022-08-05 13:28:29.786231577 +0200
diff --git a/include/uapi/linux/netfilter/xt_layer7.h b/include/uapi/linux/netfilter/xt_layer7.h
new file mode 100644
index 000000000000..147cd6477858
--- /dev/null
+++ b/include/uapi/linux/netfilter/xt_layer7.h
@@ -0,0 +1,13 @@
+#ifndef _XT_LAYER7_H
+#define _XT_LAYER7_H
@@ -55,10 +59,11 @@ diff -Naur linux-5.15.59.ORG/include/uapi/linux/netfilter/xt_layer7.h linux-5.15
+};
+
+#endif /* _XT_LAYER7_H */
diff -Naur linux-5.15.59.ORG/net/netfilter/Kconfig linux-5.15.59/net/netfilter/Kconfig
--- linux-5.15.59.ORG/net/netfilter/Kconfig 2022-08-03 12:03:56.000000000 +0200
+++ linux-5.15.59/net/netfilter/Kconfig 2022-08-05 13:28:29.786231577 +0200
@@ -1389,6 +1389,26 @@
diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig
index 4b8d04640ff3..9d2140704720 100644
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
@@ -1401,6 +1401,26 @@ config NETFILTER_XT_MATCH_L2TP
To compile it as a module, choose M here. If unsure, say N.
@@ -85,10 +90,11 @@ diff -Naur linux-5.15.59.ORG/net/netfilter/Kconfig linux-5.15.59/net/netfilter/K
config NETFILTER_XT_MATCH_LENGTH
tristate '"length" match support'
depends on NETFILTER_ADVANCED
diff -Naur linux-5.15.59.ORG/net/netfilter/Makefile linux-5.15.59/net/netfilter/Makefile
--- linux-5.15.59.ORG/net/netfilter/Makefile 2022-08-03 12:03:56.000000000 +0200
+++ linux-5.15.59/net/netfilter/Makefile 2022-08-05 13:28:29.786231577 +0200
@@ -201,6 +201,7 @@
diff --git a/net/netfilter/Makefile b/net/netfilter/Makefile
index 0f060d100880..28a7d4f8be40 100644
--- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile
@@ -212,6 +212,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT) += xt_recent.o
obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o
obj-$(CONFIG_NETFILTER_XT_MATCH_SOCKET) += xt_socket.o
obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o
@@ -96,10 +102,11 @@ diff -Naur linux-5.15.59.ORG/net/netfilter/Makefile linux-5.15.59/net/netfilter/
obj-$(CONFIG_NETFILTER_XT_MATCH_STATISTIC) += xt_statistic.o
obj-$(CONFIG_NETFILTER_XT_MATCH_STRING) += xt_string.o
obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS) += xt_tcpmss.o
diff -Naur linux-5.15.59.ORG/net/netfilter/nf_conntrack_core.c linux-5.15.59/net/netfilter/nf_conntrack_core.c
--- linux-5.15.59.ORG/net/netfilter/nf_conntrack_core.c 2022-08-03 12:03:56.000000000 +0200
+++ linux-5.15.59/net/netfilter/nf_conntrack_core.c 2022-08-05 13:28:29.787231570 +0200
@@ -648,6 +648,11 @@
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
index 23b3fedd619a..5fa552543967 100644
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -604,6 +604,11 @@ void nf_ct_destroy(struct nf_conntrack *nfct)
*/
nf_ct_remove_expectations(ct);
@@ -108,27 +115,30 @@ diff -Naur linux-5.15.59.ORG/net/netfilter/nf_conntrack_core.c linux-5.15.59/net
+ kfree(ct->layer7.app_data);
+#endif
+
nf_ct_del_from_dying_or_unconfirmed_list(ct);
if (ct->master)
nf_ct_put(ct->master);
local_bh_enable();
diff -Naur linux-5.15.59.ORG/net/netfilter/nf_conntrack_standalone.c linux-5.15.59/net/netfilter/nf_conntrack_standalone.c
--- linux-5.15.59.ORG/net/netfilter/nf_conntrack_standalone.c 2022-08-03 12:03:56.000000000 +0200
+++ linux-5.15.59/net/netfilter/nf_conntrack_standalone.c 2022-08-05 13:28:29.787231570 +0200
@@ -370,6 +370,11 @@
diff --git a/net/netfilter/nf_conntrack_standalone.c b/net/netfilter/nf_conntrack_standalone.c
index bca839ab1ae8..69fb7b8296a2 100644
--- a/net/netfilter/nf_conntrack_standalone.c
+++ b/net/netfilter/nf_conntrack_standalone.c
@@ -373,6 +373,11 @@ static int ct_seq_show(struct seq_file *s, void *v)
ct_show_zone(s, ct, NF_CT_DEFAULT_ZONE_DIR);
ct_show_delta_time(s, ct);
+ #if defined(CONFIG_NETFILTER_XT_MATCH_LAYER7) || defined(CONFIG_NETFILTER_XT_MATCH_LAYER7_MODULE)
+#if defined(CONFIG_NETFILTER_XT_MATCH_LAYER7) || defined(CONFIG_NETFILTER_XT_MATCH_LAYER7_MODULE)
+ if(ct->layer7.app_proto)
+ seq_printf(s, "l7proto=%s ", ct->layer7.app_proto);
+ #endif
+#endif
+
seq_printf(s, "use=%u\n", refcount_read(&ct->ct_general.use));
if (seq_has_overflowed(s))
diff -Naur linux-5.15.59.ORG/net/netfilter/regexp/regexp.c linux-5.15.59/net/netfilter/regexp/regexp.c
--- linux-5.15.59.ORG/net/netfilter/regexp/regexp.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-5.15.59/net/netfilter/regexp/regexp.c 2022-08-05 13:28:29.788231563 +0200
diff --git a/net/netfilter/regexp/regexp.c b/net/netfilter/regexp/regexp.c
new file mode 100644
index 000000000000..900698886531
--- /dev/null
+++ b/net/netfilter/regexp/regexp.c
@@ -0,0 +1,1197 @@
+/*
+ * regcomp and regexec -- regsub and regerror are elsewhere
@@ -1327,9 +1337,11 @@ diff -Naur linux-5.15.59.ORG/net/netfilter/regexp/regexp.c linux-5.15.59/net/net
+#endif
+
+
diff -Naur linux-5.15.59.ORG/net/netfilter/regexp/regexp.h linux-5.15.59/net/netfilter/regexp/regexp.h
--- linux-5.15.59.ORG/net/netfilter/regexp/regexp.h 1970-01-01 01:00:00.000000000 +0100
+++ linux-5.15.59/net/netfilter/regexp/regexp.h 2022-08-05 13:28:29.788231563 +0200
diff --git a/net/netfilter/regexp/regexp.h b/net/netfilter/regexp/regexp.h
new file mode 100644
index 000000000000..a72eba71fb61
--- /dev/null
+++ b/net/netfilter/regexp/regexp.h
@@ -0,0 +1,41 @@
+/*
+ * Definitions etc. for regexp(3) routines.
@@ -1372,18 +1384,22 @@ diff -Naur linux-5.15.59.ORG/net/netfilter/regexp/regexp.h linux-5.15.59/net/net
+void regerror(char *s);
+
+#endif
diff -Naur linux-5.15.59.ORG/net/netfilter/regexp/regmagic.h linux-5.15.59/net/netfilter/regexp/regmagic.h
--- linux-5.15.59.ORG/net/netfilter/regexp/regmagic.h 1970-01-01 01:00:00.000000000 +0100
+++ linux-5.15.59/net/netfilter/regexp/regmagic.h 2022-08-05 13:28:29.788231563 +0200
diff --git a/net/netfilter/regexp/regmagic.h b/net/netfilter/regexp/regmagic.h
new file mode 100644
index 000000000000..5acf4478ff71
--- /dev/null
+++ b/net/netfilter/regexp/regmagic.h
@@ -0,0 +1,5 @@
+/*
+ * The first byte of the regexp internal "program" is actually this magic
+ * number; the start node begins in the second byte.
+ */
+#define MAGIC 0234
diff -Naur linux-5.15.59.ORG/net/netfilter/regexp/regsub.c linux-5.15.59/net/netfilter/regexp/regsub.c
--- linux-5.15.59.ORG/net/netfilter/regexp/regsub.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-5.15.59/net/netfilter/regexp/regsub.c 2022-08-05 13:28:29.788231563 +0200
diff --git a/net/netfilter/regexp/regsub.c b/net/netfilter/regexp/regsub.c
new file mode 100644
index 000000000000..339631f06f00
--- /dev/null
+++ b/net/netfilter/regexp/regsub.c
@@ -0,0 +1,95 @@
+/*
+ * regsub
@@ -1480,9 +1496,11 @@ diff -Naur linux-5.15.59.ORG/net/netfilter/regexp/regsub.c linux-5.15.59/net/net
+ }
+ *dst++ = '\0';
+}
diff -Naur linux-5.15.59.ORG/net/netfilter/xt_layer7.c linux-5.15.59/net/netfilter/xt_layer7.c
--- linux-5.15.59.ORG/net/netfilter/xt_layer7.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-5.15.59/net/netfilter/xt_layer7.c 2022-08-05 13:28:29.788231563 +0200
diff --git a/net/netfilter/xt_layer7.c b/net/netfilter/xt_layer7.c
new file mode 100644
index 000000000000..a7eb760123bf
--- /dev/null
+++ b/net/netfilter/xt_layer7.c
@@ -0,0 +1,666 @@
+/*
+ Kernel module to match application layer (OSI layer 7) data in connections.

View File

@@ -0,0 +1,24 @@
diff -Naur postfix-3.7.2.org/makedefs postfix-3.7.2/makedefs
--- postfix-3.7.2.org/makedefs 2022-01-23 21:53:41.000000000 +0100
+++ postfix-3.7.2/makedefs 2022-10-18 16:11:50.259575443 +0200
@@ -627,7 +627,7 @@
: ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
: ${PLUGIN_LD="${CC-gcc} -shared"}
;;
- Linux.[345].*) SYSTYPE=LINUX$RELEASE_MAJOR
+ Linux.[3-6].*) SYSTYPE=LINUX$RELEASE_MAJOR
case "$CCARGS" in
*-DNO_DB*) ;;
*-DHAS_DB*) ;;
diff -Naur postfix-3.7.2.org/src/util/sys_defs.h postfix-3.7.2/src/util/sys_defs.h
--- postfix-3.7.2.org/src/util/sys_defs.h 2021-12-05 19:59:27.000000000 +0100
+++ postfix-3.7.2/src/util/sys_defs.h 2022-10-18 16:09:29.682371415 +0200
@@ -751,7 +751,7 @@
/*
* LINUX.
*/
-#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5)
+#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5) || defined(LINUX6)
#define SUPPORTED
#define UINT32_TYPE unsigned int
#define UINT16_TYPE unsigned short

View File

@@ -1,319 +0,0 @@
diff -Naur rtl8189ES_linux-03ac413135a355b55b693154c44b70f86a39732e.org/core/rtw_br_ext.c rtl8189ES_linux-03ac413135a355b55b693154c44b70f86a39732e/core/rtw_br_ext.c
--- rtl8189ES_linux-03ac413135a355b55b693154c44b70f86a39732e.org/core/rtw_br_ext.c 2021-03-02 18:42:47.000000000 +0100
+++ rtl8189ES_linux-03ac413135a355b55b693154c44b70f86a39732e/core/rtw_br_ext.c 2021-11-04 18:21:00.965922215 +0100
@@ -22,7 +22,6 @@
#ifdef __KERNEL__
#include <linux/if_arp.h>
#include <net/ip.h>
-#include <net/ipx.h>
#include <linux/atalk.h>
#include <linux/udp.h>
#include <linux/if_pppox.h>
@@ -171,39 +170,6 @@
}
-static __inline__ void __nat25_generate_ipx_network_addr_with_node(unsigned char *networkAddr,
- unsigned int *ipxNetAddr, unsigned char *ipxNodeAddr)
-{
- memset(networkAddr, 0, MAX_NETWORK_ADDR_LEN);
-
- networkAddr[0] = NAT25_IPX;
- memcpy(networkAddr+1, (unsigned char *)ipxNetAddr, 4);
- memcpy(networkAddr+5, ipxNodeAddr, 6);
-}
-
-
-static __inline__ void __nat25_generate_ipx_network_addr_with_socket(unsigned char *networkAddr,
- unsigned int *ipxNetAddr, unsigned short *ipxSocketAddr)
-{
- memset(networkAddr, 0, MAX_NETWORK_ADDR_LEN);
-
- networkAddr[0] = NAT25_IPX;
- memcpy(networkAddr+1, (unsigned char *)ipxNetAddr, 4);
- memcpy(networkAddr+5, (unsigned char *)ipxSocketAddr, 2);
-}
-
-
-static __inline__ void __nat25_generate_apple_network_addr(unsigned char *networkAddr,
- unsigned short *network, unsigned char *node)
-{
- memset(networkAddr, 0, MAX_NETWORK_ADDR_LEN);
-
- networkAddr[0] = NAT25_APPLE;
- memcpy(networkAddr+1, (unsigned char *)network, 2);
- networkAddr[3] = *node;
-}
-
-
static __inline__ void __nat25_generate_pppoe_network_addr(unsigned char *networkAddr,
unsigned char *ac_mac, unsigned short *sid)
{
@@ -929,267 +895,6 @@
}
/*---------------------------------------------------*/
- /* Handle IPX and Apple Talk frame */
- /*---------------------------------------------------*/
- else if((protocol == __constant_htons(ETH_P_IPX)) ||
- (protocol == __constant_htons(ETH_P_ATALK)) ||
- (protocol == __constant_htons(ETH_P_AARP)))
- {
- unsigned char ipx_header[2] = {0xFF, 0xFF};
- struct ipxhdr *ipx = NULL;
- struct elapaarp *ea = NULL;
- struct ddpehdr *ddp = NULL;
- unsigned char *framePtr = skb->data + ETH_HLEN;
-
- if(protocol == __constant_htons(ETH_P_IPX))
- {
- DBG_871X("NAT25: Protocol=IPX (Ethernet II)\n");
- ipx = (struct ipxhdr *)framePtr;
- }
- else //if(protocol <= __constant_htons(ETH_FRAME_LEN))
- {
- if(!memcmp(ipx_header, framePtr, 2))
- {
- DBG_871X("NAT25: Protocol=IPX (Ethernet 802.3)\n");
- ipx = (struct ipxhdr *)framePtr;
- }
- else
- {
- unsigned char ipx_8022_type = 0xE0;
- unsigned char snap_8022_type = 0xAA;
-
- if(*framePtr == snap_8022_type)
- {
- unsigned char ipx_snap_id[5] = {0x0, 0x0, 0x0, 0x81, 0x37}; // IPX SNAP ID
- unsigned char aarp_snap_id[5] = {0x00, 0x00, 0x00, 0x80, 0xF3}; // Apple Talk AARP SNAP ID
- unsigned char ddp_snap_id[5] = {0x08, 0x00, 0x07, 0x80, 0x9B}; // Apple Talk DDP SNAP ID
-
- framePtr += 3; // eliminate the 802.2 header
-
- if(!memcmp(ipx_snap_id, framePtr, 5))
- {
- framePtr += 5; // eliminate the SNAP header
-
- DBG_871X("NAT25: Protocol=IPX (Ethernet SNAP)\n");
- ipx = (struct ipxhdr *)framePtr;
- }
- else if(!memcmp(aarp_snap_id, framePtr, 5))
- {
- framePtr += 5; // eliminate the SNAP header
-
- ea = (struct elapaarp *)framePtr;
- }
- else if(!memcmp(ddp_snap_id, framePtr, 5))
- {
- framePtr += 5; // eliminate the SNAP header
-
- ddp = (struct ddpehdr *)framePtr;
- }
- else
- {
- DEBUG_WARN("NAT25: Protocol=Ethernet SNAP %02x%02x%02x%02x%02x\n", framePtr[0],
- framePtr[1], framePtr[2], framePtr[3], framePtr[4]);
- return -1;
- }
- }
- else if(*framePtr == ipx_8022_type)
- {
- framePtr += 3; // eliminate the 802.2 header
-
- if(!memcmp(ipx_header, framePtr, 2))
- {
- DBG_871X("NAT25: Protocol=IPX (Ethernet 802.2)\n");
- ipx = (struct ipxhdr *)framePtr;
- }
- else
- return -1;
- }
- }
- }
-
- /* IPX */
- if(ipx != NULL)
- {
- switch(method)
- {
- case NAT25_CHECK:
- if(!memcmp(skb->data+ETH_ALEN, ipx->ipx_source.node, ETH_ALEN))
- {
- DBG_871X("NAT25: Check IPX skb_copy\n");
- return 0;
- }
- return -1;
-
- case NAT25_INSERT:
- {
- DBG_871X("NAT25: Insert IPX, Dest=%08x,%02x%02x%02x%02x%02x%02x,%04x Source=%08x,%02x%02x%02x%02x%02x%02x,%04x\n",
- ipx->ipx_dest.net,
- ipx->ipx_dest.node[0],
- ipx->ipx_dest.node[1],
- ipx->ipx_dest.node[2],
- ipx->ipx_dest.node[3],
- ipx->ipx_dest.node[4],
- ipx->ipx_dest.node[5],
- ipx->ipx_dest.sock,
- ipx->ipx_source.net,
- ipx->ipx_source.node[0],
- ipx->ipx_source.node[1],
- ipx->ipx_source.node[2],
- ipx->ipx_source.node[3],
- ipx->ipx_source.node[4],
- ipx->ipx_source.node[5],
- ipx->ipx_source.sock);
-
- if(!memcmp(skb->data+ETH_ALEN, ipx->ipx_source.node, ETH_ALEN))
- {
- DBG_871X("NAT25: Use IPX Net, and Socket as network addr\n");
-
- __nat25_generate_ipx_network_addr_with_socket(networkAddr, &ipx->ipx_source.net, &ipx->ipx_source.sock);
-
- // change IPX source node addr to wlan STA address
- memcpy(ipx->ipx_source.node, GET_MY_HWADDR(priv), ETH_ALEN);
- }
- else
- {
- __nat25_generate_ipx_network_addr_with_node(networkAddr, &ipx->ipx_source.net, ipx->ipx_source.node);
- }
-
- __nat25_db_network_insert(priv, skb->data+ETH_ALEN, networkAddr);
-
- __nat25_db_print(priv);
- }
- return 0;
-
- case NAT25_LOOKUP:
- {
- if(!memcmp(GET_MY_HWADDR(priv), ipx->ipx_dest.node, ETH_ALEN))
- {
- DBG_871X("NAT25: Lookup IPX, Modify Destination IPX Node addr\n");
-
- __nat25_generate_ipx_network_addr_with_socket(networkAddr, &ipx->ipx_dest.net, &ipx->ipx_dest.sock);
-
- __nat25_db_network_lookup_and_replace(priv, skb, networkAddr);
-
- // replace IPX destination node addr with Lookup destination MAC addr
- memcpy(ipx->ipx_dest.node, skb->data, ETH_ALEN);
- }
- else
- {
- __nat25_generate_ipx_network_addr_with_node(networkAddr, &ipx->ipx_dest.net, ipx->ipx_dest.node);
-
- __nat25_db_network_lookup_and_replace(priv, skb, networkAddr);
- }
- }
- return 0;
-
- default:
- return -1;
- }
- }
-
- /* AARP */
- else if(ea != NULL)
- {
- /* Sanity check fields. */
- if(ea->hw_len != ETH_ALEN || ea->pa_len != AARP_PA_ALEN)
- {
- DEBUG_WARN("NAT25: Appletalk AARP Sanity check fail!\n");
- return -1;
- }
-
- switch(method)
- {
- case NAT25_CHECK:
- return 0;
-
- case NAT25_INSERT:
- {
- // change to AARP source mac address to wlan STA address
- memcpy(ea->hw_src, GET_MY_HWADDR(priv), ETH_ALEN);
-
- DBG_871X("NAT25: Insert AARP, Source=%d,%d Destination=%d,%d\n",
- ea->pa_src_net,
- ea->pa_src_node,
- ea->pa_dst_net,
- ea->pa_dst_node);
-
- __nat25_generate_apple_network_addr(networkAddr, &ea->pa_src_net, &ea->pa_src_node);
-
- __nat25_db_network_insert(priv, skb->data+ETH_ALEN, networkAddr);
-
- __nat25_db_print(priv);
- }
- return 0;
-
- case NAT25_LOOKUP:
- {
- DBG_871X("NAT25: Lookup AARP, Source=%d,%d Destination=%d,%d\n",
- ea->pa_src_net,
- ea->pa_src_node,
- ea->pa_dst_net,
- ea->pa_dst_node);
-
- __nat25_generate_apple_network_addr(networkAddr, &ea->pa_dst_net, &ea->pa_dst_node);
-
- __nat25_db_network_lookup_and_replace(priv, skb, networkAddr);
-
- // change to AARP destination mac address to Lookup result
- memcpy(ea->hw_dst, skb->data, ETH_ALEN);
- }
- return 0;
-
- default:
- return -1;
- }
- }
-
- /* DDP */
- else if(ddp != NULL)
- {
- switch(method)
- {
- case NAT25_CHECK:
- return -1;
-
- case NAT25_INSERT:
- {
- DBG_871X("NAT25: Insert DDP, Source=%d,%d Destination=%d,%d\n",
- ddp->deh_snet,
- ddp->deh_snode,
- ddp->deh_dnet,
- ddp->deh_dnode);
-
- __nat25_generate_apple_network_addr(networkAddr, &ddp->deh_snet, &ddp->deh_snode);
-
- __nat25_db_network_insert(priv, skb->data+ETH_ALEN, networkAddr);
-
- __nat25_db_print(priv);
- }
- return 0;
-
- case NAT25_LOOKUP:
- {
- DBG_871X("NAT25: Lookup DDP, Source=%d,%d Destination=%d,%d\n",
- ddp->deh_snet,
- ddp->deh_snode,
- ddp->deh_dnet,
- ddp->deh_dnode);
-
- __nat25_generate_apple_network_addr(networkAddr, &ddp->deh_dnet, &ddp->deh_dnode);
-
- __nat25_db_network_lookup_and_replace(priv, skb, networkAddr);
- }
- return 0;
-
- default:
- return -1;
- }
- }
-
- return -1;
- }
-
- /*---------------------------------------------------*/
/* Handle PPPoE frame */
/*---------------------------------------------------*/
else if((protocol == __constant_htons(ETH_P_PPP_DISC)) ||

View File

@@ -1,11 +0,0 @@
diff -Naur rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c.org/include/autoconf.h rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c/include/autoconf.h
--- rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c.org/include/autoconf.h 2021-10-01 14:51:56.000000000 +0000
+++ rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c/include/autoconf.h 2022-02-26 12:00:09.188965578 +0000
@@ -224,7 +224,6 @@
/*
* Debug Related Config
*/
-#define CONFIG_DEBUG /* DBG_871X, etc... */
#ifdef CONFIG_DEBUG
#define DBG 1 // for ODM & BTCOEX debug

View File

@@ -1,280 +0,0 @@
diff -Naur 88x2bu-fd0b735e2e30d32f4d91497242cf6af288bdd082.org/core/rtw_br_ext.c 88x2bu-fd0b735e2e30d32f4d91497242cf6af288bdd082/core/rtw_br_ext.c
--- 88x2bu-fd0b735e2e30d32f4d91497242cf6af288bdd082.org/core/rtw_br_ext.c 2021-09-30 20:27:33.000000000 +0200
+++ 88x2bu-fd0b735e2e30d32f4d91497242cf6af288bdd082/core/rtw_br_ext.c 2021-11-04 18:57:11.853953556 +0100
@@ -17,7 +17,6 @@
#ifdef __KERNEL__
#include <linux/if_arp.h>
#include <net/ip.h>
- #include <net/ipx.h>
#include <linux/atalk.h>
#include <linux/udp.h>
#include <linux/if_pppox.h>
@@ -168,40 +167,6 @@
memcpy(networkAddr + 7, (unsigned char *)ipAddr, 4);
}
-
-static __inline__ void __nat25_generate_ipx_network_addr_with_node(unsigned char *networkAddr,
- unsigned int *ipxNetAddr, unsigned char *ipxNodeAddr)
-{
- memset(networkAddr, 0, MAX_NETWORK_ADDR_LEN);
-
- networkAddr[0] = NAT25_IPX;
- memcpy(networkAddr + 1, (unsigned char *)ipxNetAddr, 4);
- memcpy(networkAddr + 5, ipxNodeAddr, 6);
-}
-
-
-static __inline__ void __nat25_generate_ipx_network_addr_with_socket(unsigned char *networkAddr,
- unsigned int *ipxNetAddr, unsigned short *ipxSocketAddr)
-{
- memset(networkAddr, 0, MAX_NETWORK_ADDR_LEN);
-
- networkAddr[0] = NAT25_IPX;
- memcpy(networkAddr + 1, (unsigned char *)ipxNetAddr, 4);
- memcpy(networkAddr + 5, (unsigned char *)ipxSocketAddr, 2);
-}
-
-
-static __inline__ void __nat25_generate_apple_network_addr(unsigned char *networkAddr,
- unsigned short *network, unsigned char *node)
-{
- memset(networkAddr, 0, MAX_NETWORK_ADDR_LEN);
-
- networkAddr[0] = NAT25_APPLE;
- memcpy(networkAddr + 1, (unsigned char *)network, 2);
- networkAddr[3] = *node;
-}
-
-
static __inline__ void __nat25_generate_pppoe_network_addr(unsigned char *networkAddr,
unsigned char *ac_mac, unsigned short *sid)
{
@@ -890,227 +855,6 @@
}
/*---------------------------------------------------*/
- /* Handle IPX and Apple Talk frame */
- /*---------------------------------------------------*/
- else if ((protocol == __constant_htons(ETH_P_IPX)) ||
- (protocol == __constant_htons(ETH_P_ATALK)) ||
- (protocol == __constant_htons(ETH_P_AARP))) {
- unsigned char ipx_header[2] = {0xFF, 0xFF};
- struct ipxhdr *ipx = NULL;
- struct elapaarp *ea = NULL;
- struct ddpehdr *ddp = NULL;
- unsigned char *framePtr = skb->data + ETH_HLEN;
-
- if (protocol == __constant_htons(ETH_P_IPX)) {
- RTW_INFO("NAT25: Protocol=IPX (Ethernet II)\n");
- ipx = (struct ipxhdr *)framePtr;
- } else { /* if(protocol <= __constant_htons(ETH_FRAME_LEN)) */
- if (!memcmp(ipx_header, framePtr, 2)) {
- RTW_INFO("NAT25: Protocol=IPX (Ethernet 802.3)\n");
- ipx = (struct ipxhdr *)framePtr;
- } else {
- unsigned char ipx_8022_type = 0xE0;
- unsigned char snap_8022_type = 0xAA;
-
- if (*framePtr == snap_8022_type) {
- unsigned char ipx_snap_id[5] = {0x0, 0x0, 0x0, 0x81, 0x37}; /* IPX SNAP ID */
- unsigned char aarp_snap_id[5] = {0x00, 0x00, 0x00, 0x80, 0xF3}; /* Apple Talk AARP SNAP ID */
- unsigned char ddp_snap_id[5] = {0x08, 0x00, 0x07, 0x80, 0x9B}; /* Apple Talk DDP SNAP ID */
-
- framePtr += 3; /* eliminate the 802.2 header */
-
- if (!memcmp(ipx_snap_id, framePtr, 5)) {
- framePtr += 5; /* eliminate the SNAP header */
-
- RTW_INFO("NAT25: Protocol=IPX (Ethernet SNAP)\n");
- ipx = (struct ipxhdr *)framePtr;
- } else if (!memcmp(aarp_snap_id, framePtr, 5)) {
- framePtr += 5; /* eliminate the SNAP header */
-
- ea = (struct elapaarp *)framePtr;
- } else if (!memcmp(ddp_snap_id, framePtr, 5)) {
- framePtr += 5; /* eliminate the SNAP header */
-
- ddp = (struct ddpehdr *)framePtr;
- } else {
- DEBUG_WARN("NAT25: Protocol=Ethernet SNAP %02x%02x%02x%02x%02x\n", framePtr[0],
- framePtr[1], framePtr[2], framePtr[3], framePtr[4]);
- return -1;
- }
- } else if (*framePtr == ipx_8022_type) {
- framePtr += 3; /* eliminate the 802.2 header */
-
- if (!memcmp(ipx_header, framePtr, 2)) {
- RTW_INFO("NAT25: Protocol=IPX (Ethernet 802.2)\n");
- ipx = (struct ipxhdr *)framePtr;
- } else
- return -1;
- }
- }
- }
-
- /* IPX */
- if (ipx != NULL) {
- switch (method) {
- case NAT25_CHECK:
- if (!memcmp(skb->data + ETH_ALEN, ipx->ipx_source.node, ETH_ALEN)) {
- RTW_INFO("NAT25: Check IPX skb_copy\n");
- return 0;
- }
- return -1;
-
- case NAT25_INSERT: {
- RTW_INFO("NAT25: Insert IPX, Dest=%08x,%02x%02x%02x%02x%02x%02x,%04x Source=%08x,%02x%02x%02x%02x%02x%02x,%04x\n",
- ipx->ipx_dest.net,
- ipx->ipx_dest.node[0],
- ipx->ipx_dest.node[1],
- ipx->ipx_dest.node[2],
- ipx->ipx_dest.node[3],
- ipx->ipx_dest.node[4],
- ipx->ipx_dest.node[5],
- ipx->ipx_dest.sock,
- ipx->ipx_source.net,
- ipx->ipx_source.node[0],
- ipx->ipx_source.node[1],
- ipx->ipx_source.node[2],
- ipx->ipx_source.node[3],
- ipx->ipx_source.node[4],
- ipx->ipx_source.node[5],
- ipx->ipx_source.sock);
-
- if (!memcmp(skb->data + ETH_ALEN, ipx->ipx_source.node, ETH_ALEN)) {
- RTW_INFO("NAT25: Use IPX Net, and Socket as network addr\n");
-
- __nat25_generate_ipx_network_addr_with_socket(networkAddr, &ipx->ipx_source.net, &ipx->ipx_source.sock);
-
- /* change IPX source node addr to wlan STA address */
- memcpy(ipx->ipx_source.node, GET_MY_HWADDR(priv), ETH_ALEN);
- } else
- __nat25_generate_ipx_network_addr_with_node(networkAddr, &ipx->ipx_source.net, ipx->ipx_source.node);
-
- __nat25_db_network_insert(priv, skb->data + ETH_ALEN, networkAddr);
-
- __nat25_db_print(priv);
- }
- return 0;
-
- case NAT25_LOOKUP: {
- if (!memcmp(GET_MY_HWADDR(priv), ipx->ipx_dest.node, ETH_ALEN)) {
- RTW_INFO("NAT25: Lookup IPX, Modify Destination IPX Node addr\n");
-
- __nat25_generate_ipx_network_addr_with_socket(networkAddr, &ipx->ipx_dest.net, &ipx->ipx_dest.sock);
-
- __nat25_db_network_lookup_and_replace(priv, skb, networkAddr);
-
- /* replace IPX destination node addr with Lookup destination MAC addr */
- memcpy(ipx->ipx_dest.node, skb->data, ETH_ALEN);
- } else {
- __nat25_generate_ipx_network_addr_with_node(networkAddr, &ipx->ipx_dest.net, ipx->ipx_dest.node);
-
- __nat25_db_network_lookup_and_replace(priv, skb, networkAddr);
- }
- }
- return 0;
-
- default:
- return -1;
- }
- }
-
- /* AARP */
- else if (ea != NULL) {
- /* Sanity check fields. */
- if (ea->hw_len != ETH_ALEN || ea->pa_len != AARP_PA_ALEN) {
- DEBUG_WARN("NAT25: Appletalk AARP Sanity check fail!\n");
- return -1;
- }
-
- switch (method) {
- case NAT25_CHECK:
- return 0;
-
- case NAT25_INSERT: {
- /* change to AARP source mac address to wlan STA address */
- memcpy(ea->hw_src, GET_MY_HWADDR(priv), ETH_ALEN);
-
- RTW_INFO("NAT25: Insert AARP, Source=%d,%d Destination=%d,%d\n",
- ea->pa_src_net,
- ea->pa_src_node,
- ea->pa_dst_net,
- ea->pa_dst_node);
-
- __nat25_generate_apple_network_addr(networkAddr, &ea->pa_src_net, &ea->pa_src_node);
-
- __nat25_db_network_insert(priv, skb->data + ETH_ALEN, networkAddr);
-
- __nat25_db_print(priv);
- }
- return 0;
-
- case NAT25_LOOKUP: {
- RTW_INFO("NAT25: Lookup AARP, Source=%d,%d Destination=%d,%d\n",
- ea->pa_src_net,
- ea->pa_src_node,
- ea->pa_dst_net,
- ea->pa_dst_node);
-
- __nat25_generate_apple_network_addr(networkAddr, &ea->pa_dst_net, &ea->pa_dst_node);
-
- __nat25_db_network_lookup_and_replace(priv, skb, networkAddr);
-
- /* change to AARP destination mac address to Lookup result */
- memcpy(ea->hw_dst, skb->data, ETH_ALEN);
- }
- return 0;
-
- default:
- return -1;
- }
- }
-
- /* DDP */
- else if (ddp != NULL) {
- switch (method) {
- case NAT25_CHECK:
- return -1;
-
- case NAT25_INSERT: {
- RTW_INFO("NAT25: Insert DDP, Source=%d,%d Destination=%d,%d\n",
- ddp->deh_snet,
- ddp->deh_snode,
- ddp->deh_dnet,
- ddp->deh_dnode);
-
- __nat25_generate_apple_network_addr(networkAddr, &ddp->deh_snet, &ddp->deh_snode);
-
- __nat25_db_network_insert(priv, skb->data + ETH_ALEN, networkAddr);
-
- __nat25_db_print(priv);
- }
- return 0;
-
- case NAT25_LOOKUP: {
- RTW_INFO("NAT25: Lookup DDP, Source=%d,%d Destination=%d,%d\n",
- ddp->deh_snet,
- ddp->deh_snode,
- ddp->deh_dnet,
- ddp->deh_dnode);
-
- __nat25_generate_apple_network_addr(networkAddr, &ddp->deh_dnet, &ddp->deh_dnode);
-
- __nat25_db_network_lookup_and_replace(priv, skb, networkAddr);
- }
- return 0;
-
- default:
- return -1;
- }
- }
-
- return -1;
- }
-
- /*---------------------------------------------------*/
/* Handle PPPoE frame */
/*---------------------------------------------------*/
else if ((protocol == __constant_htons(ETH_P_PPP_DISC)) ||