Re: [PATCH v2 1/1] x86/elf: Add a new .note section containing Xfeatures information to x86 core files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Apologies for the delay. I am sending the new version patch with below changes.

On 5/31/2024 4:28 PM, Borislav Petkov wrote:
p type, size, offset and flag values for every xfeature that is present.
+ */
+static int dump_xsave_layout_desc(struct coredump_params *cprm)
+{
+       int num_records = 0;
+       int i;
+
+       for_each_extended_xfeature(i, fpu_kernel_cfg.max_features) {

Modifying "fpu_kernel_cfg.max_features" to "fpu_user_cfg.max_features"

Supervisor bits also set in "fpu_kernel_cfg.max_features"

(https://github.com/torvalds/linux/blob/master/arch/x86/kernel/fpu/xstate.c#L777)

+               struct xfeat_component xc = {
+                       .type   = i,
+                       .size   = xstate_sizes[i],
+                       .offset = xstate_offsets[i],
+                       /* reserved for future use */
+                       .flags  = 0,
+               };
+
+               if (!dump_emit(cprm, &xc, sizeof(xc)))
+                       return 0;
+
+               num_records++;
+       }
+       return num_records;
+}
+
+static int get_xsave_desc_size(void)
+{
+       int cnt = 0;
+       int i;
+
changing "int" to "u32" as per review comment.
+       for_each_extended_xfeature(i, fpu_kernel_cfg.max_features)
+               cnt++;
+
+       return cnt * (sizeof(struct xfeat_component));
+}
+

+
+int elf_coredump_extra_notes_size(void)
+{
+       int size;

Adding below check, same as in "elf_coredump_extra_notes_write"

if (!fpu_user_cfg.max_features)

return 0;


thanks,
vigneshbalu.

+       /* .note header */
+       size  = sizeof(struct elf_note);
+       /* name + align */
+       size += roundup(sizeof(owner_name), 4);
+       size += get_xsave_desc_size();
+

  #define NT_S390_TIMER  0x301           /* s390 timer register */
  #define NT_S390_TODCMP 0x302           /* s390 TOD clock comparator register */
--
2.43.0


--
Regards/Gruss,
     Boris.

https://people.kernel.org/tglx/notes-about-netiquette




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux