From: Jeff Dike on
On Mon, May 31, 2010 at 03:51:32PM +0200, Borislav Petkov wrote:
> <arch/x86/include/asm/bitops.h> includes <asm/arch_hweight.h> which are
> the optimized variants.

But how does UML get to arch/x86/include/asm/bitops.h in the first place?

It must go through an arch/um/include/asm/something.h (where something
might be bitops) first, right?

Jeff

--
Work email - jdike at linux dot intel dot com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Borislav Petkov on
From: Jeff Dike <jdike(a)addtoit.com>
Date: Mon, May 31, 2010 at 11:56:19AM -0400

> On Mon, May 31, 2010 at 03:51:32PM +0200, Borislav Petkov wrote:
> > <arch/x86/include/asm/bitops.h> includes <asm/arch_hweight.h> which are
> > the optimized variants.
>
> But how does UML get to arch/x86/include/asm/bitops.h in the first place?
>
> It must go through an arch/um/include/asm/something.h (where something
> might be bitops) first, right?

Right, look at one of those dependencies file (for example,
arch/um/kernel/.ptrace.o.cmd) for a _very_ long inclusion chain which
contains <arch/x86/include/asm/arch_hweight.h> at some point.

--
Regards/Gruss,
Boris.

Operating Systems Research Center
Advanced Micro Devices, Inc.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Geert Uytterhoeven on
On Thu, Jun 10, 2010 at 00:43, H. Peter Anvin <hpa(a)linux.intel.com> wrote:
> Note: I have applied this  because it fixes a regression, but it bugs

You seem to have pushed the wrong one, from this/the old thread (new one has
`resent' in the subject)?

> the living bejeezus out of me that the saner patch:
>
> diff --git a/arch/um/include/asm/arch_hweight.h
> b/arch/um/include/asm/arch_hweight.h
> new file mode 100644
> index 0000000..c656cf4
> --- /dev/null
> +++ b/arch/um/include/asm/arch_hweight.h
> @@ -0,0 +1,6 @@
> +#ifndef _ASM_UM_HWEIGHT_H
> +#define _ASM_UM_HWEIGHT_H
> +
> +#include <asm-generic/bitops/arch_hweight.h>
> +
> +#endif
>
> ... supposedly didn't work.  As such, I consider this a temporary kluge
> until a proper solution is found.  From a code-cleanliness perspective,
> this patch is awful.

It does work, but it needs `make clean' first.

Probably the kbuild dependency system doesn't handle new include files
appearing earlier in the include path than an existing include file.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert(a)linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: H. Peter Anvin on
On 06/09/2010 10:32 PM, Geert Uytterhoeven wrote:
> On Thu, Jun 10, 2010 at 00:43, H. Peter Anvin <hpa(a)linux.intel.com> wrote:
>> Note: I have applied this because it fixes a regression, but it bugs
>
> You seem to have pushed the wrong one, from this/the old thread (new one has
> `resent' in the subject)?
>

I tried to make sure I wouldn't get bad metadata, and found that the
newer patch was supposedly marked "doesn't work".

If it was a build dependency issue that is one thing. I'll replace the
patch tomorrow.

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Toralf Förster on

Borislav Petkov wrote at 16:10:58
> Did you do 'make mrproper' before rebuilding UML with it?

Today I started with a clean git tree (cloned Linus tree) and got this :

foerste(a)n22 ~ $ start_uml.sh
Locating the bottom of the address space ... 0x1000
Locating the top of the address space ... 0xc0000000
Core dump limits :
soft - NONE
hard - NONE
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...OK
Checking for tmpfs mount on /dev/shm...OK
Checking PROT_EXEC mmap in /dev/shm/...OK
Checking for the skas3 patch in the host:
- /proc/mm...not found: No such file or directory
- PTRACE_FAULTINFO...not found
- PTRACE_LDT...not found
UML running in SKAS0 mode
Adding 23175168 bytes to physical memory to account for exec-shield gap
Linux version 2.6.35-rc3 (tfoerste(a)n22) (gcc version 4.4.3 (Gentoo 4.4.3-r2
p1.2) ) #1 Mon Jun 14 11:45:10 CEST 2010
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 70637
Kernel command line: ubda=/home/tfoerste/virtual/uml/gentoo_root_fs
ubdb=/home/tfoerste/virtual/uml/swap_fs eth0=tuntap,,,192.168.0.253 mem=256M
root=98:0
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 254232k available
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:15
Calibrating delay loop... 4692.37 BogoMIPS (lpj=23461888)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
Checking for host processor cmov support...Yes
Checking that host ptys support output SIGIO...Yes
Checking that host ptys support SIGIO on close...No, enabling workaround
Using 2.6 host AIO
NET: Registered protocol family 16
bio: create slab <bio-0> at 0
Switching to clocksource itimer
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
mconsole (version 2) initialized on /home/tfoerste/.uml/tfoerste/mconsole
Checking host MADV_REMOVE support...OK
UML Audio Relay (host dsp = /dev/sound/dsp, host mixer = /dev/sound/mixer)
Host TLS support detected
Detected host type: i386 (GDT indexes 6 to 9)
Installing knfsd (copyright (C) 1996 okir(a)monad.swb.de).
msgmni has been set to 496
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler cfq registered (default)
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk(a)qualcomm.com>
TCP cubic registered
NET: Registered protocol family 17
Initialized stdio console driver
Console initialized on /dev/tty0
console [tty0] enabled
Initializing software serial port version 1
console [mc-1] enabled
ubda:
EIP: 0073:[<081c4fcb>] CPU: 0 Not tainted ESP: 007b:08300b40 EFLAGS: 00010297
Not tainted
EAX: 00000000 EBX: 190d2000 ECX: ffff8aea EDX: 00000000
ESI: 191f4930 EDI: 191ef900 EBP: 191f4930 DS: 007b ES: 007b
08300794: [<0805e65f>] segv_handler+0x3f/0x60
083007a4: [<081c4fcb>] cfq_close_cooperator+0x4b/0x180
083007b0: [<0806eec5>] sig_handler_common+0x55/0xa0
083007f0: [<081c4fcb>] cfq_close_cooperator+0x4b/0x180
08300828: [<0806f063>] sig_handler+0x23/0x40
08300830: [<0806f2bd>] handle_signal+0x5d/0xa0
08300850: [<080715f7>] hard_handler+0x17/0x20
0830089c: [<081c4fcb>] cfq_close_cooperator+0x4b/0x180
08300a4c: [<0807a3eb>] T.696+0x9b/0xc0
08300a74: [<08079425>] enqueue_task+0x45/0x60
08300a94: [<0807945f>] activate_task+0x1f/0x30
08300aa0: [<080794d8>] try_to_wake_up+0x68/0xa0
08300acc: [<0809369f>] autoremove_wake_function+0x2f/0x60
08300ae8: [<0807754f>] __wake_up_common+0x4f/0x80
08300b18: [<08077837>] __wake_up+0x47/0x60
08300b3c: [<081c4fc6>] cfq_close_cooperator+0x46/0x180
08300b58: [<081c5440>] cfq_completed_request+0x2a0/0x560
08300b90: [<081b7fce>] elv_completed_request+0x7e/0xf0
08300ba8: [<081b98f6>] __blk_put_request+0x36/0xf0
08300bc0: [<081b9b26>] blk_finish_request+0x176/0x1d0
08300be0: [<081b9ea1>] blk_end_bidi_request+0x41/0x60
08300bf4: [<08068e8d>] ubd_intr+0x2d/0xf0
08300c14: [<080a6b32>] handle_IRQ_event+0x32/0xc0
08300c34: [<080a6c1b>] __do_IRQ+0x5b/0xb0
08300c50: [<0805b364>] do_IRQ+0x24/0x40
08300c5c: [<0805b59b>] sigio_handler+0x5b/0x80
08300c70: [<0806eec5>] sig_handler_common+0x55/0xa0
08300c80: [<0806efb5>] real_alarm_handler+0x35/0x40
08300cbc: [<080739f0>] __delay+0x20/0x30
08300ce8: [<0806f063>] sig_handler+0x23/0x40
08300cf0: [<0806f2bd>] handle_signal+0x5d/0xa0
08300d10: [<080715f7>] hard_handler+0x17/0x20

Kernel panic - not syncing: Segfault with no mm
083006c8: [<0827feff>] panic+0x60/0xd0
083006e0: [<0805e5dc>] segv+0x2ac/0x2f0
08300794: [<0805e65f>] segv_handler+0x3f/0x60
083007a4: [<081c4fcb>] cfq_close_cooperator+0x4b/0x180
083007b0: [<0806eec5>] sig_handler_common+0x55/0xa0
083007f0: [<081c4fcb>] cfq_close_cooperator+0x4b/0x180
08300828: [<0806f063>] sig_handler+0x23/0x40
08300830: [<0806f2bd>] handle_signal+0x5d/0xa0
08300850: [<080715f7>] hard_handler+0x17/0x20
0830089c: [<081c4fcb>] cfq_close_cooperator+0x4b/0x180
08300a4c: [<0807a3eb>] T.696+0x9b/0xc0
08300a74: [<08079425>] enqueue_task+0x45/0x60
08300a94: [<0807945f>] activate_task+0x1f/0x30
08300aa0: [<080794d8>] try_to_wake_up+0x68/0xa0
08300acc: [<0809369f>] autoremove_wake_function+0x2f/0x60
08300ae8: [<0807754f>] __wake_up_common+0x4f/0x80
08300b18: [<08077837>] __wake_up+0x47/0x60
08300b3c: [<081c4fc6>] cfq_close_cooperator+0x46/0x180
08300b58: [<081c5440>] cfq_completed_request+0x2a0/0x560
08300b90: [<081b7fce>] elv_completed_request+0x7e/0xf0
08300ba8: [<081b98f6>] __blk_put_request+0x36/0xf0
08300bc0: [<081b9b26>] blk_finish_request+0x176/0x1d0
08300be0: [<081b9ea1>] blk_end_bidi_request+0x41/0x60
08300bf4: [<08068e8d>] ubd_intr+0x2d/0xf0
08300c14: [<080a6b32>] handle_IRQ_event+0x32/0xc0
08300c34: [<080a6c1b>] __do_IRQ+0x5b/0xb0
08300c50: [<0805b364>] do_IRQ+0x24/0x40
08300c5c: [<0805b59b>] sigio_handler+0x5b/0x80
08300c70: [<0806eec5>] sig_handler_common+0x55/0xa0
08300c80: [<0806efb5>] real_alarm_handler+0x35/0x40
08300cbc: [<080739f0>] __delay+0x20/0x30
08300ce8: [<0806f063>] sig_handler+0x23/0x40
08300cf0: [<0806f2bd>] handle_signal+0x5d/0xa0
08300d10: [<080715f7>] hard_handler+0x17/0x20


EIP: 0000:[<00000000>] CPU: 0 Not tainted EFLAGS: 00000000
Not tainted
EAX: 00000000 EBX: 00000000 ECX: 00000000 EDX: 00000000
ESI: 00000000 EDI: 00000000 EBP: 00000000 DS: 0000 ES: 0000
083006a4: [<080986ac>] notifier_call_chain+0x3c/0x70
083006c8: [<0827ff27>] panic+0x88/0xd0
083006e0: [<0805e5dc>] segv+0x2ac/0x2f0
08300794: [<0805e65f>] segv_handler+0x3f/0x60
083007a4: [<081c4fcb>] cfq_close_cooperator+0x4b/0x180
083007b0: [<0806eec5>] sig_handler_common+0x55/0xa0
083007f0: [<081c4fcb>] cfq_close_cooperator+0x4b/0x180
08300828: [<0806f063>] sig_handler+0x23/0x40
08300830: [<0806f2bd>] handle_signal+0x5d/0xa0
08300850: [<080715f7>] hard_handler+0x17/0x20
0830089c: [<081c4fcb>] cfq_close_cooperator+0x4b/0x180
08300a4c: [<0807a3eb>] T.696+0x9b/0xc0
08300a74: [<08079425>] enqueue_task+0x45/0x60
08300a94: [<0807945f>] activate_task+0x1f/0x30
08300aa0: [<080794d8>] try_to_wake_up+0x68/0xa0
08300acc: [<0809369f>] autoremove_wake_function+0x2f/0x60
08300ae8: [<0807754f>] __wake_up_common+0x4f/0x80
08300b18: [<08077837>] __wake_up+0x47/0x60
08300b3c: [<081c4fc6>] cfq_close_cooperator+0x46/0x180
08300b58: [<081c5440>] cfq_completed_request+0x2a0/0x560
08300b90: [<081b7fce>] elv_completed_request+0x7e/0xf0
08300ba8: [<081b98f6>] __blk_put_request+0x36/0xf0
08300bc0: [<081b9b26>] blk_finish_request+0x176/0x1d0
08300be0: [<081b9ea1>] blk_end_bidi_request+0x41/0x60
08300bf4: [<08068e8d>] ubd_intr+0x2d/0xf0
08300c14: [<080a6b32>] handle_IRQ_event+0x32/0xc0
08300c34: [<080a6c1b>] __do_IRQ+0x5b/0xb0
08300c50: [<0805b364>] do_IRQ+0x24/0x40
08300c5c: [<0805b59b>] sigio_handler+0x5b/0x80
08300c70: [<0806eec5>] sig_handler_common+0x55/0xa0
08300c80: [<0806efb5>] real_alarm_handler+0x35/0x40
08300cbc: [<080739f0>] __delay+0x20/0x30
08300ce8: [<0806f063>] sig_handler+0x23/0x40
08300cf0: [<0806f2bd>] handle_signal+0x5d/0xa0
08300d10: [<080715f7>] hard_handler+0x17/0x20

Terminated


--
MfG/Kind regards
Toralf F�rster

pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3