forked from coolsnowwolf/lede
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7515f84
commit 9745339
Showing
15 changed files
with
2,492 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -284,7 +284,7 @@ define KernelPackage/drm | |
TITLE:=Direct Rendering Manager (DRM) support | ||
HIDDEN:=1 | ||
DEPENDS:=+kmod-dma-buf +kmod-i2c-core +kmod-backlight \ | ||
+(LINUX_5_15||LINUX_6_1):kmod-fb | ||
+(LINUX_5_15||LINUX_6_1||LINUX_6_6):kmod-fb | ||
KCONFIG:=CONFIG_DRM \ | ||
[email protected] \ | ||
[email protected] | ||
|
@@ -395,6 +395,7 @@ define KernelPackage/drm-amdgpu | |
CONFIG_DRM_AMD_DC=y \ | ||
CONFIG_DEBUG_KERNEL_DC=n | ||
FILES:=$(LINUX_DIR)/drivers/gpu/drm/amd/amdgpu/amdgpu.ko \ | ||
$(LINUX_DIR)/drivers/gpu/drm/amd/amdxcp/[email protected] \ | ||
$(LINUX_DIR)/drivers/gpu/drm/scheduler/gpu-sched.ko | ||
AUTOLOAD:=$(call AutoProbe,amdgpu) | ||
endef | ||
|
@@ -526,7 +527,7 @@ define KernelPackage/drm-radeon | |
SUBMENU:=$(VIDEO_MENU) | ||
TITLE:=Radeon DRM support | ||
DEPENDS:=@TARGET_x86||TARGET_phytium @DISPLAY_SUPPORT +kmod-backlight +kmod-drm-kms-helper \ | ||
+kmod-drm-ttm +kmod-i2c-algo-bit +LINUX_6_1:kmod-acpi-video +radeon-firmware | ||
+kmod-drm-ttm +kmod-i2c-algo-bit +(LINUX_6_1||LINUX_6_6):kmod-acpi-video +radeon-firmware | ||
KCONFIG:=CONFIG_DRM_RADEON | ||
FILES:=$(LINUX_DIR)/drivers/gpu/drm/radeon/radeon.ko | ||
AUTOLOAD:=$(call AutoProbe,radeon) | ||
|
@@ -555,7 +556,7 @@ $(eval $(call KernelPackage,drm-sched)) | |
define KernelPackage/drm-nouveau | ||
SUBMENU:=$(VIDEO_MENU) | ||
TITLE:=nouveau DRM support | ||
DEPENDS:=@TARGET_x86 @DISPLAY_SUPPORT +kmod-drm-kms-helper +LINUX_6_1:kmod-acpi-video | ||
DEPENDS:=@TARGET_x86 @DISPLAY_SUPPORT +kmod-drm-kms-helper +(LINUX_6_1||LINUX_6_6):kmod-acpi-video | ||
KCONFIG:=CONFIG_DRM_NOUVEAU \ | ||
NOUVEAU_DEBUG=5 \ | ||
NOUVEAU_DEBUG_DEFAULT=3 \ | ||
|
@@ -579,7 +580,7 @@ define KernelPackage/video-core | |
SUBMENU:=$(VIDEO_MENU) | ||
TITLE=Video4Linux support | ||
DEPENDS:=+PACKAGE_kmod-i2c-core:kmod-i2c-core \ | ||
+LINUX_6_1:kmod-media-core | ||
+LINUX_6_1||LINUX_6_6:kmod-media-core | ||
KCONFIG:= \ | ||
CONFIG_VIDEO_DEV \ | ||
CONFIG_V4L_PLATFORM_DRIVERS=y | ||
|
@@ -1218,7 +1219,7 @@ define KernelPackage/drm-i915 | |
SUBMENU:=$(VIDEO_MENU) | ||
TITLE:=Intel GPU drm support | ||
DEPENDS:=@TARGET_x86 +kmod-drm-ttm +kmod-drm-kms-helper +i915-firmware \ | ||
+LINUX_6_1:kmod-drm-display-helper +LINUX_6_1:kmod-acpi-video | ||
+(LINUX_6_1||LINUX_6_6):kmod-drm-display-helper +(LINUX_6_1||LINUX_6_6):kmod-acpi-video | ||
KCONFIG:= \ | ||
CONFIG_INTEL_GTT \ | ||
CONFIG_DRM_I915 \ | ||
|
89 changes: 89 additions & 0 deletions
89
target/linux/generic/pending-6.6/613-netfilter_optional_tcp_window_check.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
From: Felix Fietkau <[email protected]> | ||
Subject: netfilter: optional tcp window check | ||
|
||
Signed-off-by: Felix Fietkau <[email protected]> | ||
Signed-off-by: Christian 'Ansuel' Marangi <[email protected]> | ||
--- | ||
net/netfilter/nf_conntrack_proto_tcp.c | 13 +++++++++++++ | ||
1 file changed, 13 insertions(+) | ||
|
||
--- a/net/netfilter/nf_conntrack_proto_tcp.c | ||
+++ b/net/netfilter/nf_conntrack_proto_tcp.c | ||
@@ -513,11 +513,15 @@ tcp_in_window(struct nf_conn *ct, enum i | ||
struct ip_ct_tcp *state = &ct->proto.tcp; | ||
struct ip_ct_tcp_state *sender = &state->seen[dir]; | ||
struct ip_ct_tcp_state *receiver = &state->seen[!dir]; | ||
+ const struct nf_tcp_net *tn = nf_tcp_pernet(nf_ct_net(ct)); | ||
__u32 seq, ack, sack, end, win, swin; | ||
bool in_recv_win, seq_ok; | ||
s32 receiver_offset; | ||
u16 win_raw; | ||
|
||
+ if (tn->tcp_no_window_check) | ||
+ return NFCT_TCP_ACCEPT; | ||
+ | ||
/* | ||
* Get the required data from the packet. | ||
*/ | ||
@@ -1257,7 +1261,7 @@ int nf_conntrack_tcp_packet(struct nf_co | ||
IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED && | ||
timeouts[new_state] > timeouts[TCP_CONNTRACK_UNACK]) | ||
timeout = timeouts[TCP_CONNTRACK_UNACK]; | ||
- else if (ct->proto.tcp.last_win == 0 && | ||
+ else if (!tn->tcp_no_window_check && ct->proto.tcp.last_win == 0 && | ||
timeouts[new_state] > timeouts[TCP_CONNTRACK_RETRANS]) | ||
timeout = timeouts[TCP_CONNTRACK_RETRANS]; | ||
else | ||
@@ -1573,6 +1577,9 @@ void nf_conntrack_tcp_init_net(struct ne | ||
*/ | ||
tn->tcp_be_liberal = 0; | ||
|
||
+ /* Skip Windows Check */ | ||
+ tn->tcp_no_window_check = 0; | ||
+ | ||
/* If it's non-zero, we turn off RST sequence number check */ | ||
tn->tcp_ignore_invalid_rst = 0; | ||
|
||
--- a/net/netfilter/nf_conntrack_standalone.c | ||
+++ b/net/netfilter/nf_conntrack_standalone.c | ||
@@ -637,6 +637,7 @@ enum nf_ct_sysctl_index { | ||
#endif | ||
NF_SYSCTL_CT_PROTO_TCP_LOOSE, | ||
NF_SYSCTL_CT_PROTO_TCP_LIBERAL, | ||
+ NF_SYSCTL_CT_PROTO_TCP_NO_WINDOW_CHECK, | ||
NF_SYSCTL_CT_PROTO_TCP_IGNORE_INVALID_RST, | ||
NF_SYSCTL_CT_PROTO_TCP_MAX_RETRANS, | ||
NF_SYSCTL_CT_PROTO_TIMEOUT_UDP, | ||
@@ -844,6 +845,14 @@ static struct ctl_table nf_ct_sysctl_tab | ||
.extra1 = SYSCTL_ZERO, | ||
.extra2 = SYSCTL_ONE, | ||
}, | ||
+ [NF_SYSCTL_CT_PROTO_TCP_NO_WINDOW_CHECK] = { | ||
+ .procname = "nf_conntrack_tcp_no_window_check", | ||
+ .maxlen = sizeof(u8), | ||
+ .mode = 0644, | ||
+ .proc_handler = proc_dou8vec_minmax, | ||
+ .extra1 = SYSCTL_ZERO, | ||
+ .extra2 = SYSCTL_ONE, | ||
+ }, | ||
[NF_SYSCTL_CT_PROTO_TCP_IGNORE_INVALID_RST] = { | ||
.procname = "nf_conntrack_tcp_ignore_invalid_rst", | ||
.maxlen = sizeof(u8), | ||
@@ -1054,6 +1063,7 @@ static void nf_conntrack_standalone_init | ||
|
||
XASSIGN(LOOSE, &tn->tcp_loose); | ||
XASSIGN(LIBERAL, &tn->tcp_be_liberal); | ||
+ XASSIGN(NO_WINDOW_CHECK, &tn->tcp_no_window_check); | ||
XASSIGN(MAX_RETRANS, &tn->tcp_max_retrans); | ||
XASSIGN(IGNORE_INVALID_RST, &tn->tcp_ignore_invalid_rst); | ||
#undef XASSIGN | ||
--- a/include/net/netns/conntrack.h | ||
+++ b/include/net/netns/conntrack.h | ||
@@ -26,6 +26,7 @@ struct nf_tcp_net { | ||
unsigned int timeouts[TCP_CONNTRACK_TIMEOUT_MAX]; | ||
u8 tcp_loose; | ||
u8 tcp_be_liberal; | ||
+ u8 tcp_no_window_check; | ||
u8 tcp_max_retrans; | ||
u8 tcp_ignore_invalid_rst; | ||
#if IS_ENABLED(CONFIG_NF_FLOW_TABLE) |
Oops, something went wrong.