All of lore.kernel.org
 help / color / mirror / Atom feed
* [asahilinux:asahi-wip-7.2 645/964] warning: casting raw pointers to the same type and constness is unnecessary (`*mut dma_fence::FenceObject<T>` -> `*mut dma_fence::FenceObject<T>`)
@ 2026-08-24  4:48 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-24  4:48 UTC (permalink / raw)
  To: Asahi Lina; +Cc: oe-kbuild-all, Janne Grunau

tree:   https://github.com/AsahiLinux/linux asahi-wip-7.2
head:   57124f5176e4a4ceb553942a5f3de94cb5035877
commit: b43e4afc340b3afc32dbb781176c790a5897f163 [645/964] rust: dma_fence: Add DMA Fence abstraction
config: x86_64-rhel-9.4-rust (https://download.01.org/0day-ci/archive/20260824/202608240637.5LUnBC0c-lkp@intel.com/config)
compiler: clang version 22.1.8 (https://github.com/llvm/llvm-project ca7933e47d3a3451d81e72ac174dcb5aa28b59d1)
rustc: rustc 1.96.0 (ac68faa20 2026-05-25)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260824/202608240637.5LUnBC0c-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202608240637.5LUnBC0c-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> warning: casting raw pointers to the same type and constness is unnecessary (`*mut dma_fence::FenceObject<T>` -> `*mut dma_fence::FenceObject<T>`)
   --> rust/kernel/dma_fence.rs:173:22
   |
   173 |     let p = unsafe { crate::container_of!(fence, FenceObject<T>, fence) as *mut FenceObject<T> };
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.96.0/index.html#unnecessary_cast
   = note: `-W clippy::unnecessary-cast` implied by `-W clippy::all`
   = help: to override `-W clippy::all` add `#[allow(clippy::unnecessary_cast)]`
   help: try
   |
   173 ~     let p = unsafe { {
   174 +         let offset: usize = ::core::mem::offset_of!($Container, $($fields)*);
   175 +         let field_ptr = $field_ptr;
   176 +         let container_ptr = field_ptr.byte_sub(offset).cast::<$Container>();
   177 +         $crate::assert_same_type(field_ptr, (&raw const (*container_ptr).$($fields)*).cast_mut());
   178 +         container_ptr
   179 ~     } };
   |
--
>> warning: casting raw pointers to the same type and constness is unnecessary (`*mut dma_fence::FenceObject<T>` -> `*mut dma_fence::FenceObject<T>`)
   --> rust/kernel/dma_fence.rs:183:22
   |
   183 |     let p = unsafe { crate::container_of!(fence, FenceObject<T>, fence) as *mut FenceObject<T> };
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.96.0/index.html#unnecessary_cast
   help: try
   |
   183 ~     let p = unsafe { {
   184 +         let offset: usize = ::core::mem::offset_of!($Container, $($fields)*);
   185 +         let field_ptr = $field_ptr;
   186 +         let container_ptr = field_ptr.byte_sub(offset).cast::<$Container>();
   187 +         $crate::assert_same_type(field_ptr, (&raw const (*container_ptr).$($fields)*).cast_mut());
   188 +         container_ptr
   189 ~     } };
   |
--
>> warning: casting raw pointers to the same type and constness is unnecessary (`*mut dma_fence::FenceObject<T>` -> `*mut dma_fence::FenceObject<T>`)
   --> rust/kernel/dma_fence.rs:191:22
   |
   191 |     let p = unsafe { crate::container_of!(fence, FenceObject<T>, fence) as *mut FenceObject<T> };
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.96.0/index.html#unnecessary_cast
   help: try
   |
   191 ~     let p = unsafe { {
   192 +         let offset: usize = ::core::mem::offset_of!($Container, $($fields)*);
   193 +         let field_ptr = $field_ptr;
   194 +         let container_ptr = field_ptr.byte_sub(offset).cast::<$Container>();
   195 +         $crate::assert_same_type(field_ptr, (&raw const (*container_ptr).$($fields)*).cast_mut());
   196 +         container_ptr
   197 ~     } };
   |
--
>> warning: casting raw pointers to the same type and constness is unnecessary (`*mut dma_fence::FenceObject<T>` -> `*mut dma_fence::FenceObject<T>`)
   --> rust/kernel/dma_fence.rs:199:22
   |
   199 |     let p = unsafe { crate::container_of!(fence, FenceObject<T>, fence) as *mut FenceObject<T> };
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.96.0/index.html#unnecessary_cast
   help: try
   |
   199 ~     let p = unsafe { {
   200 +         let offset: usize = ::core::mem::offset_of!($Container, $($fields)*);
   201 +         let field_ptr = $field_ptr;
   202 +         let container_ptr = field_ptr.byte_sub(offset).cast::<$Container>();
   203 +         $crate::assert_same_type(field_ptr, (&raw const (*container_ptr).$($fields)*).cast_mut());
   204 +         container_ptr
   205 ~     } };
   |
--
>> warning: associated items `as_ref` and `as_raw` are never used
   --> rust/kernel/dma_buf.rs:31:26
   |
   23 | impl DmaBuf {
   | ----------- associated items in this implementation
   ...
   31 |     pub(crate) unsafe fn as_ref<'a>(self_ptr: *mut bindings::dma_buf) -> &'a Self {
   |                          ^^^^^^
   ...
   36 |     pub(crate) fn as_raw(&self) -> *mut bindings::dma_buf {
   |                   ^^^^^^
   |
   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
--
>> warning: casting raw pointers to the same type and constness is unnecessary (`*mut dma_fence::FenceObject<T>` -> `*mut dma_fence::FenceObject<T>`)
   --> rust/kernel/dma_fence.rs:207:22
   |
   207 |     let p = unsafe { crate::container_of!(fence, FenceObject<T>, fence) as *mut FenceObject<T> };
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.96.0/index.html#unnecessary_cast
   help: try
   |
   207 ~     let p = unsafe { {
   208 +         let offset: usize = ::core::mem::offset_of!($Container, $($fields)*);
   209 +         let field_ptr = $field_ptr;
   210 +         let container_ptr = field_ptr.byte_sub(offset).cast::<$Container>();
   211 +         $crate::assert_same_type(field_ptr, (&raw const (*container_ptr).$($fields)*).cast_mut());
   212 +         container_ptr
   213 ~     } };
   |
--
>> warning: `as` casting between raw pointers while changing only its constness
   --> rust/kernel/dma_fence.rs:268:9
   |
   268 |         &self.fence as *const _ as *mut _
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try `pointer::cast_mut`, a safer alternative: `(&self.fence as *const bindings::dma_fence).cast_mut()`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.96.0/index.html#ptr_cast_constness
   = note: requested on the command line with `-W clippy::ptr-cast-constness`
--
>> warning: casts from `u32` to `u64` can be expressed infallibly using `From`
   --> rust/kernel/dma_fence.rs:434:30
   |
   434 |                 self.start + context as u64,
   |                              ^^^^^^^^^^^^^^
   |
   = help: an `as` cast can become silently lossy if the types change in the future
   = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.96.0/index.html#cast_lossless
   = note: requested on the command line with `-W clippy::cast-lossless`
   help: use `u64::from` instead
   |
   434 -                 self.start + context as u64,
   434 +                 self.start + u64::from(context),
   |
--
>> warning: method `into_raw` is never used
   --> rust/kernel/dma_fence.rs:467:19
   |
   451 | impl FenceChain {
   | --------------- method in this implementation
   ...
   467 |     pub(crate) fn into_raw(self) -> *mut bindings::dma_fence_chain {
   |                   ^^^^^^^^

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-24  4:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-24  4:48 [asahilinux:asahi-wip-7.2 645/964] warning: casting raw pointers to the same type and constness is unnecessary (`*mut dma_fence::FenceObject<T>` -> `*mut dma_fence::FenceObject<T>`) kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.