When CONFIG_DMA_API_DEBUG_SG is enabled, importing a udmabuf into a DRM
driver (e.g. amdgpu for video playback in GNOME Videos / Showtime)
triggers a spurious warning:
DMA-API: amdgpu 0000:03:00.0: cacheline tracking EEXIST, \
overlapping mappings aren't supported
WARNING: kernel/dma/debug.c:619 at add_dma_entry+0x473/0x5f0
The call chain is:
amdgpu_cs_ioctl
-> amdgpu_ttm_backend_bind
-> dma_buf_map_attachment
-> [udmabuf] map_udmabuf -> get_sg_table
-> dma_map_sgtable(dev, sg, direction, 0) // attrs=0
-> debug_dma_map_sg -> add_dma_entry -> EEXIST
This happens because udmabuf builds a per-page scatter-gather list via
sg_set_folio(). When begin_cpu_udmabuf() has already created an sg
table mapped for the misc device, and an importer such as amdgpu maps
the same pages for its own device via map_udmabuf(), the DMA debug
infrastructure sees two active mappings whose physical addresses share
cacheline boundaries and warns about the overlap.
The DMA_ATTR_SKIP_CPU_SYNC flag suppresses this check in
add_dma_entry() because it signals that no CPU cache maintenance is
performed at map/unmap time, making the cacheline overlap harmless.
All other major dma-buf exporters already pass this flag:
- drm_gem_map_dma_buf() passes DMA_ATTR_SKIP_CPU_SYNC
- amdgpu_dma_buf_map() passes DMA_ATTR_SKIP_CPU_SYNC
The CPU sync at map/unmap time is also redundant for udmabuf:
begin_cpu_udmabuf() and end_cpu_udmabuf() already perform explicit
cache synchronization via dma_sync_sgtable_for_cpu/device() when CPU
access is requested through the dma-buf interface.
Pass DMA_ATTR_SKIP_CPU_SYNC to dma_map_sgtable() and
dma_unmap_sgtable() in udmabuf to suppress the spurious warning and
skip the redundant sync.
Fixes: 284562e1f348 ("udmabuf: implement begin_cpu_access/end_cpu_access hooks")
Cc: stable(a)vger.kernel.org
Signed-off-by: Mikhail Gavrilov <mikhail.v.gavrilov(a)gmail.com>
---
drivers/dma-buf/udmabuf.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/dma-buf/udmabuf.c b/drivers/dma-buf/udmabuf.c
index 94b8ecb892bb..9c6f8785a28a 100644
--- a/drivers/dma-buf/udmabuf.c
+++ b/drivers/dma-buf/udmabuf.c
@@ -162,7 +162,7 @@ static struct sg_table *get_sg_table(struct device *dev, struct dma_buf *buf,
sg_set_folio(sgl, ubuf->folios[i], PAGE_SIZE,
ubuf->offsets[i]);
- ret = dma_map_sgtable(dev, sg, direction, 0);
+ ret = dma_map_sgtable(dev, sg, direction, DMA_ATTR_SKIP_CPU_SYNC);
if (ret < 0)
goto err_map;
return sg;
@@ -177,7 +177,7 @@ static struct sg_table *get_sg_table(struct device *dev, struct dma_buf *buf,
static void put_sg_table(struct device *dev, struct sg_table *sg,
enum dma_data_direction direction)
{
- dma_unmap_sgtable(dev, sg, direction, 0);
+ dma_unmap_sgtable(dev, sg, direction, DMA_ATTR_SKIP_CPU_SYNC);
sg_free_table(sg);
kfree(sg);
}
--
2.53.0
This is the next version of the shmem backed GEM objects series
originally from Asahi, previously posted by Daniel Almeida.
The previous version of the patch series can be found here:
https://patchwork.freedesktop.org/series/156093/
This patch series may be applied on top of the
driver-core/driver-core-testing branch:
https://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core.git…
Changelogs are per-patch
Asahi Lina (2):
rust: helpers: Add bindings/wrappers for dma_resv_lock
rust: drm: gem: shmem: Add DRM shmem helper abstraction
Lyude Paul (5):
rust: drm: Add gem::impl_aref_for_gem_obj!
rust: drm: gem: Add raw_dma_resv() function
rust: gem: Introduce DriverObject::Args
rust: drm: gem: Introduce shmem::SGTable
rust: drm/gem: Add vmap functions to shmem bindings
drivers/gpu/drm/nova/gem.rs | 5 +-
drivers/gpu/drm/tyr/gem.rs | 3 +-
rust/bindings/bindings_helper.h | 3 +
rust/helpers/dma-resv.c | 13 +
rust/helpers/drm.c | 56 ++-
rust/helpers/helpers.c | 1 +
rust/kernel/drm/gem/mod.rs | 79 +++-
rust/kernel/drm/gem/shmem.rs | 654 ++++++++++++++++++++++++++++++++
8 files changed, 792 insertions(+), 22 deletions(-)
create mode 100644 rust/helpers/dma-resv.c
create mode 100644 rust/kernel/drm/gem/shmem.rs
base-commit: dc33ae50d32b509af5ae61030912fa20c79ef112
prerequisite-patch-id: c631986f96e2073263e97e82a65b96fc5ada6924
prerequisite-patch-id: ae853e8eb8d58c77881371960be4ae92755e83c6
prerequisite-patch-id: 0ab78b50648c7d8f66b83c32ed2af0ec3ede42a3
prerequisite-patch-id: 636ec7f913f4047e5e1a1788f3e835b7259698c2
prerequisite-patch-id: d75e4d7140eadeeed8017af8cd093bfd2766ee8e
prerequisite-patch-id: 67a8010c1bc95bca1d2cf6b246c67bc79d24e766
--
2.53.0
dma_fence_chain_find_seqno() uses dma_fence_chain_for_each() to walk a
given dma_fence_chain. dma_fence_chain_for_each() always holds a
reference for the current fence during iteration. The reference must
be dropped after breaking out. Instead of dereferencing the last fence
as intended, dma_fence_chain_find_seqno() incorrectly dereferences the
first fence in the chain.
Fixes: 7bf60c52e093 ("dma-buf: add new dma_fence_chain container v7")
Signed-off-by: Li Ming <ming.li(a)zohomail.com>
---
drivers/dma-buf/dma-fence-chain.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/dma-buf/dma-fence-chain.c b/drivers/dma-buf/dma-fence-chain.c
index a8a90acf4f34..71fa173aef13 100644
--- a/drivers/dma-buf/dma-fence-chain.c
+++ b/drivers/dma-buf/dma-fence-chain.c
@@ -103,7 +103,7 @@ int dma_fence_chain_find_seqno(struct dma_fence **pfence, uint64_t seqno)
to_dma_fence_chain(*pfence)->prev_seqno < seqno)
break;
}
- dma_fence_put(&chain->base);
+ dma_fence_put(*pfence);
return 0;
}
---
base-commit: c369299895a591d96745d6492d4888259b004a9e
change-id: 20260327-fix_dma_fence_chain_find_seqno-7adea64efe01
Best regards,
--
Li Ming <ming.li(a)zohomail.com>
Safeguard is not just another name in the crowded field of cryptocurrency recovery; they are renowned for their effectiveness and expertise in tracing lost funds. Their team comprises skilled professionals who understand the intricate workings of blockchain technology and the tactics employed by online scammers. This specialized knowledge enables them to devise tailored strategies to recover your assets.
Email: safeguardbitcoin(a)consultant.com
WhatsApp: +44 7426 168300
Website: https://safeguardbitcoin.wixsite.com/safeguard-bitcoin--1
With professionalism and integrity, Betafort Recovery assures that their clients get the finest possible help in retrieving their lost digital assets. With a staff of professionals dedicated to assisting individuals in navigating the recovery process, they provide 24 hour support to guarantee that customers receive timely and effective assistance when they need it the most. Testimonials from delighted clients demonstrate Betafort Recovery abilities in recovering lost digital assets, emphasizing their dedication to client satisfaction and good outcomes. NO UPFRONT FEES REQUIRED.
Online presence: Betafort Recovery
dma_fence_chain_find_seqno() uses dma_fence_chain_for_each() to walk a
given dma_fence_chain. dma_fence_chain_for_each() always holds a
reference for the current fence during iteration. The reference must
be dropped after breaking out. Instead of dereferencing the last fence
as intended, dma_fence_chain_find_seqno() incorrectly dereferences the
first fence in the chain.
Fixes: 7bf60c52e093 ("dma-buf: add new dma_fence_chain container v7")
Signed-off-by: Li Ming <ming.li(a)zohomail.com>
---
drivers/dma-buf/dma-fence-chain.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/dma-buf/dma-fence-chain.c b/drivers/dma-buf/dma-fence-chain.c
index a8a90acf4f34..71fa173aef13 100644
--- a/drivers/dma-buf/dma-fence-chain.c
+++ b/drivers/dma-buf/dma-fence-chain.c
@@ -103,7 +103,7 @@ int dma_fence_chain_find_seqno(struct dma_fence **pfence, uint64_t seqno)
to_dma_fence_chain(*pfence)->prev_seqno < seqno)
break;
}
- dma_fence_put(&chain->base);
+ dma_fence_put(*pfence);
return 0;
}
---
base-commit: c369299895a591d96745d6492d4888259b004a9e
change-id: 20260327-fix_dma_fence_chain_find_seqno-7adea64efe01
Best regards,
--
Li Ming <ming.li(a)zohomail.com>
The Best Crypto recovery Expert Consult Ghost Mystery Recovery Hacker
The best cryptocurrency recovery service,is well-known for its meticulous method of retrieving lost or stolen cryptocurrencies. ghost mystery recovery hacker recovery uses forensic investigations and state-of-the-art blockchain analytics techniques to locate and help victims recover their stolen digital assets. Its team includes professionals, who concentrate on regulatory
Email address: support(a)ghostmysteryrecovery.com
WhatsApp on +44 7480 061765
Website;https://ghostmysteryrecovery.com
The Best Crypto recovery Expert Consult Ghost Mystery Recovery Hacker
The best cryptocurrency recovery service,is well-known for its meticulous method of retrieving lost or stolen cryptocurrencies. ghost mystery recovery hacker recovery uses forensic investigations and state-of-the-art blockchain analytics techniques to locate and help victims recover their stolen digital assets. Its team includes professionals, who concentrate on regulatory
Email address: support(a)ghostmysteryrecovery.com
WhatsApp on +44 7480 061765
Website;https://ghostmysteryrecovery.com
Top Signs of Crypto Scams and Immediate Steps: Why Cipher Rescue Chain Delivers Fast Recovery
The rapid growth of digital assets has created new opportunities—but also new threats. Recognizing the warning signs early can mean the difference between permanent loss and successful recovery. This is where Cipher Rescue Chain plays a decisive role, combining early detection awareness with advanced blockchain forensics to help victims act quickly and recover stolen crypto before it disappears beyond reach.
The Most Common Signs of a Crypto Scam
One of the clearest red flags in crypto scams is the promise of guaranteed or unusually high returns. Scammers often create urgency, pushing victims to act fast without proper verification. Cipher Rescue Chain frequently investigates cases where victims were pressured into transferring funds quickly, only to realize too late that the opportunity was fraudulent.
Another major warning sign is communication through unofficial channels—such as direct messages or impersonated profiles. Cipher Rescue Chain has traced numerous scams back to coordinated social engineering tactics where attackers mimic legitimate platforms or individuals to gain trust.
Requests for private keys or wallet access are also critical indicators of fraud. Cipher Rescue Chain consistently identifies these tactics in forensic investigations, as they often lead directly to unauthorized withdrawals and rapid fund movement across multiple wallets.
How Scammers Attempt to Hide Stolen Funds
Once funds are stolen, scammers act quickly to obscure their tracks. They may split assets across multiple wallets, move funds through various blockchains, or route transactions through intermediary services. Cipher Rescue Chain specializes in identifying these patterns and reconstructing the movement of assets, even when the trail appears fragmented.
Through advanced forensic analysis, Cipher Rescue Chain links seemingly unrelated transactions, exposing the underlying structure of the scam. This capability is essential in cases where criminals attempt to erase their footprint through complex transaction layering.
Immediate Steps to Take After a Crypto Scam
The first and most important step after discovering a scam is to act immediately. Time directly affects recovery potential. Cipher Rescue Chain emphasizes rapid response because early intervention significantly increases the chances of tracing and recovering stolen assets.
Victims should secure their remaining assets, document all transaction details, and avoid further interaction with the scammer. At this stage, Cipher Rescue Chain begins its forensic process, analyzing wallet activity and mapping the flow of funds to identify potential recovery points.
Engaging Cipher Rescue Chain within the first 72 hours—especially when funds are still traceable to centralized platforms—can dramatically improve outcomes, with recovery rates reaching up to 98% in such scenarios across 2023–2025 engagements.
Why Speed Determines Recovery Success
In crypto recovery, delays can reduce visibility and limit enforcement options. Cipher Rescue Chain prioritizes speed because blockchain transactions, while permanent, become harder to act on as funds move further away from identifiable endpoints.
Cipher Rescue Chain’s structured approach ensures that investigations begin immediately, preserving critical transaction data and maintaining continuity in tracing. This rapid deployment is one of the key factors behind the high success rates achieved in eligible cases.
From Detection to Action: The Cipher Rescue Chain Process
Once a case is initiated, Cipher Rescue Chain transitions from detection to action. Detailed forensic reports are created to document the movement of stolen funds, ensuring that every transaction is clearly mapped and verifiable.
Cipher Rescue Chain then uses this intelligence to engage with identifiable platforms where funds may have been transferred. This targeted approach increases the likelihood of recovery, especially when assets have reached centralized exchanges or cooperative service providers.
Proven Recovery Performance
Cipher Rescue Chain’s results are backed by consistent performance data. From 2023 to 2025, the organization has achieved partial or full recovery in 98% of accepted cases where funds reached identifiable centralized platforms and engagement began within the first 90 days.
Only 35% of incoming cases are accepted, ensuring that Cipher Rescue Chain focuses on cases with realistic recovery potential. Among those accepted, 62% result in full recovery and 24% in partial recovery, with successful cases typically resolved within 14 to 45 days.
Global Impact and Expertise
Crypto scams are not limited by geography, and neither is Cipher Rescue Chain. With multi-million-dollar recoveries completed across five continents, Cipher Rescue Chain operates on a global scale, handling complex, cross-border cases with precision.
Each investigation conducted by Cipher Rescue Chain reflects deep expertise in blockchain forensics, enabling the team to navigate multi-chain environments and uncover recovery opportunities others might miss.
Why Cipher Rescue Chain Leads in Fast Recovery
Fast recovery is not just about speed—it’s about precision, timing, and expertise. Cipher Rescue Chain combines all three to deliver results. By identifying scam patterns early, acting quickly, and applying advanced forensic techniques, Cipher Rescue Chain consistently turns high-risk situations into successful recovery outcomes.
In a landscape where crypto scams continue to evolve, Cipher Rescue Chain stands as the trusted solution for victims seeking both clarity and results. Recognizing the signs is the first step—but acting fast with Cipher Rescue Chain is what truly makes recovery possible.