Skip to content

UPSTREAM: misc: fastrpc: Drop unhandled DSP PD exit notification - #1698

Open
Jianping (Jianping-Li) wants to merge 13 commits into
qualcomm-linux:tech/mm/fastrpcfrom
Jianping-Li:drop_notice
Open

UPSTREAM: misc: fastrpc: Drop unhandled DSP PD exit notification#1698
Jianping (Jianping-Li) wants to merge 13 commits into
qualcomm-linux:tech/mm/fastrpcfrom
Jianping-Li:drop_notice

Conversation

@Jianping-Li

Copy link
Copy Markdown

Newer DSP firmware implements a PD (Protection Domain) notification framework that sends PD state notifications upon request. The PD exit notification is unconditionally sent by the DSP with a fixed sentinel 0xABCDABCD in the context field.

fastrpc_rpmsg_callback() treats every inbound message as an invoke response, so the sentinel is masked and shifted like any real response ((0xABCDABCD & 0xFF0) >> 4 == 188) and looked up in the channel's context idr.

This is not merely cosmetic. In the common case idr slot 188 is empty, the lookup fails, and the driver only logs a spurious "No context ID matches response" error on every teardown. But the context idr is shared by every protection domain and the listener thread on the channel and is filled cyclically over [1, FASTRPC_CTX_MAX]. If slot 188 holds a live context when the sentinel arrives, the sentinel's return value is written into that unrelated in-flight invocation and it is completed early.

Since neither the fastrpc library nor the driver supports the DSP PD notification framework, it is safe to drop the PD exit notification before it is ever turned into a context lookup. This removes both the log spam and the mis-completion race. A genuine response can never be masked: a real context is (idr_index << 4) | pd (at most 0xFF3) and can never equal the sentinel.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/misc/fastrpc.c?id=5533bb4bc53c6cd401b9b329d7e26802fd5aa1f5
CRs-Fixed: 4633198

Jianping (Jianping-Li) and others added 12 commits July 23, 2026 10:31
…rocess abort

When a userspace FastRPC client is abruptly terminated, FastRPC
cleanup paths can race with device and session teardown.

This results in kernel panics in different release paths:
- fastrpc_release() when using remote heap, originating from
  fastrpc_buf_free()
- fastrpc_device_release() when using system heap, originating from
  fastrpc_free_map()

In addition, fastrpc_map_put() may trigger refcount use-after-free
due to concurrent cleanup without proper synchronization.

The root cause is that buffer and map cleanup paths may access map
and buf resources after the associated device or session has
already been released.

Fix this by:
- Introducing mutex protection for map and buf lifetime
- Serializing buffer and map cleanup against device teardown
- Skipping buffer and map operations when the device is already gone

These changes ensure cleanup paths are safe against unexpected
process aborts and prevent use-after-free and kernel panic scenarios.

Link: https://lore.kernel.org/all/[email protected]/
Fixes: c68cfb7 ("misc: fastrpc: Add support for context Invoke method")
Cc: [email protected]
Signed-off-by: Jianping Li <[email protected]>
…messages

On some platforms (e.g. QCS615 Talos), fastrpc may temporarily fail
to retrieve DSP attributes during boot, resulting in repeated
"Error: dsp information is incorrect" messages printed on the
console.

These messages are observed continuously during boot when metadata
flashing is enabled as part of RC releases, causing unnecessary
log noise.

Similarly, the absence of reserved DMA memory is a valid
configuration and does not represent an error condition.

Since these scenarios are expected and do not indicate a failure,
downgrade the log level from dev_err/dev_info to dev_dbg to avoid
flooding the console.

No functional change intended.

Link: https://lore.kernel.org/all/[email protected]/
Signed-off-by: Jianping Li <[email protected]>
…emory pool

The initial buffer allocated for the Audio PD memory pool is never added
to the pool because pageslen is set to 0. As a result, the buffer is not
registered with Audio PD and is never used, causing a memory leak. Audio
PD immediately falls back to allocating memory from the remote heap since
the pool starts out empty.

Fix this by setting pageslen to 1 so that the initially allocated buffer
is correctly registered and becomes part of the Audio PD memory pool.

Link: https://lore.kernel.org/all/[email protected]/
Fixes: 0871561 ("misc: fastrpc: Add support for audiopd")
Cc: [email protected]
Reviewed-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Ekansh Gupta <[email protected]>
Signed-off-by: Jianping Li <[email protected]>
…tion

fastrpc_req_munmap_impl() is called to unmap any buffer. The buffer is
getting removed from the list after it is unmapped from DSP. This can
create potential race conditions if multiple threads invoke unmap
concurrently, where one thread may remove the entry from the list while
another thread's unmap operation is still ongoing.

Fix this by removing the buffer entry from the list before calling the
unmap operation. If the unmap fails, the entry is re-added to the list
so that userspace can retry the unmap, or alternatively, the buffer
will be cleaned up during device release when the DSP process is torn
down and all DSP-side mappings are freed along with remaining buffers
in the list.

Link: https://lore.kernel.org/all/[email protected]/
Fixes: 2419e55 ("misc: fastrpc: add mmap/unmap support")
Cc: [email protected]
Reviewed-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Ekansh Gupta <[email protected]>
Signed-off-by: Jianping Li <[email protected]>
… in probe

Allocating and freeing Audio PD memory from userspace is unsafe because
the kernel cannot reliably determine when the DSP has finished using the
memory. Userspace may free buffers while they are still in use by the DSP,
and remote free requests cannot be safely trusted.

Additionally, the current implementation allows userspace to repeatedly
grow the Audio PD heap, but does not support shrinking it. This can lead
to unbounded memory usage over time, effectively causing a memory leak.

Fix this by allocating the entire Audio PD reserved-memory region during
rpmsg probe and tying its lifetime to the rpmsg channel. This removes
userspace-controlled alloc/free and ensures that memory is reclaimed only
when the DSP process is torn down.

Add explicit validation for remote_heap presence and size before sending
the memory to DSP, and fail early if the reserved-memory region is
missing or incomplete.

Link: https://lore.kernel.org/all/[email protected]/
Fixes: 0871561 ("misc: fastrpc: Add support for audiopd")
Cc: [email protected]
Signed-off-by: Jianping Li <[email protected]>
Make fastrpc_buf_free() a no-op when passed a NULL pointer, allowing
callers to avoid open-coded NULL checks.

Link: https://lore.kernel.org/all/[email protected]/
Reviewed-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Ekansh Gupta <[email protected]>
Signed-off-by: Jianping Li <[email protected]>
On platforms where remote heap memory is not present, dev_err() can
flood the kernel log. Use dev_dbg() instead to reduce log verbosity
in this expected condition.

Signed-off-by: Anandu Krishnan E <[email protected]>
The fdlist is currently part of the meta buffer which is set during
fastrpc_get_args(), this fdlist is getting recalculated during
fastrpc_put_args().

Move fdlist to the invoke context structure to improve maintainability
and reduce redundancy. This centralizes its handling and simplifies
meta buffer preparation and reading logic.

Link: https://lore.kernel.org/all/[email protected]/
Reviewed-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Ekansh Gupta <[email protected]>
Replace the hardcoded context ID mask (0xFF0) with GENMASK(11, 4) to
improve readability and follow kernel bitfield conventions. Use
FIELD_PREP and FIELD_GET instead of manual shifts for setting and
extracting ctxid values.

Link: https://lore.kernel.org/all/[email protected]/
Reviewed-by: Konrad Dybcio <[email protected]>
Reviewed-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Ekansh Gupta <[email protected]>
…support

Current FastRPC context uses a 12-bit mask:
  [ID(8 bits)][PD type(4 bits)] = GENMASK(11, 4)

This works for normal calls but fails for DSP polling mode.
Polling mode expects a 16-bit layout:
  [15:8] = context ID (8 bits)
  [7:5]  = reserved
  [4]    = async mode bit
  [3:0]  = PD type (4 bits)

If async bit (bit 4) is set, DSP disables polling. With current
mask, odd IDs can set this bit, causing DSP to skip poll updates.

Update FASTRPC_CTXID_MASK to GENMASK(15, 8) so IDs occupy upper
byte and lower byte is left for DSP flags and PD type.

Reserved bits remain unused. This change is compatible with
polling mode and does not break non-polling behavior.

Bit layout:
  [15:8] = CCCCCCCC (context ID)
  [7:5]  = xxx (reserved)
  [4]    = A (async mode)
  [3:0]  = PPPP (PD type)

Link: https://lore.kernel.org/all/[email protected]/
Reviewed-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Ekansh Gupta <[email protected]>
For any remote call to DSP, after sending an invocation message,
fastRPC driver waits for glink response and during this time the
CPU can go into low power modes. This adds latency to overall fastrpc
call as CPU wakeup and scheduling latencies are included. Add polling
mode support with which fastRPC driver will poll continuously on a
memory after sending a message to remote subsystem which will eliminate
CPU wakeup and scheduling latencies and reduce fastRPC overhead. In case
poll timeout happens, the call will fallback to normal RPC mode.  Poll
mode can be enabled by user by using FASTRPC_IOCTL_SET_OPTION ioctl
request with FASTRPC_POLL_MODE request id.

Link: https://lore.kernel.org/all/[email protected]/
Signed-off-by: Ekansh Gupta <[email protected]>
…omain

When the remoteproc has an IOMMU (kernel running at EL2 without a
separate hypervisor), memory carveouts must be explicitly mapped into
the remoteproc's IOMMU domain so the DSP can access them.  Without
this mapping the DSP triggers an SMMU translation fault when accessing
the remote heap carveout used for audio PD static process creation.

Add has_iommu to fastrpc_channel_ctx, set from the "iommus" property
of the remoteproc DT node.  When set, map the ADSP remote heap
carveout into the remoteproc's IOMMU domain using an identity mapping
(IOVA == PA) via iommu_map(), and skip qcom_scm_assign_mem() which is
only needed when a separate hypervisor manages inter-VM memory access
control.

Introduce fastrpc_remote_heap_map() and fastrpc_remote_heap_unmap()
helpers to encapsulate the IOMMU domain lookup and map/unmap.

Link: https://lore.kernel.org/all/[email protected]/
Signed-off-by: Anandu Krishnan E <[email protected]>
@qcomlnxci
qcomlnxci requested review from a team, Chenna Kesava Raju (Chennak-quic) and Ekansh Gupta (ekanshibu) and removed request for a team August 17, 2026 08:34
@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1698

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

# Error File:Line PR-introduced? Root Cause
1 Merge conflict during automerge drivers/misc/fastrpc.c No The PR modifies drivers/misc/fastrpc.c in an area that conflicts with changes already present in the integration baseline (commit 49dbe0dae5cfb7a1eb3434cde6fc7ba37924fe94) or another topic branch. This is an integration conflict, not a code defect.

Verdict

This is not a compilation failure. The build failed during the pre-merge automerge phase due to a merge conflict in drivers/misc/fastrpc.c. The PR code itself is syntactically correct; the conflict indicates overlapping changes in the integration baseline that require manual resolution.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1698

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

# Error File:Line PR-introduced? Root Cause
1 Merge conflict during automerge drivers/misc/fastrpc.c N/A The PR modifies regions of drivers/misc/fastrpc.c that have divergent changes in the target integration branch (qcom-next). The conflict occurs in two areas: (1) macro definitions near FASTRPC_CTXID_MASK where the PR adds FASTRPC_DSP_PD_NOTIFY_CTX, and (2) the fastrpc_rpmsg_callback() function where the PR adds a PD notification check.

Verdict

This is not a compilation failure. The build failed during the pre-build automerge/integration phase due to a merge conflict in drivers/misc/fastrpc.c. The conflict must be resolved before compilation can proceed.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #1698 — validate-patch

PR: #1698

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: No — PR links to git.kernel.org commit URL instead of lore.kernel.org; upstream has lore link https://patch.msgid.link/[email protected]
  2. Lore link matches PR commits: N/A — no lore link in PR to compare; git commit link points to correct upstream SHA
  3. Upstream patch status: ✅ Upstreamed — merged into linux-next as 5533bb4bc53c6cd401b9b329d7e26802fd5aa1f5, signed off by Greg Kroah-Hartman (char-misc maintainer)
  4. PR present in qcom-next/topics: Yes - all 1 commit(s) are present in qcom-next or topics
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #1698 - UPSTREAM: misc: fastrpc: Drop unhandled DSP PD exit notification
Upstream commit: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=5533bb4bc53c6cd401b9b329d7e26802fd5aa1f5
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream Subject identical (with UPSTREAM: prefix added)
Body preserves rationale Commit message body is identical to upstream
Fixes tag present/correct No Fixes tag in upstream or PR (not a bug fix)
Authorship preserved CRITICAL: Author changed from Shawn Guo to Jianping Li
Backport note (if applicable) N/A Not a backport - commit is in linux-next

Diff

File Status Notes
drivers/misc/fastrpc.c Code changes are functionally identical; context line numbers differ due to tree state

Issues

  1. Author mismatch (CRITICAL FAIL): The PR commit lists From: Jianping Li <[email protected]> but the upstream commit author is Shawn Guo <[email protected]>. For UPSTREAM: prefix commits, the original author must be preserved. This violates kernel contribution attribution rules.

  2. Missing Signed-off-by chain: The PR only includes Jianping Li's Signed-off-by, but the upstream commit has a complete sign-off chain:

  3. Missing review tags: The upstream commit includes:

    These should be preserved to maintain the review history.

  4. Link tag mismatch: The PR links to the git commit URL, but the upstream uses the canonical lore message-ID link: https://patch.msgid.link/[email protected]. The lore link is preferred for traceability.

Verdict

Do not merge. The commit must be amended to preserve the original author (Shawn Guo) and include the complete Signed-off-by chain. Use:

git commit --amend --author="Shawn Guo <[email protected]>"

Then update the commit message to include all upstream tags (Assisted-by, Reviewed-by, Signed-off-by chain) and optionally update the Link to the lore message-ID.

Final Summary

  1. Lore link present: No — PR links to git.kernel.org commit URL instead of lore.kernel.org; upstream has lore link https://patch.msgid.link/[email protected]
  2. Lore link matches PR commits: N/A — no lore link in PR to compare; git commit link points to correct upstream SHA
  3. Upstream patch status: ✅ Upstreamed — merged into linux-next as 5533bb4bc53c6cd401b9b329d7e26802fd5aa1f5, signed off by Greg Kroah-Hartman (char-misc maintainer)
  4. PR present in qcom-next/topics: Yes — present in topics branches (topics/early/hwe/eliza, topics/early/hwe/nord-next) 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: 49dbe0dae5cfb7a1eb3434cde6fc7ba37924fe94
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] UPSTREAM: misc: fastrpc: Drop unhandled DSP PD exit partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present

Final Status

overall_status: PASS
present_commits: 1/1
partial_commits: 0/1
missing_commits: 0/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Yes - all 1 commit(s) are present in qcom-next or topics

@qlijarvis

Copy link
Copy Markdown

PR #1698 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⏭️ Skipped - automerge conflict
dt-binding-check ⏭️ Skipped - automerge conflict
dtb-check ⏭️ Skipped - automerge conflict
sparse-check ⏭️ Skipped - automerge conflict
check-uapi-headers ⏭️ Skipped - automerge conflict
check-patch-compliance ⏭️ Skipped - automerge conflict
tag-check PASS - commit has valid UPSTREAM: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1698 - UPSTREAM: misc: fastrpc: Drop unhandled DSP PD exit notification
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/32011033361

Checker Result Summary
checkpatch ⏭️ Skipped - automerge conflict
dt-binding-check ⏭️ Skipped - automerge conflict
dtb-check ⏭️ Skipped - automerge conflict
sparse-check ⏭️ Skipped - automerge conflict
check-uapi-headers ⏭️ Skipped - automerge conflict
check-patch-compliance ⏭️ Skipped - automerge conflict
tag-check PASS - commit has valid UPSTREAM: prefix

⚠️ Automerge Conflict (Infrastructure Issue)

Root cause: The PR modifies drivers/misc/fastrpc.c which conflicts with the existing topic/tech/mm/fastrpc topic branch during the CI automerge phase.

Failure details:

** Merging topic branch: topic/tech/mm/fastrpc
Auto-merging drivers/misc/fastrpc.c
CONFLICT (content): Merge conflict in drivers/misc/fastrpc.c
Automatic merge failed; fix conflicts and then commit the result.
automerge returned non-zero; check logs for conflicts

Impact: All checker jobs failed during the automerge setup phase before any actual code quality checks could run. This is an infrastructure/integration issue, not a code quality defect in the PR itself.

Analysis:

  • The PR adds a new FASTRPC_DSP_PD_NOTIFY_CTX constant and logic to drop DSP PD exit notifications in fastrpc_rpmsg_callback()
  • The topic/tech/mm/fastrpc branch likely contains overlapping changes to the same file/function
  • The conflict occurs at the integration layer (merging multiple topic branches), not in the PR's code

Resolution options:

  1. Rebase the PR on the latest integration branch that includes topic/tech/mm/fastrpc:

    git fetch origin
    git rebase origin/<integration-branch>
    # Resolve conflicts manually
    git push --force-with-lease
  2. Coordinate with the topic/tech/mm/fastrpc maintainer to determine merge order or refactor overlapping changes

  3. Re-trigger CI after the conflicting topic branch is merged or removed from the integration

