Re: [tip:x86/urgent] x86/vdso: Discard the __bug_table section

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

 



On 06/22/2014 01:47 AM, Ingo Molnar wrote:
> 
> * tip-bot for Andy Lutomirski <tipbot@xxxxxxxxx> wrote:
> 
>> Commit-ID:  5f56e7167e6d438324fcba87018255d81e201383
>> Gitweb:     http://git.kernel.org/tip/5f56e7167e6d438324fcba87018255d81e201383
>> Author:     Andy Lutomirski <luto@xxxxxxxxxxxxxx>
>> AuthorDate: Wed, 18 Jun 2014 15:59:46 -0700
>> Committer:  H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
>> CommitDate: Thu, 19 Jun 2014 15:44:51 -0700
>>
>> x86/vdso: Discard the __bug_table section
>>
>> It serves no purpose in user code.
>>
>> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
>> Link: http://lkml.kernel.org/r/2a5bebff42defd8a5e81d96f7dc00f21143c80e8.1403129369.git.luto@xxxxxxxxxxxxxx
>> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
>> ---
>>  arch/x86/vdso/vdso-layout.lds.S | 1 +
>>  1 file changed, 1 insertion(+)
> 
> One of the recent x86/urgent vdso commits causes this build failure:
> 
>  Error: too many copied sections (max = 13)
>  make[2]: *** [arch/x86/vdso/vdso-image-64.c] Error 1
>  make[1]: *** [arch/x86/vdso] Error 2
>  make: *** [arch/x86] Error 2
> 
> with the attached config.
> 

Hi Ingo,

Could you try this with the attached patch?

	-hpa


>From e28dc3efe8a8880206e90886cc12649f87fa1848 Mon Sep 17 00:00:00 2001
From: "H. Peter Anvin" <hpa@xxxxxxxxx>
Date: Tue, 24 Jun 2014 11:26:18 -0700
Subject: [PATCH] x86/vdso: Make vdso2c print the number of sections needed on
 error

If we run out of space for section, at least make the error message
print the amount of space we need so we can actually diagnose it.
Furthermore, the test should be > instead of >= (it is okay to have
exactly the maximum number of sections.)

Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20140622084754.GA15094@xxxxxxxxx
---
 arch/x86/vdso/vdso2c.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/x86/vdso/vdso2c.h b/arch/x86/vdso/vdso2c.h
index f42e2ddc663d..94158e100f26 100644
--- a/arch/x86/vdso/vdso2c.h
+++ b/arch/x86/vdso/vdso2c.h
@@ -99,8 +99,9 @@ static void BITSFUNC(copy_section)(struct BITSFUNC(fake_sections) *out,
 	if (!copy)
 		return;
 
-	if (out->count >= out->max_count)
-		fail("too many copied sections (max = %d)\n", out->max_count);
+	if (out->count > out->max_count)
+		fail("too many copied sections (max = %d, need = %d)\n",
+		     out->max_count, out->count);
 
 	if (in_idx == out->in_shstrndx)
 		out->out_shstrndx = out->count;
-- 
1.9.3


[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux