1
0

Compare commits

..

6 Commits

Author SHA1 Message Date
06a5da3214 release 6.12.20 2025-03-23 03:20:34 +03:00
42650d9e26 release 6.12.19 2025-03-13 20:55:12 +03:00
541b699fa5 release 6.12.18 2025-03-08 06:46:16 +03:00
9bc795cb7a release 6.12.17 2025-02-27 16:40:53 +03:00
40abc00198 release 6.12.16 2025-02-21 18:45:20 +03:00
92542309fb release 6.12.14 2025-02-17 17:51:15 +03:00
60 changed files with 254 additions and 191 deletions

43
debian/changelog vendored
View File

@@ -1,3 +1,46 @@
linux (6.12.20-1) sid; urgency=medium
* New upstream stable update:
https://www.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.20
-- Konstantin Demin <rockdrilla@gmail.com> Sun, 23 Mar 2025 03:14:29 +0300
linux (6.12.19-1) sid; urgency=medium
* New upstream stable update:
https://www.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.19
-- Konstantin Demin <rockdrilla@gmail.com> Thu, 13 Mar 2025 20:47:49 +0300
linux (6.12.18-1) sid; urgency=medium
* New upstream stable update:
https://www.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.18
-- Konstantin Demin <rockdrilla@gmail.com> Sat, 08 Mar 2025 06:44:24 +0300
linux (6.12.17-1) sid; urgency=medium
* New upstream stable update:
https://www.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.17
-- Konstantin Demin <rockdrilla@gmail.com> Thu, 27 Feb 2025 16:35:33 +0300
linux (6.12.16-1) sid; urgency=medium
* New upstream stable update:
https://www.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.15
https://www.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.16
-- Konstantin Demin <rockdrilla@gmail.com> Fri, 21 Feb 2025 17:46:41 +0300
linux (6.12.14-1) sid; urgency=medium
* New upstream stable update:
https://www.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.14
-- Konstantin Demin <rockdrilla@gmail.com> Mon, 17 Feb 2025 17:43:08 +0300
linux (6.12.13-1) sid; urgency=medium linux (6.12.13-1) sid; urgency=medium
* New upstream stable update: * New upstream stable update:

View File

@@ -429,11 +429,6 @@ CONFIG_GOOGLE_COREBOOT_TABLE=m
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
CONFIG_GOOGLE_VPD=m CONFIG_GOOGLE_VPD=m
##
## file: drivers/firmware/imx/Kconfig
##
# CONFIG_IMX_SCMI_MISC_DRV is not set
## ##
## file: drivers/gnss/Kconfig ## file: drivers/gnss/Kconfig
## ##
@@ -722,11 +717,6 @@ CONFIG_VIRTIO_IOMMU=y
## ##
# CONFIG_IOMMUFD is not set # CONFIG_IOMMUFD is not set
##
## file: drivers/irqchip/Kconfig
##
# CONFIG_LAN966X_OIC is not set
## ##
## file: drivers/isdn/Kconfig ## file: drivers/isdn/Kconfig
## ##

View File

@@ -701,11 +701,6 @@ CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY=m
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=y CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=y
# CONFIG_GOOGLE_VPD is not set # CONFIG_GOOGLE_VPD is not set
##
## file: drivers/firmware/imx/Kconfig
##
CONFIG_IMX_SCMI_MISC_DRV=m
## ##
## file: drivers/fsi/Kconfig ## file: drivers/fsi/Kconfig
## ##
@@ -1834,6 +1829,7 @@ CONFIG_CDNS_I3C_MASTER=m
CONFIG_DW_I3C_MASTER=m CONFIG_DW_I3C_MASTER=m
CONFIG_SVC_I3C_MASTER=m CONFIG_SVC_I3C_MASTER=m
CONFIG_MIPI_I3C_HCI=m CONFIG_MIPI_I3C_HCI=m
CONFIG_MIPI_I3C_HCI_PCI=m
## ##
## file: drivers/infiniband/Kconfig ## file: drivers/infiniband/Kconfig
@@ -2212,7 +2208,6 @@ CONFIG_IOMMUFD=m
## file: drivers/irqchip/Kconfig ## file: drivers/irqchip/Kconfig
## ##
# CONFIG_AL_FIC is not set # CONFIG_AL_FIC is not set
CONFIG_LAN966X_OIC=m
# CONFIG_XILINX_INTC is not set # CONFIG_XILINX_INTC is not set
## ##
@@ -8584,6 +8579,8 @@ CONFIG_DRM_AUX_BRIDGE=m
CONFIG_DRM_AUX_HPD_BRIDGE=m CONFIG_DRM_AUX_HPD_BRIDGE=m
CONFIG_DRM_BRIDGE=y CONFIG_DRM_BRIDGE=y
CONFIG_DRM_BUDDY=m CONFIG_DRM_BUDDY=m
CONFIG_DRM_CLIENT_SELECTION=y
CONFIG_DRM_CLIENT_SETUP=y
CONFIG_DRM_DISPLAY_DP_AUX_BUS=m CONFIG_DRM_DISPLAY_DP_AUX_BUS=m
CONFIG_DRM_DISPLAY_DP_HELPER=y CONFIG_DRM_DISPLAY_DP_HELPER=y
CONFIG_DRM_DISPLAY_DP_TUNNEL=y CONFIG_DRM_DISPLAY_DP_TUNNEL=y

View File

@@ -516,11 +516,6 @@ CONFIG_GOOGLE_COREBOOT_TABLE=m
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
CONFIG_GOOGLE_VPD=m CONFIG_GOOGLE_VPD=m
##
## file: drivers/firmware/imx/Kconfig
##
# CONFIG_IMX_SCMI_MISC_DRV is not set
## ##
## file: drivers/gnss/Kconfig ## file: drivers/gnss/Kconfig
## ##
@@ -1553,11 +1548,6 @@ CONFIG_VIRTIO_IOMMU=y
## ##
# CONFIG_IOMMUFD is not set # CONFIG_IOMMUFD is not set
##
## file: drivers/irqchip/Kconfig
##
# CONFIG_LAN966X_OIC is not set
## ##
## file: drivers/isdn/Kconfig ## file: drivers/isdn/Kconfig
## ##

View File

@@ -863,6 +863,7 @@ CONFIG_PCC=y
CONFIG_MD=y CONFIG_MD=y
CONFIG_BLK_DEV_MD=m CONFIG_BLK_DEV_MD=m
# CONFIG_MD_BITMAP_FILE is not set # CONFIG_MD_BITMAP_FILE is not set
CONFIG_MD_LINEAR=m
CONFIG_BLK_DEV_DM=m CONFIG_BLK_DEV_DM=m
# CONFIG_DM_DEBUG is not set # CONFIG_DM_DEBUG is not set
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set # CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
@@ -1181,11 +1182,6 @@ CONFIG_PCIE_PTM=y
## ##
# CONFIG_CHROME_PLATFORMS is not set # CONFIG_CHROME_PLATFORMS is not set
##
## file: drivers/platform/cznic/Kconfig
##
# CONFIG_CZNIC_PLATFORMS is not set
## ##
## file: drivers/platform/mellanox/Kconfig ## file: drivers/platform/mellanox/Kconfig
## ##

View File

@@ -0,0 +1,61 @@
From: Philip Yang <Philip.Yang@amd.com>
Date: Wed, 29 Jan 2025 12:37:30 -0500
Subject: drm/amdkfd: Fix user queue validation on Gfx7/8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Origin: https://gitlab.freedesktop.org/drm/kernel/-/commit/e7a477735f1771b9a9346a5fbd09d7ff0641723a
Bug-Debian: https://bugs.debian.org/1093124
To workaround queue full h/w issue on Gfx7/8, when application create
AQL queue, the ring buffer bo allocate size is queue_size/2 and
map queue_size ring buffer to GPU in 2 pieces using 2 attachments, each
attachment map size is queue_size/2, with same ring_bo backing memory.
For Gfx7/8, user queue buffer validation should use queue_size/2 to
verify ring_bo allocation and mapping size.
Fixes: 68e599db7a54 ("drm/amdkfd: Validate user queue buffers")
Suggested-by: Tomáš Trnka <trnka@scm.com>
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
drivers/gpu/drm/amd/amdkfd/kfd_queue.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
--- a/drivers/gpu/drm/amd/amdkfd/kfd_queue.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_queue.c
@@ -233,6 +233,7 @@ void kfd_queue_buffer_put(struct amdgpu_
int kfd_queue_acquire_buffers(struct kfd_process_device *pdd, struct queue_properties *properties)
{
struct kfd_topology_device *topo_dev;
+ u64 expected_queue_size;
struct amdgpu_vm *vm;
u32 total_cwsr_size;
int err;
@@ -241,6 +242,15 @@ int kfd_queue_acquire_buffers(struct kfd
if (!topo_dev)
return -EINVAL;
+ /* AQL queues on GFX7 and GFX8 appear twice their actual size */
+ if (properties->type == KFD_QUEUE_TYPE_COMPUTE &&
+ properties->format == KFD_QUEUE_FORMAT_AQL &&
+ topo_dev->node_props.gfx_target_version >= 70000 &&
+ topo_dev->node_props.gfx_target_version < 90000)
+ expected_queue_size = properties->queue_size / 2;
+ else
+ expected_queue_size = properties->queue_size;
+
vm = drm_priv_to_vm(pdd->drm_priv);
err = amdgpu_bo_reserve(vm->root.bo, false);
if (err)
@@ -255,7 +265,7 @@ int kfd_queue_acquire_buffers(struct kfd
goto out_err_unreserve;
err = kfd_queue_buffer_get(vm, (void *)properties->queue_address,
- &properties->ring_bo, properties->queue_size);
+ &properties->ring_bo, expected_queue_size);
if (err)
goto out_err_unreserve;

View File

@@ -1,55 +0,0 @@
From: Ian Campbell <ijc@hellion.org.uk>
Date: Thu, 17 Jan 2013 08:55:21 +0000
Subject: Tweak gitignore for Debian pkg-kernel using git
Forwarded: not-needed
[bwh: Tweak further for pure git]
---
.gitignore | 25 +++++++------------------
1 file changed, 7 insertions(+), 18 deletions(-)
--- a/.gitignore
+++ b/.gitignore
@@ -79,11 +79,6 @@ modules.order
/rpmbuild/
#
-# Debian directory (make deb-pkg)
-#
-/debian/
-
-#
# Snap directory (make snap-pkg)
#
/snap/
@@ -100,19 +95,6 @@ modules.order
/pacman/
#
-# We don't want to ignore the following even if they are dot-files
-#
-!.clang-format
-!.cocciconfig
-!.editorconfig
-!.get_maintainer.ignore
-!.gitattributes
-!.gitignore
-!.kunitconfig
-!.mailmap
-!.rustfmt.toml
-
-#
# Generated include files
#
/include/config/
@@ -177,3 +159,10 @@ sphinx_*/
# Rust analyzer configuration
/rust-project.json
+
+#
+# Debian packaging: ignore everything at the top level, since it isn't
+# included in our repository
+#
+/*
+!/debian/

View File

@@ -15,7 +15,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- ---
--- a/net/ax25/af_ax25.c --- a/net/ax25/af_ax25.c
+++ b/net/ax25/af_ax25.c +++ b/net/ax25/af_ax25.c
@@ -2066,7 +2066,7 @@ module_init(ax25_init); @@ -2077,7 +2077,7 @@ module_init(ax25_init);
MODULE_AUTHOR("Jonathan Naylor G4KLX <g4klx@g4klx.demon.co.uk>"); MODULE_AUTHOR("Jonathan Naylor G4KLX <g4klx@g4klx.demon.co.uk>");
MODULE_DESCRIPTION("The amateur radio AX.25 link layer protocol"); MODULE_DESCRIPTION("The amateur radio AX.25 link layer protocol");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
@@ -37,7 +37,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
{ {
--- a/net/rose/af_rose.c --- a/net/rose/af_rose.c
+++ b/net/rose/af_rose.c +++ b/net/rose/af_rose.c
@@ -1630,7 +1630,7 @@ MODULE_PARM_DESC(rose_ndevs, "number of @@ -1638,7 +1638,7 @@ MODULE_PARM_DESC(rose_ndevs, "number of
MODULE_AUTHOR("Jonathan Naylor G4KLX <g4klx@g4klx.demon.co.uk>"); MODULE_AUTHOR("Jonathan Naylor G4KLX <g4klx@g4klx.demon.co.uk>");
MODULE_DESCRIPTION("The amateur radio ROSE network layer protocol"); MODULE_DESCRIPTION("The amateur radio ROSE network layer protocol");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");

View File

@@ -54,7 +54,7 @@ use of $(ARCH) needs to be moved after this.
KCONFIG_CONFIG ?= .config KCONFIG_CONFIG ?= .config
export KCONFIG_CONFIG export KCONFIG_CONFIG
@@ -525,6 +495,35 @@ RUSTFLAGS_KERNEL = @@ -529,6 +499,35 @@ RUSTFLAGS_KERNEL =
AFLAGS_KERNEL = AFLAGS_KERNEL =
LDFLAGS_vmlinux = LDFLAGS_vmlinux =

View File

@@ -20,7 +20,7 @@ is non-empty.
--- ---
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -1818,7 +1818,7 @@ PHONY += prepare @@ -1825,7 +1825,7 @@ PHONY += prepare
# now expand this into a simple variable to reduce the cost of shell evaluations # now expand this into a simple variable to reduce the cost of shell evaluations
prepare: CC_VERSION_TEXT := $(CC_VERSION_TEXT) prepare: CC_VERSION_TEXT := $(CC_VERSION_TEXT)
prepare: prepare:

View File

@@ -141,7 +141,7 @@ arm-init to efi-init common for all arch") renamed arm-init.c to efi-init.c]
--- a/include/linux/efi.h --- a/include/linux/efi.h
+++ b/include/linux/efi.h +++ b/include/linux/efi.h
@@ -764,7 +764,8 @@ extern int efi_mem_desc_lookup(u64 phys_ @@ -765,7 +765,8 @@ extern int efi_mem_desc_lookup(u64 phys_
extern int __efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md); extern int __efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md);
extern void efi_mem_reserve(phys_addr_t addr, u64 size); extern void efi_mem_reserve(phys_addr_t addr, u64 size);
extern int efi_mem_reserve_persistent(phys_addr_t addr, u64 size); extern int efi_mem_reserve_persistent(phys_addr_t addr, u64 size);

View File

@@ -106,7 +106,7 @@ cc: linux-efi@vger.kernel.org
+} +}
--- a/include/linux/efi.h --- a/include/linux/efi.h
+++ b/include/linux/efi.h +++ b/include/linux/efi.h
@@ -875,6 +875,14 @@ static inline int efi_range_is_wc(unsign @@ -876,6 +876,14 @@ static inline int efi_range_is_wc(unsign
#define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */ #define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */
#define EFI_MEM_NO_SOFT_RESERVE 11 /* Is the kernel configured to ignore soft reservations? */ #define EFI_MEM_NO_SOFT_RESERVE 11 /* Is the kernel configured to ignore soft reservations? */
#define EFI_PRESERVE_BS_REGIONS 12 /* Are EFI boot-services memory segments available? */ #define EFI_PRESERVE_BS_REGIONS 12 /* Are EFI boot-services memory segments available? */
@@ -121,7 +121,7 @@ cc: linux-efi@vger.kernel.org
#ifdef CONFIG_EFI #ifdef CONFIG_EFI
/* /*
@@ -899,6 +907,7 @@ static inline bool efi_rt_services_suppo @@ -900,6 +908,7 @@ static inline bool efi_rt_services_suppo
return (efi.runtime_supported_mask & mask) == mask; return (efi.runtime_supported_mask & mask) == mask;
} }
extern void efi_find_mirror(void); extern void efi_find_mirror(void);
@@ -129,7 +129,7 @@ cc: linux-efi@vger.kernel.org
#else #else
static inline bool efi_enabled(int feature) static inline bool efi_enabled(int feature)
{ {
@@ -918,6 +927,7 @@ static inline bool efi_rt_services_suppo @@ -919,6 +928,7 @@ static inline bool efi_rt_services_suppo
} }
static inline void efi_find_mirror(void) {} static inline void efi_find_mirror(void) {}
@@ -137,7 +137,7 @@ cc: linux-efi@vger.kernel.org
#endif #endif
extern int efi_status_to_err(efi_status_t status); extern int efi_status_to_err(efi_status_t status);
@@ -1136,13 +1146,6 @@ static inline bool efi_runtime_disabled( @@ -1137,13 +1147,6 @@ static inline bool efi_runtime_disabled(
extern void efi_call_virt_check_flags(unsigned long flags, const void *caller); extern void efi_call_virt_check_flags(unsigned long flags, const void *caller);
extern unsigned long efi_call_virt_save_flags(void); extern unsigned long efi_call_virt_save_flags(void);

View File

@@ -50,7 +50,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
/* Minimum for 512 kiB + 1 user control page */ /* Minimum for 512 kiB + 1 user control page */
int sysctl_perf_event_mlock __read_mostly = 512 + (PAGE_SIZE / 1024); /* 'free' kiB per user */ int sysctl_perf_event_mlock __read_mostly = 512 + (PAGE_SIZE / 1024); /* 'free' kiB per user */
@@ -12682,6 +12687,9 @@ SYSCALL_DEFINE5(perf_event_open, @@ -12691,6 +12696,9 @@ SYSCALL_DEFINE5(perf_event_open,
if (err) if (err)
return err; return err;

View File

@@ -42,7 +42,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Ignore sysrq setting - this boot parameter will Ignore sysrq setting - this boot parameter will
--- a/arch/x86/Kconfig --- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig +++ b/arch/x86/Kconfig
@@ -3163,6 +3163,14 @@ config COMPAT_32 @@ -3165,6 +3165,14 @@ config COMPAT_32
select HAVE_UID16 select HAVE_UID16
select OLD_SIGSUSPEND3 select OLD_SIGSUSPEND3

View File

@@ -30,7 +30,7 @@ this reverts following commit:
--- a/tools/objtool/check.c --- a/tools/objtool/check.c
+++ b/tools/objtool/check.c +++ b/tools/objtool/check.c
@@ -4925,10 +4925,14 @@ int check(struct objtool_file *file) @@ -4897,10 +4897,14 @@ int check(struct objtool_file *file)
} }
out: out:

View File

@@ -32,7 +32,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/net/ipv4/tcp_input.c --- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c
@@ -3961,6 +3961,7 @@ static int tcp_ack(struct sock *sk, cons @@ -3967,6 +3967,7 @@ static int tcp_ack(struct sock *sk, cons
prior_fack = tcp_is_sack(tp) ? tcp_highest_sack_seq(tp) : tp->snd_una; prior_fack = tcp_is_sack(tp) ? tcp_highest_sack_seq(tp) : tp->snd_una;
rs.prior_in_flight = tcp_packets_in_flight(tp); rs.prior_in_flight = tcp_packets_in_flight(tp);

View File

@@ -25,7 +25,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/include/net/tcp.h --- a/include/net/tcp.h
+++ b/include/net/tcp.h +++ b/include/net/tcp.h
@@ -884,6 +884,11 @@ static inline u32 tcp_stamp_us_delta(u64 @@ -901,6 +901,11 @@ static inline u32 tcp_stamp_us_delta(u64
return max_t(s64, t1 - t0, 0); return max_t(s64, t1 - t0, 0);
} }
@@ -37,7 +37,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
/* provide the departure time in us unit */ /* provide the departure time in us unit */
static inline u64 tcp_skb_timestamp_us(const struct sk_buff *skb) static inline u64 tcp_skb_timestamp_us(const struct sk_buff *skb)
{ {
@@ -973,9 +978,9 @@ struct tcp_skb_cb { @@ -990,9 +995,9 @@ struct tcp_skb_cb {
/* pkts S/ACKed so far upon tx of skb, incl retrans: */ /* pkts S/ACKed so far upon tx of skb, incl retrans: */
__u32 delivered; __u32 delivered;
/* start of send pipeline phase */ /* start of send pipeline phase */

View File

@@ -27,7 +27,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/include/net/tcp.h --- a/include/net/tcp.h
+++ b/include/net/tcp.h +++ b/include/net/tcp.h
@@ -981,6 +981,10 @@ struct tcp_skb_cb { @@ -998,6 +998,10 @@ struct tcp_skb_cb {
u32 first_tx_mstamp; u32 first_tx_mstamp;
/* when we reached the "delivered" count */ /* when we reached the "delivered" count */
u32 delivered_mstamp; u32 delivered_mstamp;
@@ -38,7 +38,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
} tx; /* only used for outgoing skbs */ } tx; /* only used for outgoing skbs */
union { union {
struct inet_skb_parm h4; struct inet_skb_parm h4;
@@ -1137,6 +1141,7 @@ struct rate_sample { @@ -1154,6 +1158,7 @@ struct rate_sample {
u64 prior_mstamp; /* starting timestamp for interval */ u64 prior_mstamp; /* starting timestamp for interval */
u32 prior_delivered; /* tp->delivered at "prior_mstamp" */ u32 prior_delivered; /* tp->delivered at "prior_mstamp" */
u32 prior_delivered_ce;/* tp->delivered_ce at "prior_mstamp" */ u32 prior_delivered_ce;/* tp->delivered_ce at "prior_mstamp" */
@@ -46,7 +46,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
s32 delivered; /* number of packets delivered over interval */ s32 delivered; /* number of packets delivered over interval */
s32 delivered_ce; /* number of packets delivered w/ CE marks*/ s32 delivered_ce; /* number of packets delivered w/ CE marks*/
long interval_us; /* time for tp->delivered to incr "delivered" */ long interval_us; /* time for tp->delivered to incr "delivered" */
@@ -1259,6 +1264,7 @@ static inline void tcp_ca_event(struct s @@ -1276,6 +1281,7 @@ static inline void tcp_ca_event(struct s
void tcp_set_ca_state(struct sock *sk, const u8 ca_state); void tcp_set_ca_state(struct sock *sk, const u8 ca_state);
/* From tcp_rate.c */ /* From tcp_rate.c */

View File

@@ -19,7 +19,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/include/net/tcp.h --- a/include/net/tcp.h
+++ b/include/net/tcp.h +++ b/include/net/tcp.h
@@ -985,6 +985,7 @@ struct tcp_skb_cb { @@ -1002,6 +1002,7 @@ struct tcp_skb_cb {
#define TCPCB_IN_FLIGHT_MAX ((1U << TCPCB_IN_FLIGHT_BITS) - 1) #define TCPCB_IN_FLIGHT_MAX ((1U << TCPCB_IN_FLIGHT_BITS) - 1)
u32 in_flight:20, /* packets in flight at transmit */ u32 in_flight:20, /* packets in flight at transmit */
unused2:12; unused2:12;
@@ -27,7 +27,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
} tx; /* only used for outgoing skbs */ } tx; /* only used for outgoing skbs */
union { union {
struct inet_skb_parm h4; struct inet_skb_parm h4;
@@ -1139,11 +1140,13 @@ struct ack_sample { @@ -1156,11 +1157,13 @@ struct ack_sample {
*/ */
struct rate_sample { struct rate_sample {
u64 prior_mstamp; /* starting timestamp for interval */ u64 prior_mstamp; /* starting timestamp for interval */

View File

@@ -18,7 +18,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/include/net/tcp.h --- a/include/net/tcp.h
+++ b/include/net/tcp.h +++ b/include/net/tcp.h
@@ -1158,6 +1158,7 @@ struct rate_sample { @@ -1175,6 +1175,7 @@ struct rate_sample {
bool is_app_limited; /* is sample from packet with bubble in pipe? */ bool is_app_limited; /* is sample from packet with bubble in pipe? */
bool is_retrans; /* is sample from retransmission? */ bool is_retrans; /* is sample from retransmission? */
bool is_ack_delayed; /* is this (likely) a delayed ACK? */ bool is_ack_delayed; /* is this (likely) a delayed ACK? */
@@ -28,7 +28,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
struct tcp_congestion_ops { struct tcp_congestion_ops {
--- a/net/ipv4/tcp_input.c --- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c
@@ -4060,6 +4060,7 @@ static int tcp_ack(struct sock *sk, cons @@ -4066,6 +4066,7 @@ static int tcp_ack(struct sock *sk, cons
delivered = tcp_newly_delivered(sk, delivered, flag); delivered = tcp_newly_delivered(sk, delivered, flag);
lost = tp->lost - lost; /* freshly marked lost */ lost = tp->lost - lost; /* freshly marked lost */
rs.is_ack_delayed = !!(flag & FLAG_ACK_MAYBE_DELAYED); rs.is_ack_delayed = !!(flag & FLAG_ACK_MAYBE_DELAYED);

View File

@@ -30,7 +30,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/include/net/tcp.h --- a/include/net/tcp.h
+++ b/include/net/tcp.h +++ b/include/net/tcp.h
@@ -1185,6 +1185,9 @@ struct tcp_congestion_ops { @@ -1202,6 +1202,9 @@ struct tcp_congestion_ops {
/* override sysctl_tcp_min_tso_segs */ /* override sysctl_tcp_min_tso_segs */
u32 (*min_tso_segs)(struct sock *sk); u32 (*min_tso_segs)(struct sock *sk);
@@ -42,7 +42,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
*/ */
--- a/net/ipv4/tcp_input.c --- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c
@@ -1120,7 +1120,12 @@ static void tcp_verify_retransmit_hint(s @@ -1126,7 +1126,12 @@ static void tcp_verify_retransmit_hint(s
*/ */
static void tcp_notify_skb_loss_event(struct tcp_sock *tp, const struct sk_buff *skb) static void tcp_notify_skb_loss_event(struct tcp_sock *tp, const struct sk_buff *skb)
{ {

View File

@@ -39,7 +39,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/net/ipv4/tcp_input.c --- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c
@@ -1506,6 +1506,17 @@ static bool tcp_shifted_skb(struct sock @@ -1512,6 +1512,17 @@ static bool tcp_shifted_skb(struct sock
WARN_ON_ONCE(tcp_skb_pcount(skb) < pcount); WARN_ON_ONCE(tcp_skb_pcount(skb) < pcount);
tcp_skb_pcount_add(skb, -pcount); tcp_skb_pcount_add(skb, -pcount);

View File

@@ -31,7 +31,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/include/net/tcp.h --- a/include/net/tcp.h
+++ b/include/net/tcp.h +++ b/include/net/tcp.h
@@ -1284,6 +1284,21 @@ static inline bool tcp_skb_sent_after(u6 @@ -1301,6 +1301,21 @@ static inline bool tcp_skb_sent_after(u6
return t1 > t2 || (t1 == t2 && after(seq1, seq2)); return t1 > t2 || (t1 == t2 && after(seq1, seq2));
} }

View File

@@ -23,7 +23,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/include/net/tcp.h --- a/include/net/tcp.h
+++ b/include/net/tcp.h +++ b/include/net/tcp.h
@@ -1120,7 +1120,11 @@ enum tcp_ca_ack_event_flags { @@ -1137,7 +1137,11 @@ enum tcp_ca_ack_event_flags {
#define TCP_CONG_NON_RESTRICTED 0x1 #define TCP_CONG_NON_RESTRICTED 0x1
/* Requires ECN/ECT set on all packets */ /* Requires ECN/ECT set on all packets */
#define TCP_CONG_NEEDS_ECN 0x2 #define TCP_CONG_NEEDS_ECN 0x2
@@ -36,7 +36,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
union tcp_cc_info; union tcp_cc_info;
@@ -1252,6 +1256,14 @@ static inline char *tcp_ca_get_name_by_k @@ -1269,6 +1273,14 @@ static inline char *tcp_ca_get_name_by_k
} }
#endif #endif
@@ -53,7 +53,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
const struct inet_connection_sock *icsk = inet_csk(sk); const struct inet_connection_sock *icsk = inet_csk(sk);
--- a/net/ipv4/tcp_input.c --- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c
@@ -370,7 +370,7 @@ static void __tcp_ecn_check_ce(struct so @@ -376,7 +376,7 @@ static void __tcp_ecn_check_ce(struct so
tcp_enter_quickack_mode(sk, 2); tcp_enter_quickack_mode(sk, 2);
break; break;
case INET_ECN_CE: case INET_ECN_CE:
@@ -62,7 +62,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
tcp_ca_event(sk, CA_EVENT_ECN_IS_CE); tcp_ca_event(sk, CA_EVENT_ECN_IS_CE);
if (!(tp->ecn_flags & TCP_ECN_DEMAND_CWR)) { if (!(tp->ecn_flags & TCP_ECN_DEMAND_CWR)) {
@@ -381,7 +381,7 @@ static void __tcp_ecn_check_ce(struct so @@ -387,7 +387,7 @@ static void __tcp_ecn_check_ce(struct so
tp->ecn_flags |= TCP_ECN_SEEN; tp->ecn_flags |= TCP_ECN_SEEN;
break; break;
default: default:

View File

@@ -27,7 +27,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/include/net/tcp.h --- a/include/net/tcp.h
+++ b/include/net/tcp.h +++ b/include/net/tcp.h
@@ -1186,8 +1186,8 @@ struct tcp_congestion_ops { @@ -1203,8 +1203,8 @@ struct tcp_congestion_ops {
/* hook for packet ack accounting (optional) */ /* hook for packet ack accounting (optional) */
void (*pkts_acked)(struct sock *sk, const struct ack_sample *sample); void (*pkts_acked)(struct sock *sk, const struct ack_sample *sample);

View File

@@ -33,7 +33,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
fastopen_no_cookie:1, /* Allow send/recv SYN+data without a cookie */ fastopen_no_cookie:1, /* Allow send/recv SYN+data without a cookie */
--- a/net/ipv4/tcp.c --- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c
@@ -3384,6 +3384,7 @@ int tcp_disconnect(struct sock *sk, int @@ -3397,6 +3397,7 @@ int tcp_disconnect(struct sock *sk, int
tp->rx_opt.dsack = 0; tp->rx_opt.dsack = 0;
tp->rx_opt.num_sacks = 0; tp->rx_opt.num_sacks = 0;
tp->rcv_ooopack = 0; tp->rcv_ooopack = 0;
@@ -53,7 +53,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
if (tcp_ca_needs_ecn(sk)) if (tcp_ca_needs_ecn(sk))
--- a/net/ipv4/tcp_input.c --- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c
@@ -5770,13 +5770,14 @@ static void __tcp_ack_snd_check(struct s @@ -5776,13 +5776,14 @@ static void __tcp_ack_snd_check(struct s
/* More than one full frame received... */ /* More than one full frame received... */
if (((tp->rcv_nxt - tp->rcv_wup) > inet_csk(sk)->icsk_ack.rcv_mss && if (((tp->rcv_nxt - tp->rcv_wup) > inet_csk(sk)->icsk_ack.rcv_mss &&

View File

@@ -25,7 +25,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/include/net/tcp.h --- a/include/net/tcp.h
+++ b/include/net/tcp.h +++ b/include/net/tcp.h
@@ -1098,6 +1098,7 @@ enum tcp_ca_event { @@ -1115,6 +1115,7 @@ enum tcp_ca_event {
CA_EVENT_LOSS, /* loss timeout */ CA_EVENT_LOSS, /* loss timeout */
CA_EVENT_ECN_NO_CE, /* ECT set, but not CE marked */ CA_EVENT_ECN_NO_CE, /* ECT set, but not CE marked */
CA_EVENT_ECN_IS_CE, /* received CE marked IP packet */ CA_EVENT_ECN_IS_CE, /* received CE marked IP packet */
@@ -35,7 +35,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
/* Information about inbound ACK, passed to cong_ops->in_ack_event() */ /* Information about inbound ACK, passed to cong_ops->in_ack_event() */
--- a/net/ipv4/tcp_input.c --- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c
@@ -3859,6 +3859,7 @@ static void tcp_process_tlp_ack(struct s @@ -3865,6 +3865,7 @@ static void tcp_process_tlp_ack(struct s
/* ACK advances: there was a loss, so reduce cwnd. Reset /* ACK advances: there was a loss, so reduce cwnd. Reset
* tlp_high_seq in tcp_init_cwnd_reduction() * tlp_high_seq in tcp_init_cwnd_reduction()
*/ */

View File

@@ -21,7 +21,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/include/net/tcp.h --- a/include/net/tcp.h
+++ b/include/net/tcp.h +++ b/include/net/tcp.h
@@ -1162,6 +1162,7 @@ struct rate_sample { @@ -1179,6 +1179,7 @@ struct rate_sample {
u32 last_end_seq; /* end_seq of most recently ACKed packet */ u32 last_end_seq; /* end_seq of most recently ACKed packet */
bool is_app_limited; /* is sample from packet with bubble in pipe? */ bool is_app_limited; /* is sample from packet with bubble in pipe? */
bool is_retrans; /* is sample from retransmission? */ bool is_retrans; /* is sample from retransmission? */
@@ -31,7 +31,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
}; };
--- a/net/ipv4/tcp_input.c --- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c
@@ -3842,7 +3842,8 @@ static void tcp_replace_ts_recent(struct @@ -3848,7 +3848,8 @@ static void tcp_replace_ts_recent(struct
/* This routine deals with acks during a TLP episode and ends an episode by /* This routine deals with acks during a TLP episode and ends an episode by
* resetting tlp_high_seq. Ref: TLP algorithm in draft-ietf-tcpm-rack * resetting tlp_high_seq. Ref: TLP algorithm in draft-ietf-tcpm-rack
*/ */
@@ -41,7 +41,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
{ {
struct tcp_sock *tp = tcp_sk(sk); struct tcp_sock *tp = tcp_sk(sk);
@@ -3870,6 +3871,11 @@ static void tcp_process_tlp_ack(struct s @@ -3876,6 +3877,11 @@ static void tcp_process_tlp_ack(struct s
FLAG_NOT_DUP | FLAG_DATA_SACKED))) { FLAG_NOT_DUP | FLAG_DATA_SACKED))) {
/* Pure dupack: original and TLP probe arrived; no loss */ /* Pure dupack: original and TLP probe arrived; no loss */
tp->tlp_high_seq = 0; tp->tlp_high_seq = 0;
@@ -53,7 +53,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
} }
} }
@@ -4053,7 +4059,7 @@ static int tcp_ack(struct sock *sk, cons @@ -4059,7 +4065,7 @@ static int tcp_ack(struct sock *sk, cons
tcp_rack_update_reo_wnd(sk, &rs); tcp_rack_update_reo_wnd(sk, &rs);
if (tp->tlp_high_seq) if (tp->tlp_high_seq)
@@ -62,7 +62,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
if (tcp_ack_is_dubious(sk, flag)) { if (tcp_ack_is_dubious(sk, flag)) {
if (!(flag & (FLAG_SND_UNA_ADVANCED | if (!(flag & (FLAG_SND_UNA_ADVANCED |
@@ -4097,7 +4103,7 @@ no_queue: @@ -4103,7 +4109,7 @@ no_queue:
tcp_ack_probe(sk); tcp_ack_probe(sk);
if (tp->tlp_high_seq) if (tp->tlp_high_seq)

View File

@@ -33,7 +33,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/include/net/tcp.h --- a/include/net/tcp.h
+++ b/include/net/tcp.h +++ b/include/net/tcp.h
@@ -375,6 +375,7 @@ static inline void tcp_dec_quickack_mode @@ -376,6 +376,7 @@ static inline void tcp_dec_quickack_mode
#define TCP_ECN_QUEUE_CWR 2 #define TCP_ECN_QUEUE_CWR 2
#define TCP_ECN_DEMAND_CWR 4 #define TCP_ECN_DEMAND_CWR 4
#define TCP_ECN_SEEN 8 #define TCP_ECN_SEEN 8
@@ -41,7 +41,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
enum tcp_tw_status { enum tcp_tw_status {
TCP_TW_SUCCESS = 0, TCP_TW_SUCCESS = 0,
@@ -777,6 +778,15 @@ static inline void tcp_fast_path_check(s @@ -794,6 +795,15 @@ static inline void tcp_fast_path_check(s
tcp_fast_path_on(tp); tcp_fast_path_on(tp);
} }

View File

@@ -153,7 +153,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
#define ICSK_TIME_RETRANS 1 /* Retransmit timer */ #define ICSK_TIME_RETRANS 1 /* Retransmit timer */
--- a/include/net/tcp.h --- a/include/net/tcp.h
+++ b/include/net/tcp.h +++ b/include/net/tcp.h
@@ -2474,7 +2474,7 @@ struct tcp_plb_state { @@ -2491,7 +2491,7 @@ struct tcp_plb_state {
u8 consec_cong_rounds:5, /* consecutive congested rounds */ u8 consec_cong_rounds:5, /* consecutive congested rounds */
unused:3; unused:3;
u32 pause_until; /* jiffies32 when PLB can resume rerouting */ u32 pause_until; /* jiffies32 when PLB can resume rerouting */

View File

@@ -25,7 +25,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/include/net/tcp.h --- a/include/net/tcp.h
+++ b/include/net/tcp.h +++ b/include/net/tcp.h
@@ -376,6 +376,7 @@ static inline void tcp_dec_quickack_mode @@ -377,6 +377,7 @@ static inline void tcp_dec_quickack_mode
#define TCP_ECN_DEMAND_CWR 4 #define TCP_ECN_DEMAND_CWR 4
#define TCP_ECN_SEEN 8 #define TCP_ECN_SEEN 8
#define TCP_ECN_LOW 16 #define TCP_ECN_LOW 16

View File

@@ -27,7 +27,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
* Sender's congestion state indicating normal or abnormal situations * Sender's congestion state indicating normal or abnormal situations
--- a/net/ipv4/tcp.c --- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c
@@ -4111,6 +4111,8 @@ void tcp_get_info(struct sock *sk, struc @@ -4124,6 +4124,8 @@ void tcp_get_info(struct sock *sk, struc
info->tcpi_options |= TCPI_OPT_ECN; info->tcpi_options |= TCPI_OPT_ECN;
if (tp->ecn_flags & TCP_ECN_SEEN) if (tp->ecn_flags & TCP_ECN_SEEN)
info->tcpi_options |= TCPI_OPT_ECN_SEEN; info->tcpi_options |= TCPI_OPT_ECN_SEEN;

View File

@@ -0,0 +1,22 @@
From 2aa0cab3a568e6adccbe708ee2e79185638860ed Mon Sep 17 00:00:00 2001
From: Mike Lothian <mike@fireburn.co.uk>
Date: Fri, 14 Feb 2025 12:28:00 +0000
Subject: ntsync: Set the permissions to be 0666
This allows ntsync to be usuable by non-root processes out of the box
Signed-off-by: Mike Lothian <mike@fireburn.co.uk>
---
drivers/misc/ntsync.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/misc/ntsync.c
+++ b/drivers/misc/ntsync.c
@@ -1206,6 +1206,7 @@ static struct miscdevice ntsync_misc = {
.minor = MISC_DYNAMIC_MINOR,
.name = NTSYNC_NAME,
.fops = &ntsync_fops,
+ .mode = 0666, // Setting file permissions to 0666
};
module_misc_device(ntsync_misc);

View File

@@ -13,7 +13,7 @@ dependency on CONFIG_ARC and adds RUSTFLAGS.
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -813,6 +813,9 @@ KBUILD_CFLAGS += -fno-delete-null-pointe @@ -820,6 +820,9 @@ KBUILD_CFLAGS += -fno-delete-null-pointe
ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
KBUILD_CFLAGS += -O2 KBUILD_CFLAGS += -O2
KBUILD_RUSTFLAGS += -Copt-level=2 KBUILD_RUSTFLAGS += -Copt-level=2

View File

@@ -1,6 +1,6 @@
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -821,6 +821,10 @@ KBUILD_CFLAGS += -Os @@ -828,6 +828,10 @@ KBUILD_CFLAGS += -Os
KBUILD_RUSTFLAGS += -Copt-level=s KBUILD_RUSTFLAGS += -Copt-level=s
endif endif

View File

@@ -11,7 +11,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -825,6 +825,13 @@ ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE @@ -832,6 +832,13 @@ ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
KBUILD_CFLAGS += $(call cc-option,-fivopts) KBUILD_CFLAGS += $(call cc-option,-fivopts)
endif endif

View File

@@ -30,7 +30,7 @@ Reviewed-by: Christoph Hellwig <hch@lst.de>
--- a/fs/xfs/xfs_qm.c --- a/fs/xfs/xfs_qm.c
+++ b/fs/xfs/xfs_qm.c +++ b/fs/xfs/xfs_qm.c
@@ -1153,8 +1153,8 @@ xfs_qm_dqusage_adjust( @@ -1181,8 +1181,8 @@ xfs_qm_dqusage_adjust(
void *data) void *data)
{ {
struct xfs_inode *ip; struct xfs_inode *ip;
@@ -41,7 +41,7 @@ Reviewed-by: Christoph Hellwig <hch@lst.de>
int error; int error;
ASSERT(XFS_IS_QUOTA_ON(mp)); ASSERT(XFS_IS_QUOTA_ON(mp));
@@ -1191,18 +1191,17 @@ xfs_qm_dqusage_adjust( @@ -1219,18 +1219,17 @@ xfs_qm_dqusage_adjust(
ASSERT(ip->i_delayed_blks == 0); ASSERT(ip->i_delayed_blks == 0);
@@ -66,7 +66,7 @@ Reviewed-by: Christoph Hellwig <hch@lst.de>
/* /*
* Add the (disk blocks and inode) resources occupied by this * Add the (disk blocks and inode) resources occupied by this
@@ -1858,9 +1857,8 @@ xfs_qm_vop_chown( @@ -1892,9 +1891,8 @@ xfs_qm_vop_chown(
struct xfs_dquot *newdq) struct xfs_dquot *newdq)
{ {
struct xfs_dquot *prevdq; struct xfs_dquot *prevdq;
@@ -78,7 +78,7 @@ Reviewed-by: Christoph Hellwig <hch@lst.de>
xfs_assert_ilocked(ip, XFS_ILOCK_EXCL); xfs_assert_ilocked(ip, XFS_ILOCK_EXCL);
ASSERT(XFS_IS_QUOTA_ON(ip->i_mount)); ASSERT(XFS_IS_QUOTA_ON(ip->i_mount));
@@ -1870,11 +1868,17 @@ xfs_qm_vop_chown( @@ -1904,11 +1902,17 @@ xfs_qm_vop_chown(
ASSERT(prevdq); ASSERT(prevdq);
ASSERT(prevdq != newdq); ASSERT(prevdq != newdq);
@@ -98,7 +98,7 @@ Reviewed-by: Christoph Hellwig <hch@lst.de>
xfs_trans_mod_ino_dquot(tp, ip, newdq, XFS_TRANS_DQ_ICOUNT, 1); xfs_trans_mod_ino_dquot(tp, ip, newdq, XFS_TRANS_DQ_ICOUNT, 1);
/* /*
@@ -1884,7 +1888,8 @@ xfs_qm_vop_chown( @@ -1918,7 +1922,8 @@ xfs_qm_vop_chown(
* (having already bumped up the real counter) so that we don't have * (having already bumped up the real counter) so that we don't have
* any reservation to give back when we commit. * any reservation to give back when we commit.
*/ */
@@ -108,7 +108,7 @@ Reviewed-by: Christoph Hellwig <hch@lst.de>
-ip->i_delayed_blks); -ip->i_delayed_blks);
/* /*
@@ -1896,8 +1901,13 @@ xfs_qm_vop_chown( @@ -1930,8 +1935,13 @@ xfs_qm_vop_chown(
*/ */
tp->t_flags |= XFS_TRANS_DIRTY; tp->t_flags |= XFS_TRANS_DIRTY;
xfs_dqlock(prevdq); xfs_dqlock(prevdq);
@@ -126,7 +126,7 @@ Reviewed-by: Christoph Hellwig <hch@lst.de>
/* /*
--- a/fs/xfs/xfs_trans.c --- a/fs/xfs/xfs_trans.c
+++ b/fs/xfs/xfs_trans.c +++ b/fs/xfs/xfs_trans.c
@@ -1254,11 +1254,26 @@ retry: @@ -1257,11 +1257,26 @@ retry:
gdqp = (new_gdqp != ip->i_gdquot) ? new_gdqp : NULL; gdqp = (new_gdqp != ip->i_gdquot) ? new_gdqp : NULL;
pdqp = (new_pdqp != ip->i_pdquot) ? new_pdqp : NULL; pdqp = (new_pdqp != ip->i_pdquot) ? new_pdqp : NULL;
if (udqp || gdqp || pdqp) { if (udqp || gdqp || pdqp) {
@@ -153,7 +153,7 @@ Reviewed-by: Christoph Hellwig <hch@lst.de>
/* /*
* Reserve enough quota to handle blocks on disk and reserved * Reserve enough quota to handle blocks on disk and reserved
* for a delayed allocation. We'll actually transfer the * for a delayed allocation. We'll actually transfer the
@@ -1266,8 +1281,20 @@ retry: @@ -1269,8 +1284,20 @@ retry:
* though that part is only semi-transactional. * though that part is only semi-transactional.
*/ */
error = xfs_trans_reserve_quota_bydquots(tp, mp, udqp, gdqp, error = xfs_trans_reserve_quota_bydquots(tp, mp, udqp, gdqp,

View File

@@ -83,7 +83,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
.maxlen = sizeof(u8), .maxlen = sizeof(u8),
--- a/net/ipv4/tcp_input.c --- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c
@@ -5652,6 +5652,7 @@ static bool tcp_prune_ofo_queue(struct s @@ -5658,6 +5658,7 @@ static bool tcp_prune_ofo_queue(struct s
static int tcp_prune_queue(struct sock *sk, const struct sk_buff *in_skb) static int tcp_prune_queue(struct sock *sk, const struct sk_buff *in_skb)
{ {
struct tcp_sock *tp = tcp_sk(sk); struct tcp_sock *tp = tcp_sk(sk);
@@ -91,7 +91,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
NET_INC_STATS(sock_net(sk), LINUX_MIB_PRUNECALLED); NET_INC_STATS(sock_net(sk), LINUX_MIB_PRUNECALLED);
@@ -5663,6 +5664,39 @@ static int tcp_prune_queue(struct sock * @@ -5669,6 +5670,39 @@ static int tcp_prune_queue(struct sock *
if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf) if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf)
return 0; return 0;
@@ -131,7 +131,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
tcp_collapse_ofo_queue(sk); tcp_collapse_ofo_queue(sk);
if (!skb_queue_empty(&sk->sk_receive_queue)) if (!skb_queue_empty(&sk->sk_receive_queue))
tcp_collapse(sk, &sk->sk_receive_queue, NULL, tcp_collapse(sk, &sk->sk_receive_queue, NULL,
@@ -5681,6 +5715,8 @@ static int tcp_prune_queue(struct sock * @@ -5687,6 +5721,8 @@ static int tcp_prune_queue(struct sock *
if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf) if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf)
return 0; return 0;

View File

@@ -12,7 +12,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -997,15 +997,8 @@ export CC_FLAGS_FPU @@ -1004,15 +1004,8 @@ export CC_FLAGS_FPU
export CC_FLAGS_NO_FPU export CC_FLAGS_NO_FPU
ifneq ($(CONFIG_FUNCTION_ALIGNMENT),0) ifneq ($(CONFIG_FUNCTION_ALIGNMENT),0)

View File

@@ -11,7 +11,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
--- a/include/linux/blkdev.h --- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h +++ b/include/linux/blkdev.h
@@ -613,7 +613,8 @@ enum { @@ -614,7 +614,8 @@ enum {
QUEUE_FLAG_MAX QUEUE_FLAG_MAX
}; };

View File

@@ -158,5 +158,5 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+} +}
+ +
extern void __futex_unqueue(struct futex_q *q); extern void __futex_unqueue(struct futex_q *q);
extern void __futex_queue(struct futex_q *q, struct futex_hash_bucket *hb); extern void __futex_queue(struct futex_q *q, struct futex_hash_bucket *hb,
extern int futex_unqueue(struct futex_q *q); struct task_struct *task);

View File

@@ -75,7 +75,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
.mmu.notify_page_enc_status_changed = paravirt_nop, .mmu.notify_page_enc_status_changed = paravirt_nop,
--- a/arch/x86/xen/mmu_pv.c --- a/arch/x86/xen/mmu_pv.c
+++ b/arch/x86/xen/mmu_pv.c +++ b/arch/x86/xen/mmu_pv.c
@@ -2137,7 +2137,6 @@ static const typeof(pv_ops) xen_mmu_ops @@ -2189,7 +2189,6 @@ static const typeof(pv_ops) xen_mmu_ops
.flush_tlb_kernel = xen_flush_tlb, .flush_tlb_kernel = xen_flush_tlb,
.flush_tlb_one_user = xen_flush_tlb_one_user, .flush_tlb_one_user = xen_flush_tlb_one_user,
.flush_tlb_multi = xen_flush_tlb_multi, .flush_tlb_multi = xen_flush_tlb_multi,

View File

@@ -15,7 +15,7 @@ Suggested-by: Dave Hansen <dave.hansen@intel.com>
--- a/arch/x86/mm/tlb.c --- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm/tlb.c +++ b/arch/x86/mm/tlb.c
@@ -973,14 +973,32 @@ static struct flush_tlb_info *get_flush_ @@ -1000,8 +1000,13 @@ static struct flush_tlb_info *get_flush_
BUG_ON(this_cpu_inc_return(flush_tlb_info_idx) != 1); BUG_ON(this_cpu_inc_return(flush_tlb_info_idx) != 1);
#endif #endif
@@ -31,8 +31,9 @@ Suggested-by: Dave Hansen <dave.hansen@intel.com>
info->mm = mm; info->mm = mm;
info->stride_shift = stride_shift; info->stride_shift = stride_shift;
info->freed_tables = freed_tables; info->freed_tables = freed_tables;
info->new_tlb_gen = new_tlb_gen; @@ -1009,6 +1014,19 @@ static struct flush_tlb_info *get_flush_
info->initiating_cpu = smp_processor_id(); info->initiating_cpu = smp_processor_id();
info->trim_cpumask = 0;
+ WARN_ONCE(start != info->start || end != info->end, + WARN_ONCE(start != info->start || end != info->end,
+ "TLB flush not stride %x aligned. Start %lx, end %lx\n", + "TLB flush not stride %x aligned. Start %lx, end %lx\n",
@@ -50,7 +51,7 @@ Suggested-by: Dave Hansen <dave.hansen@intel.com>
return info; return info;
} }
@@ -998,17 +1016,8 @@ void flush_tlb_mm_range(struct mm_struct @@ -1026,17 +1044,8 @@ void flush_tlb_mm_range(struct mm_struct
bool freed_tables) bool freed_tables)
{ {
struct flush_tlb_info *info; struct flush_tlb_info *info;
@@ -69,7 +70,7 @@ Suggested-by: Dave Hansen <dave.hansen@intel.com>
/* This is also a barrier that synchronizes with switch_mm(). */ /* This is also a barrier that synchronizes with switch_mm(). */
new_tlb_gen = inc_mm_tlb_gen(mm); new_tlb_gen = inc_mm_tlb_gen(mm);
@@ -1060,22 +1069,19 @@ static void do_kernel_range_flush(void * @@ -1089,22 +1098,19 @@ static void do_kernel_range_flush(void *
void flush_tlb_kernel_range(unsigned long start, unsigned long end) void flush_tlb_kernel_range(unsigned long start, unsigned long end)
{ {
@@ -101,7 +102,7 @@ Suggested-by: Dave Hansen <dave.hansen@intel.com>
} }
/* /*
@@ -1247,7 +1253,7 @@ void arch_tlbbatch_flush(struct arch_tlb @@ -1276,7 +1282,7 @@ void arch_tlbbatch_flush(struct arch_tlb
int cpu = get_cpu(); int cpu = get_cpu();

View File

@@ -15,7 +15,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
--- a/arch/x86/mm/tlb.c --- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm/tlb.c +++ b/arch/x86/mm/tlb.c
@@ -1057,6 +1057,30 @@ void flush_tlb_all(void) @@ -1086,6 +1086,30 @@ void flush_tlb_all(void)
on_each_cpu(do_flush_tlb_all, NULL, 1); on_each_cpu(do_flush_tlb_all, NULL, 1);
} }
@@ -46,7 +46,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
static void do_kernel_range_flush(void *info) static void do_kernel_range_flush(void *info)
{ {
struct flush_tlb_info *f = info; struct flush_tlb_info *f = info;
@@ -1076,7 +1100,9 @@ void flush_tlb_kernel_range(unsigned lon @@ -1105,7 +1129,9 @@ void flush_tlb_kernel_range(unsigned lon
info = get_flush_tlb_info(NULL, start, end, PAGE_SHIFT, false, info = get_flush_tlb_info(NULL, start, end, PAGE_SHIFT, false,
TLB_GENERATION_INVALID); TLB_GENERATION_INVALID);

View File

@@ -14,7 +14,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
--- a/arch/x86/mm/tlb.c --- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm/tlb.c +++ b/arch/x86/mm/tlb.c
@@ -1045,6 +1045,19 @@ void flush_tlb_mm_range(struct mm_struct @@ -1074,6 +1074,19 @@ void flush_tlb_mm_range(struct mm_struct
} }
@@ -34,7 +34,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
static void do_flush_tlb_all(void *info) static void do_flush_tlb_all(void *info)
{ {
count_vm_tlb_event(NR_TLB_REMOTE_FLUSH_RECEIVED); count_vm_tlb_event(NR_TLB_REMOTE_FLUSH_RECEIVED);
@@ -1053,6 +1066,8 @@ static void do_flush_tlb_all(void *info) @@ -1082,6 +1095,8 @@ static void do_flush_tlb_all(void *info)
void flush_tlb_all(void) void flush_tlb_all(void)
{ {

View File

@@ -17,7 +17,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
--- a/arch/x86/mm/tlb.c --- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm/tlb.c +++ b/arch/x86/mm/tlb.c
@@ -1301,7 +1301,9 @@ void arch_tlbbatch_flush(struct arch_tlb @@ -1330,7 +1330,9 @@ void arch_tlbbatch_flush(struct arch_tlb
* a local TLB flush is needed. Optimize this use-case by calling * a local TLB flush is needed. Optimize this use-case by calling
* flush_tlb_func_local() directly in this case. * flush_tlb_func_local() directly in this case.
*/ */

View File

@@ -22,7 +22,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
--- a/arch/x86/include/asm/mmu.h --- a/arch/x86/include/asm/mmu.h
+++ b/arch/x86/include/asm/mmu.h +++ b/arch/x86/include/asm/mmu.h
@@ -67,6 +67,12 @@ typedef struct { @@ -69,6 +69,12 @@ typedef struct {
u16 pkey_allocation_map; u16 pkey_allocation_map;
s16 execute_only_pkey; s16 execute_only_pkey;
#endif #endif
@@ -46,7 +46,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
/* /*
* Init a new mm. Used on mm copies, like at fork() * Init a new mm. Used on mm copies, like at fork()
* and on mm's that are brand-new, like at execve(). * and on mm's that are brand-new, like at execve().
@@ -160,6 +162,14 @@ static inline int init_new_context(struc @@ -161,6 +163,14 @@ static inline int init_new_context(struc
mm->context.execute_only_pkey = -1; mm->context.execute_only_pkey = -1;
} }
#endif #endif
@@ -61,7 +61,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
mm_reset_untag_mask(mm); mm_reset_untag_mask(mm);
init_new_context_ldt(mm); init_new_context_ldt(mm);
return 0; return 0;
@@ -169,6 +179,10 @@ static inline int init_new_context(struc @@ -170,6 +180,10 @@ static inline int init_new_context(struc
static inline void destroy_context(struct mm_struct *mm) static inline void destroy_context(struct mm_struct *mm)
{ {
destroy_context_ldt(mm); destroy_context_ldt(mm);
@@ -82,7 +82,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/cpufeature.h> #include <asm/cpufeature.h>
#include <asm/special_insns.h> #include <asm/special_insns.h>
@@ -238,6 +239,78 @@ void flush_tlb_one_kernel(unsigned long @@ -239,6 +240,78 @@ void flush_tlb_one_kernel(unsigned long
void flush_tlb_multi(const struct cpumask *cpumask, void flush_tlb_multi(const struct cpumask *cpumask,
const struct flush_tlb_info *info); const struct flush_tlb_info *info);
@@ -578,7 +578,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
if (unlikely(f->new_tlb_gen != TLB_GENERATION_INVALID && if (unlikely(f->new_tlb_gen != TLB_GENERATION_INVALID &&
f->new_tlb_gen <= local_tlb_gen)) { f->new_tlb_gen <= local_tlb_gen)) {
/* /*
@@ -926,7 +1243,7 @@ STATIC_NOPV void native_flush_tlb_multi( @@ -953,7 +1270,7 @@ STATIC_NOPV void native_flush_tlb_multi(
* up on the new contents of what used to be page tables, while * up on the new contents of what used to be page tables, while
* doing a speculative memory access. * doing a speculative memory access.
*/ */
@@ -586,8 +586,8 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
+ if (info->freed_tables || in_asid_transition(info->mm)) + if (info->freed_tables || in_asid_transition(info->mm))
on_each_cpu_mask(cpumask, flush_tlb_func, (void *)info, true); on_each_cpu_mask(cpumask, flush_tlb_func, (void *)info, true);
else else
on_each_cpu_cond_mask(tlb_is_not_lazy, flush_tlb_func, on_each_cpu_cond_mask(should_flush_tlb, flush_tlb_func,
@@ -1030,8 +1347,11 @@ void flush_tlb_mm_range(struct mm_struct @@ -1058,9 +1375,12 @@ void flush_tlb_mm_range(struct mm_struct
* a local TLB flush is needed. Optimize this use-case by calling * a local TLB flush is needed. Optimize this use-case by calling
* flush_tlb_func_local() directly in this case. * flush_tlb_func_local() directly in this case.
*/ */
@@ -595,6 +595,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
+ if (mm_global_asid(mm)) { + if (mm_global_asid(mm)) {
+ broadcast_tlb_flush(info); + broadcast_tlb_flush(info);
+ } else if (cpumask_any_but(mm_cpumask(mm), cpu) < nr_cpu_ids) { + } else if (cpumask_any_but(mm_cpumask(mm), cpu) < nr_cpu_ids) {
info->trim_cpumask = should_trim_cpumask(mm);
flush_tlb_multi(mm_cpumask(mm), info); flush_tlb_multi(mm_cpumask(mm), info);
+ consider_global_asid(mm); + consider_global_asid(mm);
} else if (mm == this_cpu_read(cpu_tlbstate.loaded_mm)) { } else if (mm == this_cpu_read(cpu_tlbstate.loaded_mm)) {

View File

@@ -90,7 +90,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
#ifdef CONFIG_ADDRESS_MASKING #ifdef CONFIG_ADDRESS_MASKING
/* /*
@@ -309,6 +310,10 @@ static inline void broadcast_tlb_flush(s @@ -310,6 +311,10 @@ static inline void broadcast_tlb_flush(s
static inline void consider_global_asid(struct mm_struct *mm) static inline void consider_global_asid(struct mm_struct *mm)
{ {
} }
@@ -101,7 +101,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
#endif #endif
#ifdef CONFIG_PARAVIRT #ifdef CONFIG_PARAVIRT
@@ -358,21 +363,15 @@ static inline u64 inc_mm_tlb_gen(struct @@ -359,21 +364,15 @@ static inline u64 inc_mm_tlb_gen(struct
return atomic64_inc_return(&mm->context.tlb_gen); return atomic64_inc_return(&mm->context.tlb_gen);
} }
@@ -184,7 +184,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
if (this_cpu_read(cpu_tlbstate.loaded_mm) == &init_mm) if (this_cpu_read(cpu_tlbstate.loaded_mm) == &init_mm)
return; return;
@@ -1621,9 +1656,7 @@ void arch_tlbbatch_flush(struct arch_tlb @@ -1650,9 +1685,7 @@ void arch_tlbbatch_flush(struct arch_tlb
* a local TLB flush is needed. Optimize this use-case by calling * a local TLB flush is needed. Optimize this use-case by calling
* flush_tlb_func_local() directly in this case. * flush_tlb_func_local() directly in this case.
*/ */
@@ -195,7 +195,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
flush_tlb_multi(&batch->cpumask, info); flush_tlb_multi(&batch->cpumask, info);
} else if (cpumask_test_cpu(cpu, &batch->cpumask)) { } else if (cpumask_test_cpu(cpu, &batch->cpumask)) {
lockdep_assert_irqs_enabled(); lockdep_assert_irqs_enabled();
@@ -1632,12 +1665,53 @@ void arch_tlbbatch_flush(struct arch_tlb @@ -1661,12 +1694,53 @@ void arch_tlbbatch_flush(struct arch_tlb
local_irq_enable(); local_irq_enable();
} }

View File

@@ -65,7 +65,7 @@ Tested-by: Manali Shukla <Manali.Shukla@amd.com>
addr += nr << info->stride_shift; addr += nr << info->stride_shift;
} while (addr < info->end); } while (addr < info->end);
@@ -1686,10 +1687,10 @@ void arch_tlbbatch_add_pending(struct ar @@ -1715,10 +1716,10 @@ void arch_tlbbatch_add_pending(struct ar
u16 asid = mm_global_asid(mm); u16 asid = mm_global_asid(mm);
if (asid) { if (asid) {

View File

@@ -15,7 +15,7 @@ Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -1019,11 +1019,6 @@ KBUILD_CFLAGS += -fno-strict-overflow @@ -1026,11 +1026,6 @@ KBUILD_CFLAGS += -fno-strict-overflow
# Make sure -fstack-check isn't enabled (like gentoo apparently did) # Make sure -fstack-check isn't enabled (like gentoo apparently did)
KBUILD_CFLAGS += -fno-stack-check KBUILD_CFLAGS += -fno-stack-check

View File

@@ -23,7 +23,7 @@ Subject: ZEN: drm/amdgpu/pm: Allow override of min_power_limit with
extern int amdgpu_gtt_size; extern int amdgpu_gtt_size;
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -136,6 +136,7 @@ enum AMDGPU_DEBUG_MASK { @@ -138,6 +138,7 @@ enum AMDGPU_DEBUG_MASK {
}; };
unsigned int amdgpu_vram_limit = UINT_MAX; unsigned int amdgpu_vram_limit = UINT_MAX;
@@ -31,7 +31,7 @@ Subject: ZEN: drm/amdgpu/pm: Allow override of min_power_limit with
int amdgpu_vis_vram_limit; int amdgpu_vis_vram_limit;
int amdgpu_gart_size = -1; /* auto */ int amdgpu_gart_size = -1; /* auto */
int amdgpu_gtt_size = -1; /* auto */ int amdgpu_gtt_size = -1; /* auto */
@@ -260,6 +261,15 @@ struct amdgpu_watchdog_timer amdgpu_watc @@ -262,6 +263,15 @@ struct amdgpu_watchdog_timer amdgpu_watc
}; };
/** /**
@@ -61,7 +61,7 @@ Subject: ZEN: drm/amdgpu/pm: Allow override of min_power_limit with
--- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c --- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
@@ -2792,7 +2792,10 @@ int smu_get_power_limit(void *handle, @@ -2793,7 +2793,10 @@ int smu_get_power_limit(void *handle,
*limit = smu->max_power_limit; *limit = smu->max_power_limit;
break; break;
case SMU_PPT_LIMIT_MIN: case SMU_PPT_LIMIT_MIN:
@@ -73,7 +73,7 @@ Subject: ZEN: drm/amdgpu/pm: Allow override of min_power_limit with
break; break;
default: default:
return -EINVAL; return -EINVAL;
@@ -2816,7 +2819,14 @@ static int smu_set_power_limit(void *han @@ -2817,7 +2820,14 @@ static int smu_set_power_limit(void *han
if (smu->ppt_funcs->set_power_limit) if (smu->ppt_funcs->set_power_limit)
return smu->ppt_funcs->set_power_limit(smu, limit_type, limit); return smu->ppt_funcs->set_power_limit(smu, limit_type, limit);

View File

@@ -70,7 +70,7 @@ Contains:
if (unlikely(nofail)) { if (unlikely(nofail)) {
/* /*
@@ -4278,8 +4281,13 @@ restart: @@ -4279,8 +4282,13 @@ restart:
goto nopage; goto nopage;
} }
@@ -85,7 +85,7 @@ Contains:
/* /*
* The adjusted alloc_flags might result in immediate success, so try * The adjusted alloc_flags might result in immediate success, so try
@@ -4481,9 +4489,12 @@ nopage: @@ -4482,9 +4490,12 @@ nopage:
goto retry; goto retry;
} }
fail: fail:
@@ -102,7 +102,7 @@ Contains:
--- a/mm/vmscan.c --- a/mm/vmscan.c
+++ b/mm/vmscan.c +++ b/mm/vmscan.c
@@ -6384,7 +6384,7 @@ retry: @@ -6385,7 +6385,7 @@ retry:
return 0; return 0;
} }
@@ -111,7 +111,7 @@ Contains:
{ {
struct zone *zone; struct zone *zone;
unsigned long pfmemalloc_reserve = 0; unsigned long pfmemalloc_reserve = 0;
@@ -6413,6 +6413,10 @@ static bool allow_direct_reclaim(pg_data @@ -6414,6 +6414,10 @@ static bool allow_direct_reclaim(pg_data
wmark_ok = free_pages > pfmemalloc_reserve / 2; wmark_ok = free_pages > pfmemalloc_reserve / 2;
@@ -122,7 +122,7 @@ Contains:
/* kswapd must be awake if processes are being throttled */ /* kswapd must be awake if processes are being throttled */
if (!wmark_ok && waitqueue_active(&pgdat->kswapd_wait)) { if (!wmark_ok && waitqueue_active(&pgdat->kswapd_wait)) {
if (READ_ONCE(pgdat->kswapd_highest_zoneidx) > ZONE_NORMAL) if (READ_ONCE(pgdat->kswapd_highest_zoneidx) > ZONE_NORMAL)
@@ -6478,7 +6482,7 @@ static bool throttle_direct_reclaim(gfp_ @@ -6479,7 +6483,7 @@ static bool throttle_direct_reclaim(gfp_
/* Throttle based on the first usable node */ /* Throttle based on the first usable node */
pgdat = zone->zone_pgdat; pgdat = zone->zone_pgdat;
@@ -131,7 +131,7 @@ Contains:
goto out; goto out;
break; break;
} }
@@ -6500,11 +6504,14 @@ static bool throttle_direct_reclaim(gfp_ @@ -6501,11 +6505,14 @@ static bool throttle_direct_reclaim(gfp_
*/ */
if (!(gfp_mask & __GFP_FS)) if (!(gfp_mask & __GFP_FS))
wait_event_interruptible_timeout(pgdat->pfmemalloc_wait, wait_event_interruptible_timeout(pgdat->pfmemalloc_wait,
@@ -148,7 +148,7 @@ Contains:
if (fatal_signal_pending(current)) if (fatal_signal_pending(current))
return true; return true;
@@ -7007,14 +7014,14 @@ restart: @@ -7008,14 +7015,14 @@ restart:
* able to safely make forward progress. Wake them * able to safely make forward progress. Wake them
*/ */
if (waitqueue_active(&pgdat->pfmemalloc_wait) && if (waitqueue_active(&pgdat->pfmemalloc_wait) &&

View File

@@ -20,7 +20,7 @@ Fixes: https://github.com/zen-kernel/zen-kernel/issues/282
--- a/drivers/md/dm-crypt.c --- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c
@@ -3315,6 +3315,11 @@ static int crypt_ctr(struct dm_target *t @@ -3308,6 +3308,11 @@ static int crypt_ctr(struct dm_target *t
goto bad; goto bad;
} }

View File

@@ -56,7 +56,7 @@ Signed-off-by: Vinay Banakar <vny@google.com>
LIST_HEAD(ret_folios); LIST_HEAD(ret_folios);
LIST_HEAD(demote_folios); LIST_HEAD(demote_folios);
+ LIST_HEAD(pageout_list); + LIST_HEAD(pageout_list);
unsigned int nr_reclaimed = 0; unsigned int nr_reclaimed = 0, nr_demoted = 0;
unsigned int pgactivate = 0; unsigned int pgactivate = 0;
bool do_demote_pass; bool do_demote_pass;
@@ -1365,52 +1366,9 @@ retry: @@ -1365,52 +1366,9 @@ retry:
@@ -190,5 +190,5 @@ Signed-off-by: Vinay Banakar <vny@google.com>
+ } + }
+ +
/* Migrate folios selected for demotion */ /* Migrate folios selected for demotion */
stat->nr_demoted = demote_folio_list(&demote_folios, pgdat); nr_demoted = demote_folio_list(&demote_folios, pgdat);
nr_reclaimed += stat->nr_demoted; nr_reclaimed += nr_demoted;

View File

@@ -1,5 +1,3 @@
debian/gitignore.patch
# Disable features broken by exclusion of upstream files # Disable features broken by exclusion of upstream files
debian/dfsg/arch-powerpc-platforms-8xx-ucode-disable.patch debian/dfsg/arch-powerpc-platforms-8xx-ucode-disable.patch
debian/dfsg/drivers-media-dvb-dvb-usb-af9005-disable.patch debian/dfsg/drivers-media-dvb-dvb-usb-af9005-disable.patch
@@ -72,6 +70,7 @@ bugfix/all/disable-some-marvell-phys.patch
bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
bugfix/all/documentation-use-relative-source-paths-in-abi-documentation.patch bugfix/all/documentation-use-relative-source-paths-in-abi-documentation.patch
bugfix/all/nfsd-fix-legacy-client-tracking-initialization.patch bugfix/all/nfsd-fix-legacy-client-tracking-initialization.patch
bugfix/all/drm-amdkfd-Fix-user-queue-validation-on-Gfx7-8.patch
# Miscellaneous features # Miscellaneous features
@@ -163,6 +162,7 @@ misc-ntsync7/0015-ntsync-Introduce-alertable-waits.patch
misc-ntsync7/0016-maintainers-Add-an-entry-for-ntsync.patch misc-ntsync7/0016-maintainers-Add-an-entry-for-ntsync.patch
misc-ntsync7/0017-docs-ntsync-Add-documentation-for-the-ntsync-uAPI.patch misc-ntsync7/0017-docs-ntsync-Add-documentation-for-the-ntsync-uAPI.patch
misc-ntsync7/0018-ntsync-No-longer-depend-on-BROKEN.patch misc-ntsync7/0018-ntsync-No-longer-depend-on-BROKEN.patch
misc-ntsync7/0019-ntsync-Set-the-permissions-to-be-0666.patch
misc-openwrt/0001-mac80211-ignore-AP-power-level-when-tx-power-type-is.patch misc-openwrt/0001-mac80211-ignore-AP-power-level-when-tx-power-type-is.patch

View File

@@ -0,0 +1,10 @@
PROGS = resolve_btfids
include $(top_rulesdir)/Makefile.inc
resolve_btfids:
$(MAKE) -C $(top_srcdir)/tools/bpf/resolve_btfids O=$(CURDIR) \
HOSTCC=$(CC) HOSTCFLAGS='$(CFLAGS) $(CPPFLAGS)' \
HOSTLD=$(CROSS_COMPILE)ld KBUILD_HOSTLDFLAGS='$(LDFLAGS)' \
HOSTAR=$(CROSS_COMPILE)ar \
V=1

5
debian/rules.real vendored
View File

@@ -279,6 +279,9 @@ binary_headers: $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
cp -a $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/include $(DIR)/arch/$(KERNEL_ARCH) cp -a $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/include $(DIR)/arch/$(KERNEL_ARCH)
find $(DIR) -name '*.cmd' -delete find $(DIR) -name '*.cmd' -delete
$(CROSS_COMPILE)objcopy -j .BTF -j .BTF_ids $(SOURCE_DIR)/vmlinux $(DIR)/vmlinux
chmod 644 $(DIR)/vmlinux
f='$(SOURCE_DIR)/arch/$(KERNEL_ARCH)/lib/crtsavres.o' ; \ f='$(SOURCE_DIR)/arch/$(KERNEL_ARCH)/lib/crtsavres.o' ; \
d='$(DIR)/arch/$(KERNEL_ARCH)/lib' ; \ d='$(DIR)/arch/$(KERNEL_ARCH)/lib' ; \
if [ -f "$$f" ] ; then \ if [ -f "$$f" ] ; then \
@@ -438,6 +441,7 @@ binary_bpftool: build_bpftool
build_kbuild: $(STAMPS_DIR)/build-tools-headers build_kbuild: $(STAMPS_DIR)/build-tools-headers
$(call make-tools,certs) $(call make-tools,certs)
$(call make-tools,scripts) $(call make-tools,scripts)
$(call make-tools,tools/bpf/resolve_btfids)
$(call make-tools,tools/objtool) $(call make-tools,tools/objtool)
binary_kbuild: PREFIX_DIR = /usr/lib/$(PACKAGE_NAME) binary_kbuild: PREFIX_DIR = /usr/lib/$(PACKAGE_NAME)
@@ -445,6 +449,7 @@ binary_kbuild: build_kbuild
$(dh_binary_pre) $(dh_binary_pre)
$(call make-tools,certs) install prefix=$(PREFIX_DIR) $(call make-tools,certs) install prefix=$(PREFIX_DIR)
$(call make-tools,scripts) install prefix=$(PREFIX_DIR) $(call make-tools,scripts) install prefix=$(PREFIX_DIR)
$(call make-tools,tools/bpf/resolve_btfids) install prefix=$(PREFIX_DIR)
$(call make-tools,tools/objtool) install prefix=$(PREFIX_DIR) $(call make-tools,tools/objtool) install prefix=$(PREFIX_DIR)
dh_link $(PREFIX_DIR) /usr/src/$(PACKAGE_NAME) dh_link $(PREFIX_DIR) /usr/src/$(PACKAGE_NAME)
$(dh_binary_post) $(dh_binary_post)

View File

@@ -0,0 +1 @@
{{package}}: statically-linked-binary [usr/src/*/vmlinux]

View File

@@ -1,6 +1,7 @@
Package: linux-bpf-dev Package: linux-bpf-dev
Meta-Rules-Target: bpf-dev Meta-Rules-Target: bpf-dev
Build-Profiles: <!pkg.linux.nokernel !pkg.linux.quick> Build-Profiles: <!pkg.linux.nokernel !pkg.linux.quick>
Multi-Arch: same
Section: devel Section: devel
Depends: ${misc:Depends} Depends: ${misc:Depends}
Description: Headers for BPF development Description: Headers for BPF development

View File

@@ -2,7 +2,7 @@ Package: krd-linux-kbuild-@abiname@
Meta-Rules-Target: kbuild Meta-Rules-Target: kbuild
Build-Profiles: <!pkg.linux.notools> Build-Profiles: <!pkg.linux.notools>
Architecture: linux-any Architecture: linux-any
Depends: ${shlibs:Depends}, ${misc:Depends}, build-essential Depends: ${shlibs:Depends}, ${misc:Depends}, build-essential, pahole
Multi-Arch: foreign Multi-Arch: foreign
Description: Kbuild infrastructure for KrD's Linux @abiname@ Description: Kbuild infrastructure for KrD's Linux @abiname@
This package provides the kbuild infrastructure for the headers packages for Linux kernel version @version@. This package provides the kbuild infrastructure for the headers packages for Linux kernel version @version@.