Skip to content

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

Open
Komal Bajaj (Komal-Bajaj) wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
Komal-Bajaj:disable-kaslr
Open

QCLINUX: kernel: configs: debug: Disable KASLR for debug builds#899
Komal Bajaj (Komal-Bajaj) wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
Komal-Bajaj:disable-kaslr

Conversation

@Komal-Bajaj

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

Copy link
Copy Markdown
Contributor

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>
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qlijarvis

Copy link
Copy Markdown

PR #899 — validate-patch

PR: #899

Verdict Issues Detailed Report
0 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: #899 - QCLINUX: kernel: configs: debug: Disable KASLR for debug builds
Upstream commit: N/A (vendor-only commit)
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream N/A QCLINUX: vendor-only commit
Body preserves rationale Clear explanation of KASLR trade-off for debug builds
Fixes tag present/correct N/A Not a fix; new configuration change
Authorship preserved Proper author and Signed-off-by
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
kernel/configs/debug.config Single line addition disabling CONFIG_RANDOMIZE_BASE

Issues

None. This is a well-formed vendor-only commit with clear rationale for disabling KASLR in debug configurations.

Verdict

Merge as-is. This is a legitimate vendor-only configuration change with proper justification. The commit message clearly explains the security vs. debuggability trade-off and correctly scopes the change to debug.config only.

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: Not checked — QCLINUX: vendor-only commit (integration_presence_report shows missing, which is expected for new vendor changes)

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 #899 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch No style issues
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check ⏭️ No C/H file changes
check-uapi-headers ⏭️ No UAPI-relevant changes
check-patch-compliance QCLINUX: prefix not in allowed list
tag-check Valid subject prefix present

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #899 — QCLINUX: kernel: configs: debug: Disable KASLR for debug builds
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30900385592
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch No style issues
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check ⏭️ No C/H file changes
check-uapi-headers ⏭️ No UAPI-relevant changes
check-patch-compliance QCLINUX: prefix not in allowed list
tag-check Valid subject prefix present

❌ check-patch-compliance

Root cause: The commit uses the QCLINUX: subject prefix, which is not in the checker's allowed list (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:).

Failure details:

Checking commit: QCLINUX: kernel: configs: debug: Disable KASLR for debug builds
Commit summary does not start with a required prefix

Analysis:

This is a known limitation of the check-patch-compliance checker. The checker enforces a strict subset of upstream-linkable prefixes and does not accept vendor-internal prefixes like QCLINUX: or PENDING:.

From the skill reference (Section 7):

Note on QCLINUX: and PENDING:: These are vendor-internal prefixes used in the tree but not accepted by check-patch-compliance. If a commit is vendor-only with no upstream equivalent, the checker will always fail for it. This is a known limitation — the checker enforces upstream-linkable prefixes only.

Why this commit uses QCLINUX::

This is a vendor-specific configuration change to kernel/configs/debug.config that disables KASLR for debug builds. It is not an upstream patch and has no corresponding lore.kernel.org link, making it appropriate for the QCLINUX: prefix.

Fix options:

  1. Accept the failure (recommended) — This is a vendor-only config change with no upstream equivalent. The QCLINUX: prefix is correct for this use case. The checker limitation is documented and expected.

  2. Change to PENDING: prefix — Would still fail check-patch-compliance (same limitation).

  3. Remove the prefix entirely — Would violate the tag-check requirement for branch qcom-6.18.y.

Reproduce locally:

cd /path/to/kernel
git log --oneline -1 2ae190fdeefc6325f3c4715f5c5749996993eb68
# Verify subject starts with QCLINUX:

Verdict

Ready to merge with known checker limitation.

The check-patch-compliance failure is a false positive caused by a known checker limitation with vendor-internal prefixes. The commit:

  • ✅ Passes checkpatch (no style issues)
  • ✅ Passes tag-check (valid QCLINUX: prefix for non-qcom-next branches)
  • ✅ Is correctly prefixed for a vendor-only configuration change
  • ✅ Has no code quality issues

All other checkers skipped appropriately (config-only change). The failure can be safely ignored as it reflects the checker's design constraint, not a patch defect.

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk-multimedia lemans-evk-multimedia monaco-evk-multimedia qcs615-ride-multimedia qcs6490-rb3gen2-multimedia qcs8300-ride-multimedia qcs9100-ride-r3-multimedia shikra-iqs-evk-multimedia
Audio_Card_Registration ✅ Pass ◻️ ✅ Pass ⚠️ skip ✅ Pass ◻️ ⚠️ skip ◻️
BT_FW_KMD_Service ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
BT_ON_OFF ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
BT_SCAN ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
CPUFreq_Validation ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
CPU_affinity ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
DSP_AudioPD ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
Ethernet ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ⚠️ skip ◻️
Freq_Scaling ✅ Pass ◻️ ✅ Pass ✅ Pass ❌ Fail ◻️ ✅ Pass ◻️
GIC ✅ Pass ◻️ ✅ Pass ✅ Pass ❌ Fail ◻️ ✅ Pass ◻️
IPA ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
Interrupts ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
OpenCV ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
PCIe ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
Probe_Failure_Check ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail ◻️
RMNET ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
UFS_Validation ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
USBHost ✅ Pass ◻️ ✅ Pass ❌ Fail ❌ Fail ◻️ ❌ Fail ◻️
WiFi_Firmware_Driver ❌ Fail ◻️ ❌ Fail ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
WiFi_OnOff ❌ Fail ◻️ ❌ Fail ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
adsp_remoteproc ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
cdsp_remoteproc ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
gpdsp_remoteproc ⚠️ skip ◻️ ✅ Pass ⚠️ skip ⚠️ skip ◻️ ✅ Pass ◻️
hotplug ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
irq ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
kaslr ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
pinctrl ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
qcom_hwrng ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
remoteproc ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
rngtest ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
shmbridge ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
smmu ❌ Fail ◻️ ✅ Pass ❌ Fail ✅ Pass ◻️ ❌ Fail ◻️
watchdog ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
wpss_remoteproc ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk-multimedia lemans-evk-multimedia monaco-evk-multimedia qcs615-ride-multimedia qcs6490-rb3gen2-multimedia qcs8300-ride-multimedia qcs9100-ride-r3-multimedia shikra-iqs-evk-multimedia
Audio_Card_Registration ✅ Pass ◻️ ✅ Pass ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ◻️
BT_FW_KMD_Service ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
BT_ON_OFF ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
BT_SCAN ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPUFreq_Validation ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPU_affinity ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
DSP_AudioPD ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Ethernet ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️
Freq_Scaling ✅ Pass ◻️ ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️
GIC ✅ Pass ◻️ ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️
IPA ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Interrupts ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
OpenCV ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
PCIe ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Probe_Failure_Check ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
RMNET ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
UFS_Validation ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
USBHost ✅ Pass ◻️ ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
WiFi_Firmware_Driver ❌ Fail ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
WiFi_OnOff ❌ Fail ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
adsp_remoteproc ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
cdsp_remoteproc ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
gpdsp_remoteproc ⚠️ skip ◻️ ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ◻️
hotplug ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
irq ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
kaslr ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
pinctrl ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
qcom_hwrng ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
remoteproc ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
rngtest ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
shmbridge ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
smmu ❌ Fail ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail ◻️
watchdog ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
wpss_remoteproc ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️

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.

4 participants