Skip to content

QCLINUX: kernel: configs: debug: Disable KASLR for debug builds - #1637

Open
Komal Bajaj (Komal-Bajaj) wants to merge 1 commit into
qualcomm-linux:tech/all/configfrom
Komal-Bajaj:disable-kaslr
Open

QCLINUX: kernel: configs: debug: Disable KASLR for debug builds#1637
Komal Bajaj (Komal-Bajaj) wants to merge 1 commit into
qualcomm-linux:tech/all/configfrom
Komal-Bajaj:disable-kaslr

Conversation

@Komal-Bajaj

@Komal-Bajaj Komal Bajaj (Komal-Bajaj) commented Aug 4, 2026

Copy link
Copy Markdown

KASLR randomizes the kernel load address at boot to mitigate address leak exploits. While essential for production, it hinders debugging: breakpoints become unreliable, crash dump analysis is harder, and stack trace symbolication requires a fixed base address. Thus, disable CONFIG_RANDOMIZE_BASE in debug.config only.

CRs-Fixed: 4632940

KASLR randomizes the kernel load address at boot to mitigate address
leak exploits. While essential for production, it hinders debugging:
breakpoints become unreliable, crash dump analysis is harder, and
stack trace symbolication requires a fixed base address. Thus, disable
CONFIG_RANDOMIZE_BASE in debug.config only.

Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
@qcomlnxci
qcomlnxci requested review from a team, aiquny, knaveen-qc and Ricardo Salveti (ricardosalveti) and removed request for a team August 4, 2026 10:18
@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1637

PR: #1637
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/30900087345

# Error File:Line PR-introduced? Root Cause
1 Merge conflict during automerge kernel/configs/debug.config Yes PR adds # CONFIG_RANDOMIZE_BASE is not set at line 181, which conflicts with concurrent changes to the same region of debug.config in the baseline or another topic branch

Verdict

This is a merge conflict, not a compilation error. The PR-introduced change conflicts with the integration baseline during automerge. The build never reached compilation.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1637

PR: #1637
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/30900087345

# Error File:Line PR-introduced? Root Cause
1 Merge conflict during automerge kernel/configs/debug.config Yes PR adds # CONFIG_RANDOMIZE_BASE is not set at line 181, but the baseline branch has diverged in the same region, causing a content conflict during topic branch integration

Verdict

This is a merge conflict, not a compilation error. The PR introduces a change that conflicts with the current baseline state of kernel/configs/debug.config.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #1637 — validate-patch

PR: #1637

Verdict Issues Detailed Report
⚠️ 1 Full report

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next/topics: Fail - 1/1 commit(s) are missing from both qcom-next and topics
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #1637 - QCLINUX: kernel: configs: debug: Disable KASLR for debug builds
Upstream commit: N/A (vendor-only commit)
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream N/A Vendor-only commit; no upstream source
Body preserves rationale Clear explanation of why KASLR is disabled for debug builds
Fixes tag present/correct N/A Not a fix; configuration change
Authorship preserved Author: Komal Bajaj; Signed-off-by present
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
kernel/configs/debug.config Single line addition disabling CONFIG_RANDOMIZE_BASE; correctly placed alphabetically after CONFIG_PSTORE_PMSG

Issues

  • Integration presence: Commit is missing from both qcom-next and topics branches. For a QCLINUX vendor-only commit being submitted via PR, it should typically be present in at least one of these integration branches before merge. This may indicate the commit is genuinely new, or it may need to be integrated into qcom-next first.

Verdict

The commit message is well-structured with clear rationale for disabling KASLR in debug builds. The diff is minimal and correctly formatted. However, the commit is not present in qcom-next or topics, which is unusual for a PR submission. Verify whether this is intentional (new change) or whether it should be integrated into qcom-next first before merging via PR.

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next/topics: Fail — 1/1 commit(s) are missing from both qcom-next and topics (per integration_presence_report.md)

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: 8d5dbc1b17adf8fe86a41adcda686785e73f5414
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] QCLINUX: kernel: configs: debug: Disable KASLR for debug missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing

Final Status

overall_status: FAIL
present_commits: 0/1
partial_commits: 0/1
missing_commits: 1/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Fail - 1/1 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #1637 — checker-log-analyzer

PR: #1637
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/30900088954

Checker Result Summary
Checker Result Summary
checkpatch Merge conflict - checker did not run
dt-binding-check Merge conflict - checker did not run
dtb-check Merge conflict - checker did not run
sparse-check Merge conflict - checker did not run
check-uapi-headers Merge conflict - checker did not run
check-patch-compliance Merge conflict - checker did not run
tag-check ⏭️ N/A - target branch is qcom-next (prefix check skipped)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1637 - QCLINUX: kernel: configs: debug: Disable KASLR for debug builds
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30900088954
Target branch: qcom-next

Checker Result Summary
checkpatch Merge conflict - checker did not run
dt-binding-check Merge conflict - checker did not run
dtb-check Merge conflict - checker did not run
sparse-check Merge conflict - checker did not run
check-uapi-headers Merge conflict - checker did not run
check-patch-compliance Merge conflict - checker did not run
tag-check ⏭️ N/A - target branch is qcom-next (prefix check skipped)

❌ All Checkers — Merge Conflict

Root cause: The PR cannot be automatically merged into the qcom-next baseline due to a merge conflict in kernel/configs/debug.config.

Failure details:

Auto-merging arch/arm64/configs/defconfig
Auto-merging kernel/configs/debug.config
CONFLICT (content): Merge conflict in kernel/configs/debug.config
Automatic merge failed; fix conflicts and then commit the result.
Normal merge conflict for 'kernel/configs/debug.config':
  {local}: modified file
  {remote}: modified file

Analysis:

The CI workflow uses an automerge step to integrate the PR branch with the baseline (qcom-next). This merge failed because:

  1. The PR adds # CONFIG_RANDOMIZE_BASE is not set to kernel/configs/debug.config at line 181 (after CONFIG_PSTORE_PMSG=y)
  2. The baseline qcom-next branch has conflicting changes in the same region of kernel/configs/debug.config
  3. Git cannot automatically resolve which version to keep

This is not a code quality issue — the checkers never ran because the merge step failed first. The PR itself may be perfectly valid, but it needs to be rebased onto the current qcom-next tip to resolve the conflict.

Fix:

# 1. Fetch the latest qcom-next
git fetch origin qcom-next

# 2. Rebase your PR branch onto qcom-next
git checkout <your-pr-branch>
git rebase origin/qcom-next

# 3. Resolve the conflict in kernel/configs/debug.config
#    - Open the file and look for conflict markers (<<<<<<, ======, >>>>>>)
#    - Decide which lines to keep from both versions
#    - Ensure CONFIG_RANDOMIZE_BASE is disabled as intended
#    - Remove conflict markers

# 4. Stage the resolved file
git add kernel/configs/debug.config

# 5. Continue the rebase
git rebase --continue

# 6. Force-push the rebased branch
git push --force-with-lease

Reproduce locally:

git clone https://github.com/qualcomm-linux/kernel-topics.git
cd kernel-topics
git fetch origin pull/1637/head:pr-1637
git checkout pr-1637
git fetch origin qcom-next
git merge origin/qcom-next
# You will see the same merge conflict

Additional notes:

  • Subject prefix check: The commit uses QCLINUX: prefix, which is appropriate for vendor-only changes. Since the target branch is qcom-next, the mandatory subject-prefix check (tag-check) does not apply — it only applies to branches other than qcom-next and qcom-next-staging.

  • No code quality issues detected: The patch itself is a simple one-line config change with a clear commit message and proper sign-off. Once the merge conflict is resolved, the checkers should pass cleanly (assuming no other issues in the baseline).


Verdict

Cannot merge — merge conflict must be resolved first.

The PR needs to be rebased onto the current qcom-next tip to resolve the conflict in kernel/configs/debug.config. Once rebased and force-pushed, the CI will re-run and the checkers will execute. No code quality issues are apparent from the patch itself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants