All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Szyprowski <m.szyprowski@samsung.com>
To: lkp@lists.01.org
Subject: Re: [mm] BUG: Int 6: CR2 (null)
Date: Thu, 23 Oct 2014 09:46:42 +0200	[thread overview]
Message-ID: <5448B262.5080401@samsung.com> (raw)
In-Reply-To: <CAL1ERfOneR5ix3y0Q6GFyPondQp8MpPZY=8nJWZc9n1FC=d9Gw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4261 bytes --]

Hello,

On 2014-10-23 08:03, Weijie Yang wrote:
> On Thu, Oct 9, 2014 at 10:04 AM, Fengguang Wu <fengguang.wu@intel.com> wrote:
>> FYI, we noticed the below changes on
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
>> commit 478e86d7c8c5f41e29abb81b05b459d24bdc71a2 ("mm: cma: adjust address limit to avoid hitting low/high memory boundary")
>>
>>
>> +------------------------------------------+------------+------------+
>> |                                          | 81febe58a8 | 478e86d7c8 |
>> +------------------------------------------+------------+------------+
>> | boot_successes                           | 10         | 0          |
>> | boot_failures                            | 5          | 10         |
>> | kernel_BUG_at_arch/x86/mm/physaddr.c     | 5          |            |
>> | invalid_opcode                           | 5          |            |
>> | EIP_is_at__phys_addr                     | 5          |            |
>> | Kernel_panic-not_syncing:Fatal_exception | 5          |            |
>> | backtrace:vm_mmap_pgoff                  | 5          |            |
>> | backtrace:SyS_mmap_pgoff                 | 5          |            |
>> | BUG:Int_CR2(null)                        | 0          | 10         |
>> +------------------------------------------+------------+------------+
>>
>> [    0.000000] BRK [0x025ee000, 0x025eefff] PGTABLE
>> [    0.000000] cma: dma_contiguous_reserve(limit 13ffe000)
>> [    0.000000] cma: dma_contiguous_reserve: reserving 31 MiB for global area
>> [    0.000000] BUG: Int 6: CR2   (null)
>> [    0.000000]      EDI c0000000  ESI   (null)  EBP 41c11ea4  EBX 425cc101
>> [    0.000000]      ESP 41c11e98   ES 0000007b   DS 0000007b
>> [    0.000000]      EDX 00000001  ECX   (null)  EAX 41cd8150
>> [    0.000000]      vec 00000006  err   (null)  EIP 41072227   CS 00000060  flg 00210002
>> [    0.000000] Stack: 425cc150   (null)   (null) 41c11ef4 41d4ee4d   (null) 13ffe000 41c11ec4
>> [    0.000000]        41c2d900   (null) 13ffe000   (null) 4185793e 0000002e 410c2982 41c11f00
>> [    0.000000]        410c2df5   (null)   (null)   (null) 425cc150 00013efe   (null) 41c11f28
>> [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 3.17.0-next-20141008 #815
>> [    0.000000]  00000000 425cc101 41c11e48 41850786 41c11ea4 41d2b1db 41d95f71 00000006
>> [    0.000000]  00000000 c0000000 00000000 41c11ea4 425cc101 41c11e98 0000007b 0000007b
>> [    0.000000]  00000001 00000000 41cd8150 00000006 00000000 41072227 00000060 00210002
>> [    0.000000] Call Trace:
>> [    0.000000]  [<41850786>] dump_stack+0x16/0x18
>> [    0.000000]  [<41d2b1db>] early_idt_handler+0x6b/0x6b
>> [    0.000000]  [<41072227>] ? __phys_addr+0x2e/0xca
>> [    0.000000]  [<41d4ee4d>] cma_declare_contiguous+0x3c/0x2d7
>> [    0.000000]  [<4185793e>] ? _raw_spin_unlock_irqrestore+0x59/0x91
>> [    0.000000]  [<410c2982>] ? wake_up_klogd+0x8/0x33
>> [    0.000000]  [<410c2df5>] ? console_unlock+0x448/0x461
>> [    0.000000]  [<41d6d359>] dma_contiguous_reserve_area+0x27/0x47
>> [    0.000000]  [<41d6d4d1>] dma_contiguous_reserve+0x158/0x163
>> [    0.000000]  [<41d33e0f>] setup_arch+0x79b/0xc68
>> [    0.000000]  [<4184c0b4>] ? printk+0x1c/0x1e
>> [    0.000000]  [<41d2b7cf>] start_kernel+0x9c/0x456
>> [    0.000000]  [<41d2b2ca>] i386_start_kernel+0x79/0x7d
>>
> I notice that code has been merged into mainline kernel without fix,
> maybe fengguang's mail was missed.
>
> I review the code, dma_contiguous_reserve() is called before initmem_init(),
> so the variable high_memory is not initialized and calculated by
> __pa(high_memory),
> in x86 arch high_memory is initialized after dma_contiguous_reserve(), while
> in arm arch high_memory is initialized before dma_contiguous_reserve(),
> I think that is the reason which causes the BUG in x86.
>
> However, I'm not familiar with system init sequence, so I send this
> notice mail rather than a patch :-(

Thanks for your analysis. I agree that the simplest way of fixing this 
issue is
to move dma_contiguous_reserve() after initmem_init(). Could you prepare 
such patch?

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland


WARNING: multiple messages have this Message-ID (diff)
From: Marek Szyprowski <m.szyprowski@samsung.com>
To: Weijie Yang <weijie.yang.kh@gmail.com>,
	Fengguang Wu <fengguang.wu@intel.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	LKML <linux-kernel@vger.kernel.org>,
	lkp@01.org, mina86@mina86.com,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Linux-MM <linux-mm@kvack.org>
Subject: Re: [mm] BUG: Int 6: CR2 (null)
Date: Thu, 23 Oct 2014 09:46:42 +0200	[thread overview]
Message-ID: <5448B262.5080401@samsung.com> (raw)
In-Reply-To: <CAL1ERfOneR5ix3y0Q6GFyPondQp8MpPZY=8nJWZc9n1FC=d9Gw@mail.gmail.com>

Hello,

On 2014-10-23 08:03, Weijie Yang wrote:
> On Thu, Oct 9, 2014 at 10:04 AM, Fengguang Wu <fengguang.wu@intel.com> wrote:
>> FYI, we noticed the below changes on
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
>> commit 478e86d7c8c5f41e29abb81b05b459d24bdc71a2 ("mm: cma: adjust address limit to avoid hitting low/high memory boundary")
>>
>>
>> +------------------------------------------+------------+------------+
>> |                                          | 81febe58a8 | 478e86d7c8 |
>> +------------------------------------------+------------+------------+
>> | boot_successes                           | 10         | 0          |
>> | boot_failures                            | 5          | 10         |
>> | kernel_BUG_at_arch/x86/mm/physaddr.c     | 5          |            |
>> | invalid_opcode                           | 5          |            |
>> | EIP_is_at__phys_addr                     | 5          |            |
>> | Kernel_panic-not_syncing:Fatal_exception | 5          |            |
>> | backtrace:vm_mmap_pgoff                  | 5          |            |
>> | backtrace:SyS_mmap_pgoff                 | 5          |            |
>> | BUG:Int_CR2(null)                        | 0          | 10         |
>> +------------------------------------------+------------+------------+
>>
>> [    0.000000] BRK [0x025ee000, 0x025eefff] PGTABLE
>> [    0.000000] cma: dma_contiguous_reserve(limit 13ffe000)
>> [    0.000000] cma: dma_contiguous_reserve: reserving 31 MiB for global area
>> [    0.000000] BUG: Int 6: CR2   (null)
>> [    0.000000]      EDI c0000000  ESI   (null)  EBP 41c11ea4  EBX 425cc101
>> [    0.000000]      ESP 41c11e98   ES 0000007b   DS 0000007b
>> [    0.000000]      EDX 00000001  ECX   (null)  EAX 41cd8150
>> [    0.000000]      vec 00000006  err   (null)  EIP 41072227   CS 00000060  flg 00210002
>> [    0.000000] Stack: 425cc150   (null)   (null) 41c11ef4 41d4ee4d   (null) 13ffe000 41c11ec4
>> [    0.000000]        41c2d900   (null) 13ffe000   (null) 4185793e 0000002e 410c2982 41c11f00
>> [    0.000000]        410c2df5   (null)   (null)   (null) 425cc150 00013efe   (null) 41c11f28
>> [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 3.17.0-next-20141008 #815
>> [    0.000000]  00000000 425cc101 41c11e48 41850786 41c11ea4 41d2b1db 41d95f71 00000006
>> [    0.000000]  00000000 c0000000 00000000 41c11ea4 425cc101 41c11e98 0000007b 0000007b
>> [    0.000000]  00000001 00000000 41cd8150 00000006 00000000 41072227 00000060 00210002
>> [    0.000000] Call Trace:
>> [    0.000000]  [<41850786>] dump_stack+0x16/0x18
>> [    0.000000]  [<41d2b1db>] early_idt_handler+0x6b/0x6b
>> [    0.000000]  [<41072227>] ? __phys_addr+0x2e/0xca
>> [    0.000000]  [<41d4ee4d>] cma_declare_contiguous+0x3c/0x2d7
>> [    0.000000]  [<4185793e>] ? _raw_spin_unlock_irqrestore+0x59/0x91
>> [    0.000000]  [<410c2982>] ? wake_up_klogd+0x8/0x33
>> [    0.000000]  [<410c2df5>] ? console_unlock+0x448/0x461
>> [    0.000000]  [<41d6d359>] dma_contiguous_reserve_area+0x27/0x47
>> [    0.000000]  [<41d6d4d1>] dma_contiguous_reserve+0x158/0x163
>> [    0.000000]  [<41d33e0f>] setup_arch+0x79b/0xc68
>> [    0.000000]  [<4184c0b4>] ? printk+0x1c/0x1e
>> [    0.000000]  [<41d2b7cf>] start_kernel+0x9c/0x456
>> [    0.000000]  [<41d2b2ca>] i386_start_kernel+0x79/0x7d
>>
> I notice that code has been merged into mainline kernel without fix,
> maybe fengguang's mail was missed.
>
> I review the code, dma_contiguous_reserve() is called before initmem_init(),
> so the variable high_memory is not initialized and calculated by
> __pa(high_memory),
> in x86 arch high_memory is initialized after dma_contiguous_reserve(), while
> in arm arch high_memory is initialized before dma_contiguous_reserve(),
> I think that is the reason which causes the BUG in x86.
>
> However, I'm not familiar with system init sequence, so I send this
> notice mail rather than a patch :-(

Thanks for your analysis. I agree that the simplest way of fixing this 
issue is
to move dma_contiguous_reserve() after initmem_init(). Could you prepare 
such patch?

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Marek Szyprowski <m.szyprowski@samsung.com>
To: Weijie Yang <weijie.yang.kh@gmail.com>,
	Fengguang Wu <fengguang.wu@intel.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	LKML <linux-kernel@vger.kernel.org>,
	lkp@01.org, mina86@mina86.com,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Linux-MM <linux-mm@kvack.org>
Subject: Re: [mm] BUG: Int 6: CR2 (null)
Date: Thu, 23 Oct 2014 09:46:42 +0200	[thread overview]
Message-ID: <5448B262.5080401@samsung.com> (raw)
In-Reply-To: <CAL1ERfOneR5ix3y0Q6GFyPondQp8MpPZY=8nJWZc9n1FC=d9Gw@mail.gmail.com>

Hello,

On 2014-10-23 08:03, Weijie Yang wrote:
> On Thu, Oct 9, 2014 at 10:04 AM, Fengguang Wu <fengguang.wu@intel.com> wrote:
>> FYI, we noticed the below changes on
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
>> commit 478e86d7c8c5f41e29abb81b05b459d24bdc71a2 ("mm: cma: adjust address limit to avoid hitting low/high memory boundary")
>>
>>
>> +------------------------------------------+------------+------------+
>> |                                          | 81febe58a8 | 478e86d7c8 |
>> +------------------------------------------+------------+------------+
>> | boot_successes                           | 10         | 0          |
>> | boot_failures                            | 5          | 10         |
>> | kernel_BUG_at_arch/x86/mm/physaddr.c     | 5          |            |
>> | invalid_opcode                           | 5          |            |
>> | EIP_is_at__phys_addr                     | 5          |            |
>> | Kernel_panic-not_syncing:Fatal_exception | 5          |            |
>> | backtrace:vm_mmap_pgoff                  | 5          |            |
>> | backtrace:SyS_mmap_pgoff                 | 5          |            |
>> | BUG:Int_CR2(null)                        | 0          | 10         |
>> +------------------------------------------+------------+------------+
>>
>> [    0.000000] BRK [0x025ee000, 0x025eefff] PGTABLE
>> [    0.000000] cma: dma_contiguous_reserve(limit 13ffe000)
>> [    0.000000] cma: dma_contiguous_reserve: reserving 31 MiB for global area
>> [    0.000000] BUG: Int 6: CR2   (null)
>> [    0.000000]      EDI c0000000  ESI   (null)  EBP 41c11ea4  EBX 425cc101
>> [    0.000000]      ESP 41c11e98   ES 0000007b   DS 0000007b
>> [    0.000000]      EDX 00000001  ECX   (null)  EAX 41cd8150
>> [    0.000000]      vec 00000006  err   (null)  EIP 41072227   CS 00000060  flg 00210002
>> [    0.000000] Stack: 425cc150   (null)   (null) 41c11ef4 41d4ee4d   (null) 13ffe000 41c11ec4
>> [    0.000000]        41c2d900   (null) 13ffe000   (null) 4185793e 0000002e 410c2982 41c11f00
>> [    0.000000]        410c2df5   (null)   (null)   (null) 425cc150 00013efe   (null) 41c11f28
>> [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 3.17.0-next-20141008 #815
>> [    0.000000]  00000000 425cc101 41c11e48 41850786 41c11ea4 41d2b1db 41d95f71 00000006
>> [    0.000000]  00000000 c0000000 00000000 41c11ea4 425cc101 41c11e98 0000007b 0000007b
>> [    0.000000]  00000001 00000000 41cd8150 00000006 00000000 41072227 00000060 00210002
>> [    0.000000] Call Trace:
>> [    0.000000]  [<41850786>] dump_stack+0x16/0x18
>> [    0.000000]  [<41d2b1db>] early_idt_handler+0x6b/0x6b
>> [    0.000000]  [<41072227>] ? __phys_addr+0x2e/0xca
>> [    0.000000]  [<41d4ee4d>] cma_declare_contiguous+0x3c/0x2d7
>> [    0.000000]  [<4185793e>] ? _raw_spin_unlock_irqrestore+0x59/0x91
>> [    0.000000]  [<410c2982>] ? wake_up_klogd+0x8/0x33
>> [    0.000000]  [<410c2df5>] ? console_unlock+0x448/0x461
>> [    0.000000]  [<41d6d359>] dma_contiguous_reserve_area+0x27/0x47
>> [    0.000000]  [<41d6d4d1>] dma_contiguous_reserve+0x158/0x163
>> [    0.000000]  [<41d33e0f>] setup_arch+0x79b/0xc68
>> [    0.000000]  [<4184c0b4>] ? printk+0x1c/0x1e
>> [    0.000000]  [<41d2b7cf>] start_kernel+0x9c/0x456
>> [    0.000000]  [<41d2b2ca>] i386_start_kernel+0x79/0x7d
>>
> I notice that code has been merged into mainline kernel without fix,
> maybe fengguang's mail was missed.
>
> I review the code, dma_contiguous_reserve() is called before initmem_init(),
> so the variable high_memory is not initialized and calculated by
> __pa(high_memory),
> in x86 arch high_memory is initialized after dma_contiguous_reserve(), while
> in arm arch high_memory is initialized before dma_contiguous_reserve(),
> I think that is the reason which causes the BUG in x86.
>
> However, I'm not familiar with system init sequence, so I send this
> notice mail rather than a patch :-(

Thanks for your analysis. I agree that the simplest way of fixing this 
issue is
to move dma_contiguous_reserve() after initmem_init(). Could you prepare 
such patch?

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland


  reply	other threads:[~2014-10-23  7:46 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-09  2:04 [mm] BUG: Int 6: CR2 (null) Fengguang Wu
2014-10-09  2:04 ` Fengguang Wu
2014-10-23  6:03 ` Weijie Yang
2014-10-23  6:03   ` Weijie Yang
2014-10-23  6:03   ` Weijie Yang
2014-10-23  7:46   ` Marek Szyprowski [this message]
2014-10-23  7:46     ` Marek Szyprowski
2014-10-23  7:46     ` Marek Szyprowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5448B262.5080401@samsung.com \
    --to=m.szyprowski@samsung.com \
    --cc=lkp@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.