lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Tue, 6 Jan 2009 09:48:54 +0100
From:	Pavel Machek <pavel@...e.cz>
To:	"Rafael J. Wysocki" <rjw@...k.pl>
Cc:	"Cheng Renquan (?????????)" <crquan@...il.com>,
	Arjan van de Ven <arjan@...ux.intel.com>,
	Al Viro <viro@...iv.linux.org.uk>,
	Matt Helsley <matthltc@...ibm.com>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	Adrian Bunk <bunk@...nel.org>,
	Ananth N Mavinakayanahalli <ananth@...ibm.com>,
	anil.s.keshavamurthy@...el.com, davem@...emloft.net,
	mhiramat@...hat.com, linux-kernel@...r.kernel.org
Subject: Re: KPROBE linking error (who's the maintainer of kernel/power/) ?

> Hi,
> 
> On Monday 05 January 2009, Cheng Renquan (?????????) wrote:
> > with this .config
> > 
> > CONFIG_CGROUPS=y
> > CONFIG_CGROUP_FREEZER=y
> > CONFIG_MODULES=y
> > CONFIG_FREEZER=y
> > CONFIG_PM=y
> > CONFIG_PM_SLEEP=n
> > 
> > the kernel will end compiling with error:
> > 
> > kernel/built-in.o: In function `check_safety':
> > /usr/src/linux-2.6.28/kernel/kprobes.c:126: undefined reference to
> > `freeze_processes'
> > /usr/src/linux-2.6.28/kernel/kprobes.c:139: undefined reference to
> > `thaw_processes'
> > /usr/src/linux-2.6.28/kernel/kprobes.c:139: undefined reference to
> > `thaw_processes'
> > make: *** [.tmp_vmlinux1] Error 1
> 
> So there is a bug, thanks for the report.
> 
> > By read kernel/kprobes.c, I found there maybe a bug:
> > 
> > 1. "check_safety" in "kernel/kprobes.c" call thaw_processes if both
> > CONFIG_PREEMPT and CONFIG_PM defined,
> > 2. "thaw_processes" function is implemented in "kernel/power/process.c",
> > 3. but it is only used if CONFIG_FREEZER defined, from <linux/freezer.h>,
> > 4. else (CONFIG_FREEZER undefined) it's a null macro defined in
> > <linux/freezer.h>,
> > 5. but process.o only get compile if CONFIG_PM_SLEEP defined, from
> > "kernel/power/Makefile",
> > 
> > Now I'm confused on how to resolve this?
> 
> I'd make process.o depend on CONFIG_FREEZER (patch below).
> 
> > What's the relation of PM, PM_SLEEP, and FREEZER?
> 
> PM_SLEEP depends on PM and FREEZER is defined in kernel/Kconfig.freezer as
> 
> config FREEZER
>         def_bool PM_SLEEP || CGROUP_FREEZER
> 
> > Which modification of the following will be better?
> > 1. modify kernel/Kconfig, let KPROBES depends more?
> > 2. modify kernel/kprobes.c, let the conditional compile depends more?
> > 3. modify include/linux/freezer.h, move thaw_processes to include/linux/pm.h?
> > 4. modify kernel/power/Makefile, let kernel/power/process.c compile on
> > less condition?
> > 
> > Furthermore, there seems no entry for maintainers of "kernel/power/",
> > who maintain that subdir please add your name to the MAINTAINERS file?
> > I just grab some latest touchers of kernel/power/ and kernel/kprobes.c
> > as the recipients here.
> 
> I'm one of the maintainers.
> 
> Thanks,
> Rafael
> 
> ---
> Subject: PM: Fix freezer compilation if PM_SLEEP is unset
> From: Rafael J. Wysocki <rjw@...k.pl>
> 
> Freezer fails to compile if with the following configuration
> settings:
> 
> CONFIG_CGROUPS=y
> CONFIG_CGROUP_FREEZER=y
> CONFIG_MODULES=y
> CONFIG_FREEZER=y
> CONFIG_PM=y
> CONFIG_PM_SLEEP=n
> 
> Fix this by making process.o compilation depend on CONFIG_FREEZER.
> 
> Reported-by: Cheng Renquan <crquan@...il.com>
> Signed-off-by: Rafael J. Wysocki <rjw@...k.pl>

Acked-by: Pavel Machek <pavel@...e.cz>

> ---
>  kernel/power/Makefile |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> Index: linux-2.6/kernel/power/Makefile
> ===================================================================
> --- linux-2.6.orig/kernel/power/Makefile
> +++ linux-2.6/kernel/power/Makefile
> @@ -4,7 +4,8 @@ EXTRA_CFLAGS	+=	-DDEBUG
>  endif
>  
>  obj-y				:= main.o
> -obj-$(CONFIG_PM_SLEEP)		+= process.o console.o
> +obj-$(CONFIG_PM_SLEEP)		+= console.o
> +obj-$(CONFIG_FREEZER)		+= process.o
>  obj-$(CONFIG_HIBERNATION)	+= swsusp.o disk.o snapshot.o swap.o user.o
>  
>  obj-$(CONFIG_MAGIC_SYSRQ)	+= poweroff.o
> 
> 

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