Skip to content

Commit c44b51f

Browse files
committed
CI: Fix fatal objtool revert for LTS and stable kernels.
Follow on maintenance to commit 4a9d705, since Sangoma still hasn't gotten its act together.
1 parent 9cab9de commit c44b51f

2 files changed

Lines changed: 46 additions & 14 deletions

File tree

.github/workflows/main.yml

Lines changed: 44 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ jobs:
3030
'linux-6.8.y',
3131
'linux-6.9.y',
3232
'linux-6.10.y',
33-
'linux-6.11.y',
34-
'linux-rolling-lts'
33+
'linux-6.11.y'
3534
]
3635
steps:
3736
- name: Install packages
@@ -79,13 +78,13 @@ jobs:
7978
run: |
8079
cd /usr/src
8180
git clone --depth 1 --branch ${{matrix.kernel_branch}} git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
82-
# We download the objtool patch from GitLab instead of GitHub, to avoid its stupid and unpredictable rate limits in the CI
81+
- name: Checkout
82+
uses: actions/checkout@v4
8383
- name: Revert objtool patch
8484
run: |
8585
cd /usr/src/linux
86-
curl -f -o "/tmp/objtool.patch" "https://gitlab.com/linux-kernel/linux-next/-/commit/0b10177114d1e434af850b377cf5e6620dd1d525.patch"
87-
cat /tmp/objtool.patch
88-
patch -u -b -p 1 --reverse -i /tmp/objtool.patch
86+
# Alternates needed for 6.15
87+
git apply $GITHUB_WORKSPACE/patches/objtool_check_nonfatal.diff || patch -u -b tools/objtool/check.c -i /tmp/objtool_check_nonfatal.diff || echo "Partial patch failure"
8988
- name: Build kernel
9089
run: |
9190
cd /usr/src/linux
@@ -94,10 +93,49 @@ jobs:
9493
make -j$(nproc) modules_prepare
9594
make -j$(nproc)
9695
make -j$(nproc) modules
96+
- name: Build DAHDI
97+
run: |
98+
cd $GITHUB_WORKSPACE
99+
./phreaknet.sh make
100+
# --disable-vpmadt032 needed for 6.15
101+
GIT_REPO_PATH=${GITHUB_WORKSPACE} KSRC=/usr/src/linux phreaknet dahdi --drivers --disable-vpmadt032
102+
dahdi-nonfatal-lts:
103+
runs-on: ubuntu-24.04
104+
name: DAHDI, nonfatal, LTS kernel
105+
container: debian:13
106+
strategy:
107+
fail-fast: false
108+
matrix:
109+
kernel_branch: [
110+
'linux-rolling-lts'
111+
]
112+
steps:
113+
- name: Install packages
114+
run: |
115+
apt-get -y update
116+
apt-get -y upgrade
117+
apt-get -y install git gcc make perl-modules flex bison wget libssl-dev libelf-dev bc curl
118+
- name: Clone kernel
119+
run: |
120+
cd /usr/src
121+
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
97122
- name: Checkout
98123
uses: actions/checkout@v4
124+
- name: Revert objtool patch
125+
run: |
126+
cd /usr/src/linux
127+
git apply $GITHUB_WORKSPACE/patches/objtool_check_nonfatal.diff
128+
- name: Build kernel
129+
run: |
130+
cd /usr/src/linux
131+
make -j$(nproc) kernelversion
132+
make -j$(nproc) x86_64_defconfig
133+
make -j$(nproc) modules_prepare
134+
make -j$(nproc)
135+
make -j$(nproc) modules
99136
- name: Build DAHDI
100137
run: |
138+
cd $GITHUB_WORKSPACE
101139
./phreaknet.sh make
102140
GIT_REPO_PATH=${GITHUB_WORKSPACE} KSRC=/usr/src/linux phreaknet dahdi --drivers
103141
dahdi-nonfatal-mainline:

patches/objtool_check_nonfatal.diff

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,14 @@ diff --git a/tools/objtool/check.c b/tools/objtool/check.c
22
index 3f7999317..4b6c8665a 100644
33
--- a/tools/objtool/check.c
44
+++ b/tools/objtool/check.c
5-
@@ -5069,9 +5069,6 @@ int check(struct objtool_file *file)
6-
7-
out:
8-
if (ret || warnings) {
5+
@@ -5069,6 +5069,3 @@ int check(struct objtool_file *file)
96
- if (opts.werror && warnings)
107
- ret = 1;
118
-
129
if (opts.verbose) {
1310
if (opts.werror && warnings)
1411
WARN("%d warning(s) upgraded to errors", warnings);
15-
@@ -5095,5 +5092,5 @@ int check(struct objtool_file *file)
16-
if (opts.backup && make_backup())
17-
return 1;
18-
12+
@@ -5095,2 +5092,2 @@ int check(struct objtool_file *file)
1913
- return ret;
2014
+ return opts.werror ? 1 : 0;
2115
}

0 commit comments

Comments
 (0)