Note: The commit itself follows proper conventions:

  • ✅ Has valid UPSTREAM: prefix
  • ✅ Includes upstream Link trailer
  • ✅ Proper commit message format
  • ✅ Changes are localized to drivers/misc/fastrpc.c

✅ tag-check

Status: PASS

The commit subject starts with UPSTREAM:, which is a valid prefix indicating the patch is merged into Linus's mainline tree. The Link trailer confirms this:

Link: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/misc/fastrpc.c?id=5533bb4bc53c6cd401b9b329d7e26802fd5aa1f5

Verdict

Cannot assess code quality — all checkers were blocked by an automerge conflict with topic/tech/mm/fastrpc.

Recommended action:

  1. Resolve the merge conflict with topic/tech/mm/fastrpc by rebasing the PR
  2. Re-trigger CI to run the full checker suite
  3. The commit itself appears well-formed and follows upstream conventions

Blocker: Merge conflict in drivers/misc/fastrpc.c must be resolved before checkers can run.

Newer DSP firmware implements a PD (Protection Domain) notification
framework that sends PD state notifications upon request. The PD exit
notification is unconditionally sent by the DSP with a fixed sentinel
0xABCDABCD in the context field.

fastrpc_rpmsg_callback() treats every inbound message as an invoke
response, so the sentinel is masked and shifted like any real response
((0xABCDABCD & 0xFF0) >> 4 == 188) and looked up in the channel's
context idr.

This is not merely cosmetic. In the common case idr slot 188 is empty,
the lookup fails, and the driver only logs a spurious "No context ID
matches response" error on every teardown. But the context idr is shared
by every protection domain and the listener thread on the channel and is
filled cyclically over [1, FASTRPC_CTX_MAX]. If slot 188 holds a live
context when the sentinel arrives, the sentinel's return value is written
into that unrelated in-flight invocation and it is completed early.

Since neither the fastrpc library nor the driver supports the DSP PD
notification framework, it is safe to drop the PD exit notification
before it is ever turned into a context lookup. This removes both the
log spam and the mis-completion race. A genuine response can never be
masked: a real context is (idr_index << 4) | pd (at most 0xFF3) and
can never equal the sentinel.

Assisted-by: Claude:claude-opus-4-8
Reviewed-by: Ekansh Gupta <[email protected]>
Signed-off-by: Shawn Guo <[email protected]>
Signed-off-by: Srinivas Kandagatla <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Jianping Li <[email protected]>
@qlijarvis

Copy link
Copy Markdown

PR #1698 — validate-patch

PR: #1698

Verdict Issues Detailed Report
11 Full report

Final Summary

  1. Lore link present: Yes - Link: https://patch.msgid.link/[email protected] (equivalent to lore.kernel.org/r/)

  2. Lore link matches PR commits: Cannot verify - lore evidence was not fetched (Jarvis reported "no lore.kernel.org Link tags found" but the commit does contain a patch.msgid.link URL which is a lore redirect). However, the authorship mismatch indicates the commit was not faithfully preserved.

  3. Upstream patch status: ✅ Upstreamed - Greg Kroah-Hartman's (char/misc maintainer) Signed-off-by: indicates this was merged into mainline. The Link tag from July 29, 2026 confirms recent upstream acceptance.

  4. PR present in qcom-next/topics: Yes - all 1 commit(s) are present in qcom-next or topics

Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #1698 - UPSTREAM: misc: fastrpc: Drop unhandled DSP PD exit notification
Upstream commit: https://lore.kernel.org/r/[email protected]
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream Subject preserved correctly with UPSTREAM: prefix
Body preserves rationale Full rationale and technical explanation preserved
Fixes tag present/correct No Fixes tag needed - this is a new fix, not a regression fix
Authorship preserved CRITICAL: Original author Shawn Guo <[email protected]> not preserved in From: field. Current From: shows Jianping Li who is the backporter, not the original author
Backport note (if applicable) ⚠️ No [ upstream commit <sha> ] note present. For UPSTREAM: commits, this should reference the mainline commit SHA

Diff

File Status Notes
drivers/misc/fastrpc.c Diff content appears correct - adds PD notification sentinel check

Issues

1. Authorship violation (FAIL)

  • For UPSTREAM: commits, the original patch author MUST be preserved in the From:/Author: field
  • Current: From: Jianping Li <[email protected]>
  • Expected: From: Shawn Guo <[email protected]>
  • The backporter (Jianping Li) should only add their Signed-off-by: at the end, not replace the author
  • Fix: git commit --amend --author="Shawn Guo <[email protected]>"

