Hi Masami, On Mon Jun 22, 2026 at 6:56 AM CEST, Masami Hiramatsu wrote: > On Wed, 10 Jun 2026 11:20:24 +0200 > "Markus Schneider-Pargmann" wrote: > >> Hi Masami, >> >> On Wed Jun 10, 2026 at 10:17 AM CEST, Masami Hiramatsu wrote: >> > Hi Markus, >> > >> > Thanks for ping me. >> > >> > On Tue, 28 Apr 2026 10:30:29 +0200 >> > "Markus Schneider-Pargmann (The Capable Hub)" wrote: >> > >> >> fp pointer and unsigned long have the same size on all relevant >> >> architectures that build Linux. Furthermore this struct is only used in >> >> architectures that do not set ARCH_DEFINE_ENCODE_FPROBE_HEADER which is >> >> set only for 64bit architectures (apart from LoongArch). >> >> >> >> Both fields are aligned on these architectures so the struct with >> >> __packed and without it are the same. >> >> >> >> Remove the __packed as it is unnecessary. >> >> >> >> Fixes: 4346ba160409 ("fprobe: Rewrite fprobe on function-graph tracer") >> > >> > NOTE: This is not a Fix, but just cleanup or minor update. Or, you have >> > any problem with this __packed attribute? >> >> Thanks, yes it is not fixing a bug, I can remove this. >> >> > >> > Unless there is no problem (or any concern), I would like to keep this >> > as it is. >> >> There is currently no problem with __packed in the upstream kernel. I >> just thought this would be a good cleanup to remove the unnecessary >> attribute. I am working on CHERI architectures where pointers have >> capabilities. __packed breaks these capability tags and therefore >> doesn't work on CHERI. When looking into why this struct has a __packed >> attribute I didn't see a reason, so I thought this would be a good patch >> for upstream as well even though CHERI is not yet relevant for upstream >> linux. > > Hi Markus, > > Ah, OK. CHERI makes pointers to non-long value. Are you sure > removing __packed makes fprobe working with CHERI? If so, > please describe it. Then I can pick it. Sorry for the late response. No, this patch alone doesn't make fprobe work with CHERI. __packed is problematic for CHERI because it sets the alignment to 1 which forces the compiler to do unaligned access operations even if the struct/pointer is aligned. Unaligned operations do not keep the CHERI capabilities. Without __packed the compiler knows everything is aligned and can use aligned operations and keep the CHERI capabilities. CHERI hardware does not support unaligned pointer capability access. On its own it doesn't help CHERI, there are more patches that are more CHERI specific that are needed for fprobe to work on CHERI. I just thought it would be a great standalone patch for upstream. Best Markus