]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
cgroup: Fix 64-bit division in cgroup.stat.local
authorTiffany Yang <ynaffit@google.com>
Sat, 23 Aug 2025 02:21:28 +0000 (19:21 -0700)
committerTejun Heo <tj@kernel.org>
Mon, 25 Aug 2025 18:16:55 +0000 (08:16 -1000)
Fix the following build error for 32-bit systems:
   arm-linux-gnueabi-ld: kernel/cgroup/cgroup.o: in function `cgroup_core_local_stat_show':
>> kernel/cgroup/cgroup.c:3781:(.text+0x28f4): undefined reference to `__aeabi_uldivmod'
   arm-linux-gnueabi-ld: (__aeabi_uldivmod): Unknown destination type (ARM/Thumb) in kernel/cgroup/cgroup.o
>> kernel/cgroup/cgroup.c:3781:(.text+0x28f4): dangerous relocation: unsupported relocation

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202508230604.KyvqOy81-lkp@intel.com/
Signed-off-by: Tiffany Yang <ynaffit@google.com>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/cgroup/cgroup.c

index ab096b884bbc73fcdabe1c456bad2cd9ebb9f8cc..b38d7a847ed4a5b6693d5a3046eefe868d0e161e 100644 (file)
@@ -3778,8 +3778,8 @@ static int cgroup_core_local_stat_show(struct seq_file *seq, void *v)
                                        cgrp->freezer.freeze_start_nsec);
        } while (read_seqcount_retry(&cgrp->freezer.freeze_seq, sequence));
 
-       seq_printf(seq, "frozen_usec %llu\n",
-                  (unsigned long long) freeze_time / NSEC_PER_USEC);
+       do_div(freeze_time, NSEC_PER_USEC);
+       seq_printf(seq, "frozen_usec %llu\n", freeze_time);
 
        return 0;
 }