2. Missing upstream commit reference (WARNING)

  • UPSTREAM: commits should include a [ upstream commit <sha> ] note in the commit body
  • This helps track which mainline commit was backported
  • The Link tag points to the mailing list posting, not the merged commit

3. Assisted-by tag format (WARNING)

  • Assisted-by: Claude:claude-opus-4-8 is non-standard
  • While AI assistance disclosure is good practice, this format may not be recognized by kernel tooling
  • Consider moving to commit message body as a note rather than a formal trailer

Verdict

Do not merge without correction. The authorship must be fixed to preserve the original author (Shawn Guo) in the From: field. This is a mandatory requirement for UPSTREAM: commits per kernel contribution guidelines.

Final Summary

  1. Lore link present: Yes - Link: https://patch.msgid.link/[email protected] (equivalent to lore.kernel.org/r/)

  2. Lore link matches PR commits: Cannot verify - lore evidence was not fetched (Jarvis reported "no lore.kernel.org Link tags found" but the commit does contain a patch.msgid.link URL which is a lore redirect). However, the authorship mismatch indicates the commit was not faithfully preserved.

  3. Upstream patch status: ✅ Upstreamed - Greg Kroah-Hartman's (char/misc maintainer) Signed-off-by: indicates this was merged into mainline. The Link tag from July 29, 2026 confirms recent upstream acceptance.

  4. PR present in qcom-next/topics: Yes - integration_presence_report.md confirms all 1 commit(s) are present in qcom-next or topics (status: present)

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: 3c1e80ceb9fb6978aa94bc0624e7c0003f3b4f6e
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] UPSTREAM: misc: fastrpc: Drop unhandled DSP PD exit partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present

Final Status

overall_status: PASS
present_commits: 1/1
partial_commits: 0/1
missing_commits: 0/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Yes - all 1 commit(s) are present in qcom-next or topics

@qlijarvis

Copy link
Copy Markdown

PR #1698 — checker-log-analyzer

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

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 static analysis warnings
check-uapi-headers No UAPI/ABI changes
check-patch-compliance Author mismatch detected
tag-check N/A Skipped (qcom-next branch)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1698 - UPSTREAM: misc: fastrpc: Drop unhandled DSP PD exit notification
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/32114167895
Target branch: qcom-next

Checker Result Summary
checkpatch No style issues
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check No static analysis warnings
check-uapi-headers No UAPI/ABI changes
check-patch-compliance Author mismatch detected
tag-check N/A Skipped (qcom-next branch)

❌ check-patch-compliance

Root cause: The commit author in the PR differs from the original upstream patch author.

Failure details:

Checking commit: UPSTREAM: misc: fastrpc: Drop unhandled DSP PD exit notification
Author mismatch:
  Original author: Shawn Guo <[email protected]>
  Commit author : Jianping Li <[email protected]>

Analysis:

The upstream patch at https://patch.msgid.link/[email protected] was authored by Shawn Guo <[email protected]>, but the commit in this PR lists Jianping Li <[email protected]> as the author.

The patch correctly includes:

However, the git Author: field must match the original upstream author to preserve proper attribution.

Fix:

Amend the commit to restore the original author:

git commit --amend --author="Shawn Guo <[email protected]>"

The Signed-off-by: chain should remain as-is — it correctly shows Shawn as the original author and Jianping as the person who backported/applied the patch to this tree.

Reproduce locally:

# Fetch the upstream patch
b4 am --single-message -C -l -3 https://patch.msgid.link/[email protected] -o /tmp/upstream

# Compare author
git log -1 --format="%an <%ae>" 05906409a6034592ded3969832dccde8f36c12ab
# Should output: Shawn Guo <[email protected]>

Verdict

One blocker to fix before merge: The author field must be corrected to match the upstream patch author (Shawn Guo). This is a metadata-only fix — no code changes required.

All other checkers passed cleanly. Once the author is corrected, the patch is ready to merge.

@ekanshibu
Ekansh Gupta (ekanshibu) dismissed their stale review August 26, 2026 10:17

The merge-base changed after approval.

@ekanshibu
Ekansh Gupta (ekanshibu) force-pushed the tech/mm/fastrpc branch 2 times, most recently from 55a9e74 to 1bc7df1 Compare August 26, 2026 10:44
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