Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757342Ab1F2Qdh (ORCPT ); Wed, 29 Jun 2011 12:33:37 -0400 Received: from mail-ey0-f174.google.com ([209.85.215.174]:63785 "EHLO mail-ey0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756860Ab1F2Qdf convert rfc822-to-8bit (ORCPT ); Wed, 29 Jun 2011 12:33:35 -0400 MIME-Version: 1.0 In-Reply-To: <201106291742.24137.richard@nod.at> References: <1309212931-19772-1-git-send-email-richard@nod.at> <201106291742.24137.richard@nod.at> Date: Wed, 29 Jun 2011 19:33:34 +0300 Message-ID: Subject: Re: [PATCH 1/4] um: Fix _FORTIFY_SOURCE=2 support for kernel modules From: Vitaliy Ivanov To: Richard Weinberger Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, user-mode-linux-devel@lists.sourceforge.net Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1824 Lines: 44 On Wed, Jun 29, 2011 at 6:42 PM, Richard Weinberger wrote: > Am Mittwoch 29 Juni 2011, 17:37:54 schrieb Vitaliy Ivanov: >> On Tue, Jun 28, 2011 at 1:15 AM, Richard Weinberger wrote: >> > When UML is compiled with _FORTIFY_SOURCE we have to >> > export all _chk() functions which are used in modules. >> > For now it's only the case for __sprintf_chk(). >> > >> > Tested-by: Florian Fainelli >> > Reported-by: Florian Fainelli >> > Signed-off-by: Richard Weinberger >> > --- >> > ?arch/um/os-Linux/user_syms.c | ? ?5 +++++ >> > ?1 files changed, 5 insertions(+), 0 deletions(-) >> > >> > diff --git a/arch/um/os-Linux/user_syms.c b/arch/um/os-Linux/user_syms.c >> > index 05f5ea8..45ffe46 100644 >> > --- a/arch/um/os-Linux/user_syms.c >> > +++ b/arch/um/os-Linux/user_syms.c >> > @@ -113,3 +113,8 @@ EXPORT_SYMBOL(__stack_smash_handler); >> > >> > ?extern long __guard __attribute__((weak)); >> > ?EXPORT_SYMBOL(__guard); >> > + >> > +#ifdef _FORTIFY_SOURCE >> > +extern int __sprintf_chk(char *str, int flag, size_t strlen, const char >> > *format); +EXPORT_SYMBOL(__sprintf_chk); >> > +#endif >> > -- >> >> Can you please clarify why it's needed? I use FORTIFY_SOURCES on >> Linus' tree UML on Ubuntu w/ no problems and w/o this patch... > > The problem appears only when a UML kernel module is using sprintf(). > E.g: CONFIG_UML_WATCHDOG. > Then loading the module will fail because of the missing symbol __sprintf_chk(). Thanks. Acked-by: Vitaliy Ivanov -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/