mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-04 10:25:25 +01:00
Upgrade kernel to 4.14.341-openela
This is a continuation of the 4.14 series by the Open Enterprise Linux Alliance, ostensibly to the same maintenance standards as the now discontinued kernel.org LTS. This code is primarily offered as a Git repository, with gz tarballs also available, but no xz versions. Switching back to a gzipped version of the kernel source code would introduce too much srcfs growth, so we use the last kernel.org tar.xz release (4.14.336), and apply OpenELA's changes using a patch generated from the Git repository.
This commit is contained in:
parent
86e1a5e7f6
commit
c75d609cf7
24 changed files with 15503 additions and 10 deletions
63
steps/linux-headers-4.14.341-openela/pass1.sh
Executable file
63
steps/linux-headers-4.14.341-openela/pass1.sh
Executable file
|
|
@ -0,0 +1,63 @@
|
|||
# SPDX-FileCopyrightText: 2021-23 fosslinux <fosslinux@aussies.space>
|
||||
# SPDX-FileCopyrightText: 2022 Andrius Štikonas <andrius@stikonas.eu>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
extract="linux-4.14.336/scripts linux-4.14.336/include linux-4.14.336/arch/x86/include linux-4.14.336/arch/x86/entry"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Buggy headers/don't know how to account for
|
||||
rm include/uapi/linux/pktcdvd.h \
|
||||
include/uapi/linux/hw_breakpoint.h \
|
||||
include/uapi/linux/eventpoll.h \
|
||||
include/uapi/linux/atmdev.h \
|
||||
include/uapi/asm-generic/fcntl.h \
|
||||
arch/x86/include/uapi/asm/mman.h \
|
||||
arch/x86/include/uapi/asm/auxvec.h
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
gcc -o scripts/unifdef scripts/unifdef.c
|
||||
}
|
||||
|
||||
src_install() {
|
||||
base_dir="${PWD}"
|
||||
# We "compile" the headers here because it is easier
|
||||
for d in include/uapi arch/x86/include/uapi; do
|
||||
cd "${d}"
|
||||
find . -type d -exec mkdir "${DESTDIR}${PREFIX}/include/{}" -p \;
|
||||
headers="$(find . -type f -name "*.h")"
|
||||
cd "${base_dir}"
|
||||
for h in ${headers}; do
|
||||
path="$(dirname "${h}")"
|
||||
scripts/headers_install.sh "${DESTDIR}${PREFIX}/include/${path}" "${d}/${path}" "$(basename "${h}")"
|
||||
done
|
||||
done
|
||||
|
||||
# Pick-and-choose asm-generic headers
|
||||
for i in types ioctl termios termbits ioctls sockios socket param; do
|
||||
cp "${DESTDIR}${PREFIX}/include/asm-generic/${i}.h" "${DESTDIR}${PREFIX}/include/asm/${i}.h"
|
||||
done
|
||||
|
||||
# Generate asm/unistd_32.h
|
||||
bash arch/x86/entry/syscalls/syscallhdr.sh \
|
||||
arch/x86/entry/syscalls/syscall_32.tbl \
|
||||
"${DESTDIR}${PREFIX}/include/asm/unistd_32.h" i386
|
||||
|
||||
# Generate linux/version.h
|
||||
# Rules are from makefile
|
||||
VERSION=4
|
||||
PATCHLEVEL=14
|
||||
SUBLEVEL=336
|
||||
VERSION_CODE="$((VERSION * 65536 + PATCHLEVEL * 256 + SUBLEVEL))"
|
||||
echo '#define LINUX_VERSION_CODE '"${VERSION_CODE}" \
|
||||
> "${DESTDIR}${PREFIX}/include/linux/version.h"
|
||||
echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c)))' \
|
||||
>> "${DESTDIR}${PREFIX}/include/linux/version.h"
|
||||
|
||||
# Clear up storage space
|
||||
cd ../..
|
||||
rm -rf build src
|
||||
}
|
||||
|
|
@ -0,0 +1,447 @@
|
|||
SPDX-FileCopyrightText: 1991-2024 kernel.org contributors
|
||||
SPDX-FileCopyrightText: 2023-2024 Open Enterprise Linux Association <kernel-lts@openela.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
Patch kernel headers up to 4.14.341-openela
|
||||
|
||||
diff --git include/crypto/if_alg.h include/crypto/if_alg.h
|
||||
index 2ea6a95ca825..f803dc8c45ad 100644
|
||||
--- include/crypto/if_alg.h
|
||||
+++ include/crypto/if_alg.h
|
||||
@@ -146,6 +146,7 @@ struct af_alg_async_req {
|
||||
* @enc: Cryptographic operation to be performed when
|
||||
* recvmsg is invoked.
|
||||
* @len: Length of memory allocated for this data structure.
|
||||
+ * @inflight: Non-zero when AIO requests are in flight.
|
||||
*/
|
||||
struct af_alg_ctx {
|
||||
struct list_head tsgl_list;
|
||||
@@ -163,6 +164,8 @@ struct af_alg_ctx {
|
||||
bool enc;
|
||||
|
||||
unsigned int len;
|
||||
+
|
||||
+ unsigned int inflight;
|
||||
};
|
||||
|
||||
int af_alg_register_type(const struct af_alg_type *type);
|
||||
diff --git include/drm/drm_bridge.h include/drm/drm_bridge.h
|
||||
index 6522d4cbc9d9..bfbd38c0b609 100644
|
||||
--- include/drm/drm_bridge.h
|
||||
+++ include/drm/drm_bridge.h
|
||||
@@ -161,7 +161,7 @@ struct drm_bridge_funcs {
|
||||
* or &drm_encoder_helper_funcs.dpms hook.
|
||||
*
|
||||
* The bridge must assume that the display pipe (i.e. clocks and timing
|
||||
- * singals) feeding it is no longer running when this callback is
|
||||
+ * signals) feeding it is no longer running when this callback is
|
||||
* called.
|
||||
*
|
||||
* The post_disable callback is optional.
|
||||
diff --git include/drm/drm_mipi_dsi.h include/drm/drm_mipi_dsi.h
|
||||
index 689f615471ab..a059f1d968b7 100644
|
||||
--- include/drm/drm_mipi_dsi.h
|
||||
+++ include/drm/drm_mipi_dsi.h
|
||||
@@ -163,6 +163,7 @@ struct mipi_dsi_device_info {
|
||||
* struct mipi_dsi_device - DSI peripheral device
|
||||
* @host: DSI host for this peripheral
|
||||
* @dev: driver model device node for this peripheral
|
||||
+ * @attached: the DSI device has been successfully attached
|
||||
* @name: DSI peripheral chip type
|
||||
* @channel: virtual channel assigned to the peripheral
|
||||
* @format: pixel format for video mode
|
||||
@@ -172,6 +173,7 @@ struct mipi_dsi_device_info {
|
||||
struct mipi_dsi_device {
|
||||
struct mipi_dsi_host *host;
|
||||
struct device dev;
|
||||
+ bool attached;
|
||||
|
||||
char name[DSI_DEV_NAME_SIZE];
|
||||
unsigned int channel;
|
||||
diff --git include/linux/bpf.h include/linux/bpf.h
|
||||
index 3aa05ea79ba1..0d7a61df056b 100644
|
||||
--- include/linux/bpf.h
|
||||
+++ include/linux/bpf.h
|
||||
@@ -38,7 +38,11 @@ struct bpf_map_ops {
|
||||
/* funcs called by prog_array and perf_event_array map */
|
||||
void *(*map_fd_get_ptr)(struct bpf_map *map, struct file *map_file,
|
||||
int fd);
|
||||
- void (*map_fd_put_ptr)(void *ptr);
|
||||
+ /* If need_defer is true, the implementation should guarantee that
|
||||
+ * the to-be-put element is still alive before the bpf program, which
|
||||
+ * may manipulate it, exists.
|
||||
+ */
|
||||
+ void (*map_fd_put_ptr)(struct bpf_map *map, void *ptr, bool need_defer);
|
||||
u32 (*map_gen_lookup)(struct bpf_map *map, struct bpf_insn *insn_buf);
|
||||
u32 (*map_fd_sys_lookup_elem)(void *ptr);
|
||||
};
|
||||
diff --git include/linux/device.h include/linux/device.h
|
||||
index 65e06a066b67..27b70b810463 100644
|
||||
--- include/linux/device.h
|
||||
+++ include/linux/device.h
|
||||
@@ -1474,6 +1474,9 @@ do { \
|
||||
WARN_ONCE(condition, "%s %s: " format, \
|
||||
dev_driver_string(dev), dev_name(dev), ## arg)
|
||||
|
||||
+extern __printf(3, 4)
|
||||
+int dev_err_probe(const struct device *dev, int err, const char *fmt, ...);
|
||||
+
|
||||
/* Create alias, so I can be autoloaded. */
|
||||
#define MODULE_ALIAS_CHARDEV(major,minor) \
|
||||
MODULE_ALIAS("char-major-" __stringify(major) "-" __stringify(minor))
|
||||
diff --git include/linux/dmaengine.h include/linux/dmaengine.h
|
||||
index 8089e28539f1..d5a7d320e05c 100644
|
||||
--- include/linux/dmaengine.h
|
||||
+++ include/linux/dmaengine.h
|
||||
@@ -816,7 +816,8 @@ static inline int dmaengine_slave_config(struct dma_chan *chan,
|
||||
|
||||
static inline bool is_slave_direction(enum dma_transfer_direction direction)
|
||||
{
|
||||
- return (direction == DMA_MEM_TO_DEV) || (direction == DMA_DEV_TO_MEM);
|
||||
+ return (direction == DMA_MEM_TO_DEV) || (direction == DMA_DEV_TO_MEM) ||
|
||||
+ (direction == DMA_DEV_TO_DEV);
|
||||
}
|
||||
|
||||
static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single(
|
||||
diff --git include/linux/fs.h include/linux/fs.h
|
||||
index ff0a992846a3..bd6072556269 100644
|
||||
--- include/linux/fs.h
|
||||
+++ include/linux/fs.h
|
||||
@@ -296,6 +296,8 @@ enum rw_hint {
|
||||
#define IOCB_SYNC (1 << 5)
|
||||
#define IOCB_WRITE (1 << 6)
|
||||
#define IOCB_NOWAIT (1 << 7)
|
||||
+/* kiocb is a read or write operation submitted by fs/aio.c. */
|
||||
+#define IOCB_AIO_RW (1 << 23)
|
||||
|
||||
struct kiocb {
|
||||
struct file *ki_filp;
|
||||
diff --git include/linux/lsm_hooks.h include/linux/lsm_hooks.h
|
||||
index 569debc49f3d..28ff40daccff 100644
|
||||
--- include/linux/lsm_hooks.h
|
||||
+++ include/linux/lsm_hooks.h
|
||||
@@ -466,6 +466,12 @@
|
||||
* simple integer value. When @arg represents a user space pointer, it
|
||||
* should never be used by the security module.
|
||||
* Return 0 if permission is granted.
|
||||
+ * @file_ioctl_compat:
|
||||
+ * @file contains the file structure.
|
||||
+ * @cmd contains the operation to perform.
|
||||
+ * @arg contains the operational arguments.
|
||||
+ * Check permission for a compat ioctl operation on @file.
|
||||
+ * Return 0 if permission is granted.
|
||||
* @mmap_addr :
|
||||
* Check permissions for a mmap operation at @addr.
|
||||
* @addr contains virtual address that will be used for the operation.
|
||||
@@ -1486,6 +1492,8 @@ union security_list_options {
|
||||
void (*file_free_security)(struct file *file);
|
||||
int (*file_ioctl)(struct file *file, unsigned int cmd,
|
||||
unsigned long arg);
|
||||
+ int (*file_ioctl_compat)(struct file *file, unsigned int cmd,
|
||||
+ unsigned long arg);
|
||||
int (*mmap_addr)(unsigned long addr);
|
||||
int (*mmap_file)(struct file *file, unsigned long reqprot,
|
||||
unsigned long prot, unsigned long flags);
|
||||
@@ -1764,6 +1772,7 @@ struct security_hook_heads {
|
||||
struct list_head file_alloc_security;
|
||||
struct list_head file_free_security;
|
||||
struct list_head file_ioctl;
|
||||
+ struct list_head file_ioctl_compat;
|
||||
struct list_head mmap_addr;
|
||||
struct list_head mmap_file;
|
||||
struct list_head file_mprotect;
|
||||
diff --git include/linux/pci_ids.h include/linux/pci_ids.h
|
||||
index 83f576d45d78..c977e636a1dd 100644
|
||||
--- include/linux/pci_ids.h
|
||||
+++ include/linux/pci_ids.h
|
||||
@@ -2953,6 +2953,7 @@
|
||||
#define PCI_DEVICE_ID_INTEL_82443GX_0 0x71a0
|
||||
#define PCI_DEVICE_ID_INTEL_82443GX_2 0x71a2
|
||||
#define PCI_DEVICE_ID_INTEL_82372FB_1 0x7601
|
||||
+#define PCI_DEVICE_ID_INTEL_HDA_ARL 0x7728
|
||||
#define PCI_DEVICE_ID_INTEL_SCH_LPC 0x8119
|
||||
#define PCI_DEVICE_ID_INTEL_SCH_IDE 0x811a
|
||||
#define PCI_DEVICE_ID_INTEL_E6XX_CU 0x8183
|
||||
diff --git include/linux/security.h include/linux/security.h
|
||||
index 1c8968a267c2..cf77cd971795 100644
|
||||
--- include/linux/security.h
|
||||
+++ include/linux/security.h
|
||||
@@ -306,6 +306,8 @@ int security_file_permission(struct file *file, int mask);
|
||||
int security_file_alloc(struct file *file);
|
||||
void security_file_free(struct file *file);
|
||||
int security_file_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
|
||||
+int security_file_ioctl_compat(struct file *file, unsigned int cmd,
|
||||
+ unsigned long arg);
|
||||
int security_mmap_file(struct file *file, unsigned long prot,
|
||||
unsigned long flags);
|
||||
int security_mmap_addr(unsigned long addr);
|
||||
@@ -827,6 +829,13 @@ static inline int security_file_ioctl(struct file *file, unsigned int cmd,
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static inline int security_file_ioctl_compat(struct file *file,
|
||||
+ unsigned int cmd,
|
||||
+ unsigned long arg)
|
||||
+{
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static inline int security_mmap_file(struct file *file, unsigned long prot,
|
||||
unsigned long flags)
|
||||
{
|
||||
diff --git include/linux/spi/spi.h include/linux/spi/spi.h
|
||||
index a8f6606dd498..5c7741ca3b99 100644
|
||||
--- include/linux/spi/spi.h
|
||||
+++ include/linux/spi/spi.h
|
||||
@@ -153,6 +153,7 @@ struct spi_device {
|
||||
#define SPI_MODE_1 (0|SPI_CPHA)
|
||||
#define SPI_MODE_2 (SPI_CPOL|0)
|
||||
#define SPI_MODE_3 (SPI_CPOL|SPI_CPHA)
|
||||
+#define SPI_MODE_X_MASK (SPI_CPOL|SPI_CPHA)
|
||||
#define SPI_CS_HIGH 0x04 /* chipselect active high? */
|
||||
#define SPI_LSB_FIRST 0x08 /* per-word bits-on-wire */
|
||||
#define SPI_3WIRE 0x10 /* SI/SO signals shared */
|
||||
diff --git include/linux/units.h include/linux/units.h
|
||||
new file mode 100644
|
||||
index 000000000000..a0af6d2ef4e5
|
||||
--- /dev/null
|
||||
+++ include/linux/units.h
|
||||
@@ -0,0 +1,92 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0 */
|
||||
+#ifndef _LINUX_UNITS_H
|
||||
+#define _LINUX_UNITS_H
|
||||
+
|
||||
+#include <linux/kernel.h>
|
||||
+
|
||||
+#define HZ_PER_KHZ 1000UL
|
||||
+#define KHZ_PER_MHZ 1000UL
|
||||
+#define HZ_PER_MHZ 1000000UL
|
||||
+
|
||||
+#define MILLIWATT_PER_WATT 1000UL
|
||||
+#define MICROWATT_PER_MILLIWATT 1000UL
|
||||
+#define MICROWATT_PER_WATT 1000000UL
|
||||
+
|
||||
+#define ABSOLUTE_ZERO_MILLICELSIUS -273150
|
||||
+
|
||||
+static inline long milli_kelvin_to_millicelsius(long t)
|
||||
+{
|
||||
+ return t + ABSOLUTE_ZERO_MILLICELSIUS;
|
||||
+}
|
||||
+
|
||||
+static inline long millicelsius_to_milli_kelvin(long t)
|
||||
+{
|
||||
+ return t - ABSOLUTE_ZERO_MILLICELSIUS;
|
||||
+}
|
||||
+
|
||||
+#define MILLIDEGREE_PER_DEGREE 1000
|
||||
+#define MILLIDEGREE_PER_DECIDEGREE 100
|
||||
+
|
||||
+static inline long kelvin_to_millicelsius(long t)
|
||||
+{
|
||||
+ return milli_kelvin_to_millicelsius(t * MILLIDEGREE_PER_DEGREE);
|
||||
+}
|
||||
+
|
||||
+static inline long millicelsius_to_kelvin(long t)
|
||||
+{
|
||||
+ t = millicelsius_to_milli_kelvin(t);
|
||||
+
|
||||
+ return DIV_ROUND_CLOSEST(t, MILLIDEGREE_PER_DEGREE);
|
||||
+}
|
||||
+
|
||||
+static inline long deci_kelvin_to_celsius(long t)
|
||||
+{
|
||||
+ t = milli_kelvin_to_millicelsius(t * MILLIDEGREE_PER_DECIDEGREE);
|
||||
+
|
||||
+ return DIV_ROUND_CLOSEST(t, MILLIDEGREE_PER_DEGREE);
|
||||
+}
|
||||
+
|
||||
+static inline long celsius_to_deci_kelvin(long t)
|
||||
+{
|
||||
+ t = millicelsius_to_milli_kelvin(t * MILLIDEGREE_PER_DEGREE);
|
||||
+
|
||||
+ return DIV_ROUND_CLOSEST(t, MILLIDEGREE_PER_DECIDEGREE);
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ * deci_kelvin_to_millicelsius_with_offset - convert Kelvin to Celsius
|
||||
+ * @t: temperature value in decidegrees Kelvin
|
||||
+ * @offset: difference between Kelvin and Celsius in millidegrees
|
||||
+ *
|
||||
+ * Return: temperature value in millidegrees Celsius
|
||||
+ */
|
||||
+static inline long deci_kelvin_to_millicelsius_with_offset(long t, long offset)
|
||||
+{
|
||||
+ return t * MILLIDEGREE_PER_DECIDEGREE - offset;
|
||||
+}
|
||||
+
|
||||
+static inline long deci_kelvin_to_millicelsius(long t)
|
||||
+{
|
||||
+ return milli_kelvin_to_millicelsius(t * MILLIDEGREE_PER_DECIDEGREE);
|
||||
+}
|
||||
+
|
||||
+static inline long millicelsius_to_deci_kelvin(long t)
|
||||
+{
|
||||
+ t = millicelsius_to_milli_kelvin(t);
|
||||
+
|
||||
+ return DIV_ROUND_CLOSEST(t, MILLIDEGREE_PER_DECIDEGREE);
|
||||
+}
|
||||
+
|
||||
+static inline long kelvin_to_celsius(long t)
|
||||
+{
|
||||
+ return t + DIV_ROUND_CLOSEST(ABSOLUTE_ZERO_MILLICELSIUS,
|
||||
+ MILLIDEGREE_PER_DEGREE);
|
||||
+}
|
||||
+
|
||||
+static inline long celsius_to_kelvin(long t)
|
||||
+{
|
||||
+ return t - DIV_ROUND_CLOSEST(ABSOLUTE_ZERO_MILLICELSIUS,
|
||||
+ MILLIDEGREE_PER_DEGREE);
|
||||
+}
|
||||
+
|
||||
+#endif /* _LINUX_UNITS_H */
|
||||
diff --git include/net/af_unix.h include/net/af_unix.h
|
||||
index 7ec1cdb66be8..e514508bdc92 100644
|
||||
--- include/net/af_unix.h
|
||||
+++ include/net/af_unix.h
|
||||
@@ -43,12 +43,6 @@ struct unix_skb_parms {
|
||||
|
||||
#define UNIXCB(skb) (*(struct unix_skb_parms *)&((skb)->cb))
|
||||
|
||||
-#define unix_state_lock(s) spin_lock(&unix_sk(s)->lock)
|
||||
-#define unix_state_unlock(s) spin_unlock(&unix_sk(s)->lock)
|
||||
-#define unix_state_lock_nested(s) \
|
||||
- spin_lock_nested(&unix_sk(s)->lock, \
|
||||
- SINGLE_DEPTH_NESTING)
|
||||
-
|
||||
/* The AF_UNIX socket */
|
||||
struct unix_sock {
|
||||
/* WARNING: sk has to be the first member */
|
||||
@@ -72,6 +66,20 @@ static inline struct unix_sock *unix_sk(const struct sock *sk)
|
||||
return (struct unix_sock *)sk;
|
||||
}
|
||||
|
||||
+#define unix_state_lock(s) spin_lock(&unix_sk(s)->lock)
|
||||
+#define unix_state_unlock(s) spin_unlock(&unix_sk(s)->lock)
|
||||
+enum unix_socket_lock_class {
|
||||
+ U_LOCK_NORMAL,
|
||||
+ U_LOCK_SECOND, /* for double locking, see unix_state_double_lock(). */
|
||||
+ U_LOCK_DIAG, /* used while dumping icons, see sk_diag_dump_icons(). */
|
||||
+};
|
||||
+
|
||||
+static inline void unix_state_lock_nested(struct sock *sk,
|
||||
+ enum unix_socket_lock_class subclass)
|
||||
+{
|
||||
+ spin_lock_nested(&unix_sk(sk)->lock, subclass);
|
||||
+}
|
||||
+
|
||||
#define peer_wait peer_wq.wait
|
||||
|
||||
long unix_inq_len(struct sock *sk);
|
||||
diff --git include/net/bluetooth/hci_core.h include/net/bluetooth/hci_core.h
|
||||
index 8f899ad4a754..bac3d79139b2 100644
|
||||
--- include/net/bluetooth/hci_core.h
|
||||
+++ include/net/bluetooth/hci_core.h
|
||||
@@ -647,7 +647,6 @@ void hci_inquiry_cache_flush(struct hci_dev *hdev);
|
||||
/* ----- HCI Connections ----- */
|
||||
enum {
|
||||
HCI_CONN_AUTH_PEND,
|
||||
- HCI_CONN_REAUTH_PEND,
|
||||
HCI_CONN_ENCRYPT_PEND,
|
||||
HCI_CONN_RSWITCH_PEND,
|
||||
HCI_CONN_MODE_CHANGE_PEND,
|
||||
diff --git include/net/dst_ops.h include/net/dst_ops.h
|
||||
index 443863c7b8da..632086b2f644 100644
|
||||
--- include/net/dst_ops.h
|
||||
+++ include/net/dst_ops.h
|
||||
@@ -16,7 +16,7 @@ struct dst_ops {
|
||||
unsigned short family;
|
||||
unsigned int gc_thresh;
|
||||
|
||||
- int (*gc)(struct dst_ops *ops);
|
||||
+ void (*gc)(struct dst_ops *ops);
|
||||
struct dst_entry * (*check)(struct dst_entry *, __u32 cookie);
|
||||
unsigned int (*default_advmss)(const struct dst_entry *);
|
||||
unsigned int (*mtu)(const struct dst_entry *);
|
||||
@@ -53,9 +53,11 @@ static inline int dst_entries_get_slow(struct dst_ops *dst)
|
||||
return percpu_counter_sum_positive(&dst->pcpuc_entries);
|
||||
}
|
||||
|
||||
+#define DST_PERCPU_COUNTER_BATCH 32
|
||||
static inline void dst_entries_add(struct dst_ops *dst, int val)
|
||||
{
|
||||
- percpu_counter_add(&dst->pcpuc_entries, val);
|
||||
+ percpu_counter_add_batch(&dst->pcpuc_entries, val,
|
||||
+ DST_PERCPU_COUNTER_BATCH);
|
||||
}
|
||||
|
||||
static inline int dst_entries_init(struct dst_ops *dst)
|
||||
diff --git include/net/llc_pdu.h include/net/llc_pdu.h
|
||||
index 49aa79c7b278..581cd37aa98b 100644
|
||||
--- include/net/llc_pdu.h
|
||||
+++ include/net/llc_pdu.h
|
||||
@@ -262,8 +262,7 @@ static inline void llc_pdu_header_init(struct sk_buff *skb, u8 type,
|
||||
*/
|
||||
static inline void llc_pdu_decode_sa(struct sk_buff *skb, u8 *sa)
|
||||
{
|
||||
- if (skb->protocol == htons(ETH_P_802_2))
|
||||
- memcpy(sa, eth_hdr(skb)->h_source, ETH_ALEN);
|
||||
+ memcpy(sa, eth_hdr(skb)->h_source, ETH_ALEN);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -275,8 +274,7 @@ static inline void llc_pdu_decode_sa(struct sk_buff *skb, u8 *sa)
|
||||
*/
|
||||
static inline void llc_pdu_decode_da(struct sk_buff *skb, u8 *da)
|
||||
{
|
||||
- if (skb->protocol == htons(ETH_P_802_2))
|
||||
- memcpy(da, eth_hdr(skb)->h_dest, ETH_ALEN);
|
||||
+ memcpy(da, eth_hdr(skb)->h_dest, ETH_ALEN);
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git include/net/netns/ipv6.h include/net/netns/ipv6.h
|
||||
index c004d051c2d3..290ca18589ee 100644
|
||||
--- include/net/netns/ipv6.h
|
||||
+++ include/net/netns/ipv6.h
|
||||
@@ -64,8 +64,8 @@ struct netns_ipv6 {
|
||||
struct dst_ops ip6_dst_ops;
|
||||
rwlock_t fib6_walker_lock;
|
||||
spinlock_t fib6_gc_lock;
|
||||
- unsigned int ip6_rt_gc_expire;
|
||||
- unsigned long ip6_rt_last_gc;
|
||||
+ atomic_t ip6_rt_gc_expire;
|
||||
+ unsigned long ip6_rt_last_gc;
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
bool fib6_has_custom_rules;
|
||||
struct rt6_info *ip6_prohibit_entry;
|
||||
diff --git include/uapi/linux/btrfs.h include/uapi/linux/btrfs.h
|
||||
index 86d2a52b4665..ee7a34c237a5 100644
|
||||
--- include/uapi/linux/btrfs.h
|
||||
+++ include/uapi/linux/btrfs.h
|
||||
@@ -522,6 +522,9 @@ struct btrfs_ioctl_clone_range_args {
|
||||
*/
|
||||
#define BTRFS_DEFRAG_RANGE_COMPRESS 1
|
||||
#define BTRFS_DEFRAG_RANGE_START_IO 2
|
||||
+#define BTRFS_DEFRAG_RANGE_FLAGS_SUPP (BTRFS_DEFRAG_RANGE_COMPRESS | \
|
||||
+ BTRFS_DEFRAG_RANGE_START_IO)
|
||||
+
|
||||
struct btrfs_ioctl_defrag_range_args {
|
||||
/* start of the defrag operation */
|
||||
__u64 start;
|
||||
diff --git include/uapi/linux/netfilter/nf_tables.h include/uapi/linux/netfilter/nf_tables.h
|
||||
index c7bb18ea4962..835e9f345f35 100644
|
||||
--- include/uapi/linux/netfilter/nf_tables.h
|
||||
+++ include/uapi/linux/netfilter/nf_tables.h
|
||||
@@ -229,9 +229,11 @@ enum nft_rule_attributes {
|
||||
/**
|
||||
* enum nft_rule_compat_flags - nf_tables rule compat flags
|
||||
*
|
||||
+ * @NFT_RULE_COMPAT_F_UNUSED: unused
|
||||
* @NFT_RULE_COMPAT_F_INV: invert the check result
|
||||
*/
|
||||
enum nft_rule_compat_flags {
|
||||
+ NFT_RULE_COMPAT_F_UNUSED = (1 << 0),
|
||||
NFT_RULE_COMPAT_F_INV = (1 << 1),
|
||||
NFT_RULE_COMPAT_F_MASK = NFT_RULE_COMPAT_F_INV,
|
||||
};
|
||||
20
steps/linux-headers-4.14.341-openela/patches/winsize.patch
Normal file
20
steps/linux-headers-4.14.341-openela/patches/winsize.patch
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
--- include/uapi/asm-generic/termios.h.bak 2021-07-23 14:23:51.330460544 +1000
|
||||
+++ include/uapi/asm-generic/termios.h 2021-07-23 19:08:27.112810109 +1000
|
||||
@@ -12,13 +12,6 @@
|
||||
#include <asm/termbits.h>
|
||||
#include <asm/ioctls.h>
|
||||
|
||||
-struct winsize {
|
||||
- unsigned short ws_row;
|
||||
- unsigned short ws_col;
|
||||
- unsigned short ws_xpixel;
|
||||
- unsigned short ws_ypixel;
|
||||
-};
|
||||
-
|
||||
#define NCC 8
|
||||
struct termio {
|
||||
unsigned short c_iflag; /* input mode flags */
|
||||
1
steps/linux-headers-4.14.341-openela/sources
Normal file
1
steps/linux-headers-4.14.341-openela/sources
Normal file
|
|
@ -0,0 +1 @@
|
|||
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.14.336.tar.xz 0820fdb7971c6974338081c11fbf2dc869870501e7bdcac4d0ed58ba1f57b61c
|
||||
Loading…
Add table
Add a link
Reference in a new issue