Skip to content

Update raw.h#43

Open
ayukum-hyd wants to merge 1 commit into
mainfrom
ayukum-hyd-patch-7
Open

Update raw.h#43
ayukum-hyd wants to merge 1 commit into
mainfrom
ayukum-hyd-patch-7

Conversation

@ayukum-hyd
Copy link
Copy Markdown
Collaborator

No description provided.

Signed-off-by: ayukum-hyd <ayukum@qti.qualcomm.com>
@rahujosh
Copy link
Copy Markdown

PR #43 — validate-patch

PR: #43

Verdict Issues Detailed Report
0 Full report
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #43 — "Update raw.h" (qualcomm-linux-stg/kernel)
Upstream commit: N/A — no upstream commit referenced; network unavailable to confirm independently
Verdict: ❌ FAIL


Commit Message

Check Status Note
Subject matches upstream "Update raw.h" is a generic, non-descriptive subject. Upstream kernel convention requires a subsystem prefix and a meaningful verb phrase, e.g. can: raw: remove struct can_raw_vcid_options from UAPI header
Body preserves rationale Commit body is completely absent. There is no explanation of why struct can_raw_vcid_options is being deleted — a UAPI struct removal is a breaking ABI change and demands a detailed rationale
Fixes tag present/correct No Fixes: tag. If this reverts or corrects a prior commit, the tag is mandatory. If it is a deliberate UAPI cleanup, that must be stated explicitly
Authorship preserved ⚠️ Author is ayukum-hyd <ayukum@qti.qualcomm.com> — a Qualcomm-internal alias (-hyd suffix). If this is a backport or cherry-pick of an upstream commit, the original upstream author must be preserved and the porter listed as a separate Signed-off-by. If this is an original Qualcomm-only change, the real name (not a machine/alias name) should be used per kernel convention
Backport note (if applicable) No [ Upstream commit <sha> ] note. If this tracks an upstream change, the upstream SHA must be cited. If it is a vendor-only change, that must be explicitly stated in the body

Diff

File Status Notes
include/uapi/linux/can/raw.h Deletes struct can_raw_vcid_options — a UAPI struct — with no replacement and no migration path. This is a hard ABI break: any userspace program using CAN_RAW_XL_VCID_OPTS setsockopt with this struct will silently break. The #define flags (CAN_RAW_XL_VCID_TX_SET, CAN_RAW_XL_VCID_TX_PASS, CAN_RAW_XL_VCID_RX_FILTER) that reference the struct's fields are left in place, making the header internally inconsistent — the macros describe fields of a struct that no longer exists

Issues

  1. UAPI ABI breakage (critical): struct can_raw_vcid_options is a UAPI type used by userspace via setsockopt(CAN_RAW_XL_VCID_OPTS). Removing it without a deprecation path or replacement struct violates the Linux kernel's UAPI stability guarantee. Upstream would never accept this without a very strong justification and a replacement type.

  2. Internally inconsistent header after patch: The three #define CAN_RAW_XL_VCID_* macros (lines immediately following the deletion) describe bit-flags for can_raw_vcid_options.flags. After this patch the macros are orphaned — they reference a concept (vcid_options) whose struct definition no longer exists in the header.

  3. Subject line is non-conformant: "Update raw.h" violates Documentation/process/submitting-patches.rst. The subject must follow subsystem: component: short imperative description format.

  4. Empty commit body: For any UAPI change — especially a deletion — the commit body must explain the motivation, reference the upstream commit or RFC that drove the change, and describe the impact on existing users.

  5. Author identity: ayukum-hyd is a machine/alias name. Kernel convention requires a real human name (First Last <email>). The -hyd location suffix is non-standard.

  6. No upstream traceability: There is no upstream SHA, lore.kernel.org link, or Fixes: tag. It is impossible to verify whether this deletion is faithful to any upstream change.


Verdict

Reject. This patch deletes a UAPI struct (can_raw_vcid_options) without rationale, replacement, or upstream traceability, leaving the header internally inconsistent; the commit message is also non-conformant in subject, body, and authorship — all must be corrected before this can be considered for merge.

@rahujosh
Copy link
Copy Markdown

PR #43 — checker-log-analyzer

PR: #43
Checker run: https://github.com/qualcomm-linux-stg/kernel-config-test/actions/runs/23137245195

Checker Result Summary
Checker Result Summary
checkpatch ⏭️ N/A Never reached — pipeline aborted before checker ran
dt-binding-check ⏭️ N/A Never reached — pipeline aborted before checker ran
dtb-check ⏭️ N/A Never reached — pipeline aborted before checker ran
sparse-check ⏭️ N/A Never reached — pipeline aborted before checker ran
check-uapi-headers ❌ FAIL CI infrastructure failure: PAT secret is empty; git clone kernel-checkers fails with auth error (exit 128)
check-patch-compliance ⏭️ N/A Never reached — pipeline aborted before checker ran
tag-check N/A Not evaluated — pipeline did not reach this step
qcom-next-check ⏭️ N/A Not evaluated — pipeline did not reach this step

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #43 — "Update raw.h" (ayukum-hyd) — removes struct can_raw_vcid_options from include/uapi/linux/can/raw.h
Source: https://github.com/qualcomm-linux-stg/kernel-config-test/actions/runs/23137245195

Checker Result Summary
checkpatch ⏭️ N/A Never reached — pipeline aborted before checker ran
dt-binding-check ⏭️ N/A Never reached — pipeline aborted before checker ran
dtb-check ⏭️ N/A Never reached — pipeline aborted before checker ran
sparse-check ⏭️ N/A Never reached — pipeline aborted before checker ran
check-uapi-headers ❌ FAIL CI infrastructure failure: PAT secret is empty; git clone kernel-checkers fails with auth error (exit 128)
check-patch-compliance ⏭️ N/A Never reached — pipeline aborted before checker ran
tag-check N/A Not evaluated — pipeline did not reach this step
qcom-next-check ⏭️ N/A Not evaluated — pipeline did not reach this step

❌ check-uapi-headers

Root cause: The PAT secret is empty/unset in the runner environment, causing git clone https://x-access-token:${PAT}@github.com/qualcomm-linux-stg/kernel-checkers.git to fail with HTTP 401 (exit code 128) — the actual UAPI header check never executed.

Failure details:

2026-03-23T18:23:25.8096013Z   PAT: 
2026-03-23T18:23:26.0716671Z fatal: Authentication failed for 'https://github.com/qualcomm-linux-stg/kernel-checkers.git/'
2026-03-23T18:23:26.0746408Z ##[error]Process completed with exit code 128.

The sync step (qualcomm-linux-stg/kernel-checkers/.github/actions/sync@main) successfully merged PR #43 into main (fast-forward, 1 file changed: include/uapi/linux/can/raw.h, 10 deletions). The failure occurs in the subsequent step that clones the kernel-checkers repo using a PAT secret that was not injected into the job.

Fix (CI infrastructure — not a patch problem):

  1. Ensure the PAT secret (a GitHub Personal Access Token with repo read scope for qualcomm-linux-stg/kernel-checkers) is defined in the repository/org secrets of qualcomm-linux-stg/kernel-config-test.
  2. Verify the workflow YAML passes the secret to the job: PAT: ${{ secrets.PAT }} (or the correct secret name).
  3. Re-run the workflow after the secret is set — no changes to the PR patch are needed.

Reproduce locally:

# Simulate the failing step (will fail the same way without a valid token):
git clone https://x-access-token:${PAT}@github.com/qualcomm-linux-stg/kernel-checkers.git

📋 Patch Notes (independent of CI failure)

The patch itself (pr.patch) removes struct can_raw_vcid_options from the UAPI header include/uapi/linux/can/raw.h. This is a UAPI-breaking deletion — removing a public kernel ABI struct that userspace programs may depend on. Even if CI were fixed, the check-uapi-headers checker would likely flag this as a UAPI regression. The #define constants (CAN_RAW_XL_VCID_TX_SET, etc.) that reference the struct's fields are retained, which is inconsistent.


Verdict

1 CI infrastructure blocker: The PAT secret is missing/empty in the kernel-config-test repo — fix the secret and re-run. Additionally, the patch itself deletes a UAPI struct (can_raw_vcid_options) which will likely trigger a check-uapi-headers failure once the infrastructure issue is resolved.

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.

2 participants