diff for duplicates of <48FE08CB.5080308@sgi.com> diff --git a/a/1.txt b/N1/1.txt index 88ac98a..5988ba6 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -33,8 +33,7 @@ I think this patch is not right for two reasons: 1) The if-statement below has never proved the correctness of its intent because the 'break' statement never got executed due to a logic error. - if (loaded_segments[loaded_segments_num].end != - (phdr->p_paddr & ~(ELF_PAGE_SIZE-1))) + if (loaded_segments[loaded_segments_num].end ! (phdr->p_paddr & ~(ELF_PAGE_SIZE-1))) break; 2) With your patch in my testing, the kdump kernel boot hung even earlier in a PAL_CALL that was not returned to the kernel. @@ -58,22 +57,13 @@ jay > Signed-off-by: Simon Horman <horms@verge.net.au> > > Index: kexec-tools/kexec/arch/ia64/crashdump-ia64.c -> =================================================================== -> --- kexec-tools.orig/kexec/arch/ia64/crashdump-ia64.c 2008-10-08 17:31:42.000000000 +1100 +> =================================> --- kexec-tools.orig/kexec/arch/ia64/crashdump-ia64.c 2008-10-08 17:31:42.000000000 +1100 > +++ kexec-tools/kexec/arch/ia64/crashdump-ia64.c 2008-10-08 17:32:08.000000000 +1100 > @@ -91,7 +91,7 @@ static void add_loaded_segments_info(str > if (phdr->p_type != PT_LOAD) > break; -> if (loaded_segments[loaded_segments_num].end != -> - phdr->p_paddr & ~(ELF_PAGE_SIZE-1)) +> if (loaded_segments[loaded_segments_num].end !> - phdr->p_paddr & ~(ELF_PAGE_SIZE-1)) > + (phdr->p_paddr & ~(ELF_PAGE_SIZE-1))) > break; -> loaded_segments[loaded_segments_num].end += -> (phdr->p_memsz + ELF_PAGE_SIZE - 1) & -> - - -_______________________________________________ -kexec mailing list -kexec@lists.infradead.org -http://lists.infradead.org/mailman/listinfo/kexec +> loaded_segments[loaded_segments_num].end +> (phdr->p_memsz + ELF_PAGE_SIZE - 1) & +> diff --git a/a/content_digest b/N1/content_digest index 1194aad..684ca59 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,7 +1,7 @@ "ref\020081008064940.GA11893@verge.net.au\0" "From\0Jay Lan <jlan@sgi.com>\0" "Subject\0Re: [patch] ia64: Order of operations bug in PT_LOAD segment reader\0" - "Date\0Tue, 21 Oct 2008 09:52:27 -0700\0" + "Date\0Tue, 21 Oct 2008 16:52:27 +0000\0" "To\0Simon Horman <horms@verge.net.au>\0" "Cc\0kexec@lists.infradead.org" Bernhard Walle <bwalle@suse.de> @@ -45,8 +45,7 @@ "1) The if-statement below has never proved the correctness of\n" " its intent because the 'break' statement never got executed\n" " due to a logic error.\n" - " \t\tif (loaded_segments[loaded_segments_num].end !=\n" - "\t\t\t(phdr->p_paddr & ~(ELF_PAGE_SIZE-1)))\n" + " \t\tif (loaded_segments[loaded_segments_num].end !\t\t\t(phdr->p_paddr & ~(ELF_PAGE_SIZE-1)))\n" "\t\t\tbreak;\n" "2) With your patch in my testing, the kdump kernel boot hung\n" " even earlier in a PAL_CALL that was not returned to the kernel.\n" @@ -70,24 +69,15 @@ "> Signed-off-by: Simon Horman <horms@verge.net.au>\n" "> \n" "> Index: kexec-tools/kexec/arch/ia64/crashdump-ia64.c\n" - "> ===================================================================\n" - "> --- kexec-tools.orig/kexec/arch/ia64/crashdump-ia64.c\t2008-10-08 17:31:42.000000000 +1100\n" + "> =================================> --- kexec-tools.orig/kexec/arch/ia64/crashdump-ia64.c\t2008-10-08 17:31:42.000000000 +1100\n" "> +++ kexec-tools/kexec/arch/ia64/crashdump-ia64.c\t2008-10-08 17:32:08.000000000 +1100\n" "> @@ -91,7 +91,7 @@ static void add_loaded_segments_info(str\n" "> \t if (phdr->p_type != PT_LOAD)\n" "> \t break;\n" - "> \t\t\tif (loaded_segments[loaded_segments_num].end !=\n" - "> -\t\t\t\tphdr->p_paddr & ~(ELF_PAGE_SIZE-1))\n" + "> \t\t\tif (loaded_segments[loaded_segments_num].end !> -\t\t\t\tphdr->p_paddr & ~(ELF_PAGE_SIZE-1))\n" "> +\t\t\t\t(phdr->p_paddr & ~(ELF_PAGE_SIZE-1)))\n" "> \t\t\t\tbreak;\n" - "> \t\t\tloaded_segments[loaded_segments_num].end +=\n" - "> \t\t\t\t(phdr->p_memsz + ELF_PAGE_SIZE - 1) &\n" - "> \n" - "\n" - "\n" - "_______________________________________________\n" - "kexec mailing list\n" - "kexec@lists.infradead.org\n" - http://lists.infradead.org/mailman/listinfo/kexec + "> \t\t\tloaded_segments[loaded_segments_num].end +> \t\t\t\t(phdr->p_memsz + ELF_PAGE_SIZE - 1) &\n" + > -e63794511b23149cc59cc496456d2fa2f1603e04a98aff6e5ae6fd16a7213cef +edadf8a9b176c936d6c8c40be0613fdca9243c07eb474b2c25ce18c2856664d1
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.