Skip to content

Enable EFI debug kernel build variable #46

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 24 commits into
base: os-upgrade
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
5017a6a
netem: fix return value if duplicate enqueue fails
shemminger Sep 24, 2024
978f407
UBUNTU: Start new release
mdiewa Sep 27, 2024
cd3da1a
UBUNTU: link-to-tracker: update tracking bug
mdiewa Sep 27, 2024
e460762
UBUNTU: Ubuntu-6.8.0-47.47
mdiewa Sep 27, 2024
e4c2d70
@@DELPHIX_PATCHSET_START@@
jwk404 Apr 1, 2021
875ba2f
DLPX-71852 iSCSI: journal flooded with "Unable to locate Target IQN" …
pzakha Feb 9, 2021
94bace0
DLPX-72065 Aborted iSCSI command never completes after LUN reset (#4)
pzakha Mar 8, 2021
2f7c5ee
DLPX-83442 Disable various kernel modules which we don't use (#13)
Nov 15, 2022
6ae64ca
DLPX-83697 iscsi target login should wait until tx/rx threads have pr…
pcd1193182 Nov 14, 2022
c910f6e
DLPX-83701 Make function mnt_add_count() traceable (#16)
Dec 9, 2022
f7d9bb6
DLPX-84608 Remove merge commit from linux-kernel-generic
jwk404 Feb 10, 2023
2b88ee5
DLPX-84907 CVE-2022-3628 (#21)
Mar 1, 2023
580a47c
DLPX-84985 target: iscsi: fix deadlock in the iSCSI login code (#22)
sdimitro Mar 7, 2023
a4506a5
DLPX-84906 Disable frame buffer drivers (#25)
sumedhbala-delphix May 9, 2023
c90e686
DLPX-86177 Azure Accelerated networking broken because Mellanox drive…
palash-gandhi May 23, 2023
1ae4baa
DLPX-86675 Disk quota exceeded when unpacking an upgrade image (#27)
Jun 27, 2023
e2abab9
DLPX-87344 Fix kernel merge conflict with upstream
Aug 15, 2023
acbf805
DLPX-87710 upgrade from 6.0.16.0 to 15.0.0.0 failed because disk quot…
palash-gandhi Sep 7, 2023
b19532a
DLPX-87970 Move Delphix annotations to linux-pkg to reduce merge conf…
palash-gandhi Sep 19, 2023
814eb15
DLPX-91889 scsi: target: iscsi: Handle abort for WRITE_PENDING cmds (…
pcd1193182 Aug 9, 2024
343074a
Reintroduce fix from DLPX-87344 to build only with amd64 annotations
palash-gandhi Oct 17, 2024
52c31c2
Extract PKG_ABI from mutated string
palash-gandhi Oct 17, 2024
436f4ae
Revert "DLPX-84985 target: iscsi: fix deadlock in the iSCSI login cod…
palash-gandhi Oct 23, 2024
aab3634
Enable EFI debug kernel build variable
tonynguien Mar 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -549,9 +549,6 @@ LINUXINCLUDE := \
-I$(objtree)/include \
$(USERINCLUDE)

# UBUNTU: Include our third party driver stuff too
LINUXINCLUDE += -I$(srctree)/ubuntu/include

KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE

KBUILD_CFLAGS :=
Expand Down Expand Up @@ -738,8 +735,11 @@ endif

ifeq ($(KBUILD_EXTMOD),)
# Objects we will link into vmlinux / subdirs we need to visit
core-y :=
drivers-y :=
core-y := init/ usr/ arch/$(SRCARCH)/
drivers-y := drivers/ sound/
drivers-$(CONFIG_SAMPLES) += samples/
drivers-$(CONFIG_NET) += net/
drivers-y += virt/
libs-y := lib/
endif # KBUILD_EXTMOD

Expand Down Expand Up @@ -1297,7 +1297,6 @@ headers: $(version_h) scripts_unifdef uapi-asm-generic archheaders archscripts
$(if $(filter um, $(SRCARCH)), $(error Headers not exportable for UML))
$(Q)$(MAKE) $(hdr-inst)=include/uapi
$(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi
$(Q)$(MAKE) $(hdr-inst)=ubuntu/include dst=include oldheaders=

ifdef CONFIG_HEADERS_INSTALL
prepare: headers
Expand Down
9 changes: 9 additions & 0 deletions debian.master/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
linux (6.8.0-47.47) noble; urgency=medium

* noble/linux: 6.8.0-47.47 -proposed tracker (LP: #2082118)

* CVE-2024-45016
- netem: fix return value if duplicate enqueue fails

-- Manuel Diewald <[email protected]> Fri, 27 Sep 2024 19:21:30 +0200

linux (6.8.0-45.45) noble; urgency=medium

* noble/linux: 6.8.0-45.45 -proposed tracker (LP: #2078100)
Expand Down
8 changes: 4 additions & 4 deletions debian.master/config/annotations
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Menu: HEADER
# FORMAT: 4
# ARCH: amd64 arm64 armhf ppc64el riscv64 s390x
# FLAVOUR: amd64-generic arm64-generic arm64-generic-64k armhf-generic ppc64el-generic riscv64-generic s390x-generic
# ARCH: amd64
# FLAVOUR: amd64-generic

CONFIG_ACCESSIBILITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}>
CONFIG_ACCESSIBILITY note<'LP: #1967702'>
Expand Down Expand Up @@ -3806,7 +3806,7 @@ CONFIG_DEBUG_CGROUP_REF policy<{'amd64': 'n', 'arm64': '
CONFIG_DEBUG_CLOSURES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}>
CONFIG_DEBUG_DEVRES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}>
CONFIG_DEBUG_DRIVER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}>
CONFIG_DEBUG_EFI policy<{'arm64': 'n'}>
CONFIG_DEBUG_EFI policy<{'amd64': 'y', 'arm64': 'n'}>
CONFIG_DEBUG_ENTRY policy<{'amd64': 'n', 's390x': 'n'}>
CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}>
CONFIG_DEBUG_FORCE_WEAK_PER_CPU policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}>
Expand Down Expand Up @@ -4758,7 +4758,7 @@ CONFIG_EFI_SECRET policy<{'amd64': 'm'}>
CONFIG_EFI_SOFT_RESERVE policy<{'amd64': 'y', 'arm64': 'y'}>
CONFIG_EFI_STUB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'riscv64': 'y'}>
CONFIG_EFI_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm'}>
CONFIG_EFI_VARS_PSTORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm'}>
CONFIG_EFI_VARS_PSTORE policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm'}>
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'riscv64': 'n'}>
CONFIG_EFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}>
CONFIG_EINT_MTK policy<{'arm64': 'y', 'armhf': 'y'}>
Expand Down
4 changes: 0 additions & 4 deletions debian.master/dkms-versions
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
zfs-linux 2.2.2-0ubuntu9 modulename=zfs debpath=pool/universe/z/%package%/zfs-dkms_%version%_all.deb arch=amd64 arch=arm64 arch=ppc64el arch=s390x rprovides=spl-modules rprovides=spl-dkms rprovides=zfs-modules rprovides=zfs-dkms
ipu6-drivers 0~git202406240945.aecec2aa-0ubuntu2~24.04.1 modulename=ipu6 debpath=pool/universe/i/%package%/intel-ipu6-dkms_%version%_amd64.deb arch=amd64 rprovides=ipu6-modules rprovides=intel-ipu6-dkms type=standalone
backport-iwlwifi-dkms 11510-0ubuntu1 modulename=iwlwifi debpath=pool/universe/b/%package%/backport-iwlwifi-dkms_%version%_all.deb arch=amd64 rprovides=iwlwifi-modules rprovides=backport-iwlwifi-dkms type=standalone
v4l2loopback 0.12.7-2ubuntu5 modulename=v4l2loopback debpath=pool/universe/v/%package%/v4l2loopback-dkms_%version%_all.deb arch=amd64 rprovides=v4l2loopback-modules rprovides=v4l2loopback-dkms
usbio-drivers 0~git202312141918.78ffb706-0ubuntu2.1 modulename=usbio debpath=pool/universe/u/%package%/intel-usbio-dkms_%version%_amd64.deb arch=amd64 rprovides=usbio-modules rprovides=intel-usbio-dkms type=standalone
2 changes: 1 addition & 1 deletion debian.master/tracking-bug
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2078100 s2024.08.05-1
2082118 s2024.09.02-1
2 changes: 1 addition & 1 deletion debian/rules.d/0-common-vars.mk
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ kmake = make ARCH=$(build_arch) \
KERNELRELEASE=$(abi_release)-$(target_flavour) \
CONFIG_DEBUG_SECTION_MISMATCH=y \
KBUILD_BUILD_VERSION="$(uploadnum)" \
CFLAGS_MODULE="-DPKG_ABI=$(abinum)" \
CFLAGS_MODULE='-DPKG_ABI=\"$(abinum)\"' \
PYTHON=$(PYTHON)
ifneq ($(LOCAL_ENV_CC),)
kmake += CC="$(LOCAL_ENV_CC)" DISTCC_HOSTS="$(LOCAL_ENV_DISTCC_HOSTS)"
Expand Down
2 changes: 1 addition & 1 deletion debian/rules.d/2-binary-arch.mk
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ shlibdeps_opts = $(if $(CROSS_COMPILE),-- -l$(CROSS_COMPILE:%-=/usr/%)/lib)
debian/scripts/fix-filenames: debian/scripts/fix-filenames.c
$(HOSTCC) $^ -o $@

$(stampdir)/stamp-prepare-%: config-prepare-check-%
$(stampdir)/stamp-prepare-%: $(stampdir)/stamp-prepare-tree-%
@echo Debug: $@
$(stamp)

Expand Down
Empty file added delphix
Empty file.
2 changes: 2 additions & 0 deletions drivers/target/iscsi/iscsi_target.c
Original file line number Diff line number Diff line change
Expand Up @@ -3922,6 +3922,7 @@ int iscsi_target_tx_thread(void *arg)
* connection recovery / failure event can be triggered externally.
*/
allow_signal(SIGINT);
complete(&conn->kthr_start_comp);

while (!kthread_should_stop()) {
/*
Expand Down Expand Up @@ -4170,6 +4171,7 @@ int iscsi_target_rx_thread(void *arg)
* connection recovery / failure event can be triggered externally.
*/
allow_signal(SIGINT);
complete(&conn->kthr_start_comp);
/*
* Wait for iscsi_post_login_handler() to complete before allowing
* incoming iscsi/tcp socket I/O, and/or failing the connection.
Expand Down
23 changes: 19 additions & 4 deletions drivers/target/iscsi/iscsi_target_erl1.c
Original file line number Diff line number Diff line change
Expand Up @@ -1102,6 +1102,18 @@ void iscsit_handle_dataout_timeout(struct timer_list *t)

iscsit_inc_conn_usage_count(conn);

/*
* If the command was aborted, for instance following a LUN RESET,
* a dataout timeout might be normal.
*/
if (target_cmd_interrupted(&cmd->se_cmd)) {
pr_debug("DataOut timeout on interrupted cmd with"
" ITT[0x%08llx]\n", cmd->se_cmd.tag);
cmd->dataout_timer_flags &= ~ISCSI_TF_RUNNING;
iscsit_dec_conn_usage_count(conn);
return;
}

spin_lock_bh(&cmd->dataout_timeout_lock);
if (cmd->dataout_timer_flags & ISCSI_TF_STOP) {
spin_unlock_bh(&cmd->dataout_timeout_lock);
Expand All @@ -1115,19 +1127,22 @@ void iscsit_handle_dataout_timeout(struct timer_list *t)
if (!sess->sess_ops->ErrorRecoveryLevel) {
pr_err("Unable to recover from DataOut timeout while"
" in ERL=0, closing iSCSI connection for I_T Nexus"
" %s,i,0x%6phN,%s,t,0x%02x\n",
" %s,i,0x%6phN,%s,t,0x%02x, cmd ITT[0x%08llx]\n",
sess->sess_ops->InitiatorName, sess->isid,
sess->tpg->tpg_tiqn->tiqn, (u32)sess->tpg->tpgt);
sess->tpg->tpg_tiqn->tiqn, (u32)sess->tpg->tpgt,
cmd->se_cmd.tag);
goto failure;
}

if (++cmd->dataout_timeout_retries == na->dataout_timeout_retries) {
pr_err("Command ITT: 0x%08x exceeded max retries"
" for DataOUT timeout %u, closing iSCSI connection for"
" I_T Nexus %s,i,0x%6phN,%s,t,0x%02x\n",
" I_T Nexus %s,i,0x%6phN,%s,t,0x%02x,"
" cmd ITT[0x%08llx]\n",
cmd->init_task_tag, na->dataout_timeout_retries,
sess->sess_ops->InitiatorName, sess->isid,
sess->tpg->tpg_tiqn->tiqn, (u32)sess->tpg->tpgt);
sess->tpg->tpg_tiqn->tiqn, (u32)sess->tpg->tpgt,
cmd->se_cmd.tag);
goto failure;
}

Expand Down
5 changes: 4 additions & 1 deletion drivers/target/iscsi/iscsi_target_login.c
Original file line number Diff line number Diff line change
Expand Up @@ -660,6 +660,7 @@ int iscsit_start_kthreads(struct iscsit_conn *conn)
ret = PTR_ERR(conn->tx_thread);
goto out_bitmap;
}
wait_for_completion(&conn->kthr_start_comp);
conn->tx_thread_active = true;

conn->rx_thread = kthread_run(iscsi_target_rx_thread, conn,
Expand All @@ -669,6 +670,7 @@ int iscsit_start_kthreads(struct iscsit_conn *conn)
ret = PTR_ERR(conn->rx_thread);
goto out_tx;
}
wait_for_completion(&conn->kthr_start_comp);
conn->rx_thread_active = true;

return 0;
Expand Down Expand Up @@ -1064,6 +1066,7 @@ static struct iscsit_conn *iscsit_alloc_conn(struct iscsi_np *np)
init_completion(&conn->rx_half_close_comp);
init_completion(&conn->tx_half_close_comp);
init_completion(&conn->rx_login_comp);
init_completion(&conn->kthr_start_comp);
spin_lock_init(&conn->cmd_lock);
spin_lock_init(&conn->conn_usage_lock);
spin_lock_init(&conn->immed_queue_lock);
Expand Down Expand Up @@ -1132,7 +1135,7 @@ void iscsi_target_login_sess_out(struct iscsit_conn *conn,
if (!new_sess)
goto old_sess_out;

pr_err("iSCSI Login negotiation failed.\n");
pr_debug("iSCSI Login negotiation failed.\n");
iscsit_collect_login_stats(conn, ISCSI_STATUS_CLS_INITIATOR_ERR,
ISCSI_LOGIN_STATUS_INIT_ERR);
if (!zero_tsih || !conn->sess)
Expand Down
2 changes: 1 addition & 1 deletion drivers/target/iscsi/iscsi_target_nego.c
Original file line number Diff line number Diff line change
Expand Up @@ -1234,7 +1234,7 @@ int iscsi_target_locate_portal(
*/
tiqn = iscsit_get_tiqn_for_login(t_buf);
if (!tiqn) {
pr_err("Unable to locate Target IQN: %s in"
pr_debug("Unable to locate Target IQN: %s in"
" Storage Node\n", t_buf);
iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR,
ISCSI_LOGIN_STATUS_SVC_UNAVAILABLE);
Expand Down
3 changes: 2 additions & 1 deletion drivers/target/target_core_transport.c
Original file line number Diff line number Diff line change
Expand Up @@ -882,7 +882,7 @@ static void target_abort_work(struct work_struct *work)
target_handle_abort(cmd);
}

static bool target_cmd_interrupted(struct se_cmd *cmd)
bool target_cmd_interrupted(struct se_cmd *cmd)
{
int post_ret;

Expand All @@ -901,6 +901,7 @@ static bool target_cmd_interrupted(struct se_cmd *cmd)

return false;
}
EXPORT_SYMBOL(target_cmd_interrupted);

/* May be called from interrupt context so must not sleep. */
void target_complete_cmd_with_sense(struct se_cmd *cmd, u8 scsi_status,
Expand Down
5 changes: 3 additions & 2 deletions fs/namespace.c
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ void mnt_release_group_id(struct mount *mnt)
/*
* vfsmount lock must be held for read
*/
static inline void mnt_add_count(struct mount *mnt, int n)
static noinline __noclone void mnt_add_count(struct mount *mnt, int n)
{
#ifdef CONFIG_SMP
this_cpu_add(mnt->mnt_pcp->mnt_count, n);
Expand Down Expand Up @@ -1704,7 +1704,8 @@ static int do_umount_root(struct super_block *sb)
return ret;
}

static int do_umount(struct mount *mnt, int flags)
/* force a bpftrace dynamic function probe here */
static noinline __noclone int do_umount(struct mount *mnt, int flags)
{
struct super_block *sb = mnt->mnt.mnt_sb;
int retval;
Expand Down
13 changes: 11 additions & 2 deletions include/asm-generic/mshyperv.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#ifndef _ASM_GENERIC_MSHYPERV_H
#define _ASM_GENERIC_MSHYPERV_H

#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/atomic.h>
#include <linux/bitops.h>
Expand Down Expand Up @@ -120,7 +121,7 @@ static inline u64 hv_do_rep_hypercall(u16 code, u16 rep_count, u16 varhead_size,
* Preserve the ability to 'make deb-pkg' since PKG_ABI is provided
* by the Ubuntu build rules.
*/
#define PKG_ABI 0
#define PKG_ABI "0"
#endif

/* Generate the guest OS identifier as described in the Hyper-V TLFS */
Expand All @@ -130,7 +131,15 @@ static inline u64 hv_generate_guest_id(u64 kernel_version)

guest_id = (((u64)HV_LINUX_VENDOR_ID) << 48);
guest_id |= (kernel_version << 16);
guest_id |= PKG_ABI;
/*
* Delphix mutates the ABI number by appending a date and the commit hash. Strip it.
*/
char *token;
char *pkg_abi_str = PKG_ABI;
token = strsep(&pkg_abi_str, "-");
unsigned long abi_number = simple_strtoul(token, NULL, 10);
guest_id |= (abi_number << 8);


return guest_id;
}
Expand Down
1 change: 1 addition & 0 deletions include/target/iscsi/iscsi_target_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -550,6 +550,7 @@ struct iscsit_conn {
struct completion conn_logout_comp;
struct completion tx_half_close_comp;
struct completion rx_half_close_comp;
struct completion kthr_start_comp;
/* socket used by this connection */
struct socket *sock;
void (*orig_data_ready)(struct sock *);
Expand Down
1 change: 1 addition & 0 deletions include/target/target_core_fabric.h
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@ sense_reason_t transport_generic_new_cmd(struct se_cmd *);

void target_put_cmd_and_wait(struct se_cmd *cmd);
void target_execute_cmd(struct se_cmd *cmd);
bool target_cmd_interrupted(struct se_cmd *cmd);

int transport_generic_free_cmd(struct se_cmd *, int);

Expand Down
40 changes: 5 additions & 35 deletions include/uapi/linux/netfilter/xt_connmark.h
Original file line number Diff line number Diff line change
@@ -1,37 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
/* Copyright (C) 2002,2004 MARA Systems AB <https://www.marasystems.com>
* by Henrik Nordstrom <[email protected]>
*/
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _XT_CONNMARK_H_target
#define _XT_CONNMARK_H_target

#ifndef _XT_CONNMARK_H
#define _XT_CONNMARK_H
#include <linux/netfilter/xt_connmark.h>

#include <linux/types.h>

enum {
XT_CONNMARK_SET = 0,
XT_CONNMARK_SAVE,
XT_CONNMARK_RESTORE
};

enum {
D_SHIFT_LEFT = 0,
D_SHIFT_RIGHT,
};

struct xt_connmark_tginfo1 {
__u32 ctmark, ctmask, nfmask;
__u8 mode;
};

struct xt_connmark_tginfo2 {
__u32 ctmark, ctmask, nfmask;
__u8 shift_dir, shift_bits, mode;
};

struct xt_connmark_mtinfo1 {
__u32 mark, mask;
__u8 invert;
};

#endif /*_XT_CONNMARK_H*/
#endif /*_XT_CONNMARK_H_target*/
Loading