nhdr_ptr = notes_section;
                while (nhdr_ptr->n_namesz != 0) {
                        sz = sizeof(Elf64_Nhdr) +
-                               ((nhdr_ptr->n_namesz + 3) & ~3) +
-                               ((nhdr_ptr->n_descsz + 3) & ~3);
+                               (((u64)nhdr_ptr->n_namesz + 3) & ~3) +
+                               (((u64)nhdr_ptr->n_descsz + 3) & ~3);
                        if ((real_sz + sz) > max_sz) {
                                pr_warn("Warning: Exceeded p_memsz, dropping PT_NOTE entry n_namesz=0x%x, n_descsz=0x%x\n",
                                        nhdr_ptr->n_namesz, nhdr_ptr->n_descsz);
                nhdr_ptr = notes_section;
                while (nhdr_ptr->n_namesz != 0) {
                        sz = sizeof(Elf32_Nhdr) +
-                               ((nhdr_ptr->n_namesz + 3) & ~3) +
-                               ((nhdr_ptr->n_descsz + 3) & ~3);
+                               (((u64)nhdr_ptr->n_namesz + 3) & ~3) +
+                               (((u64)nhdr_ptr->n_descsz + 3) & ~3);
                        if ((real_sz + sz) > max_sz) {
                                pr_warn("Warning: Exceeded p_memsz, dropping PT_NOTE entry n_namesz=0x%x, n_descsz=0x%x\n",
                                        nhdr_ptr->n_namesz, nhdr_ptr->n_descsz);