FAQ:[#6575] munmap error while trying to unmap unaligned end addr(2011)

Document created by Aaronwu Employee on Sep 11, 2013
Version 1Show Document
  • View in full screen mode

[#6575] munmap error while trying to unmap unaligned end addr

Submitted By: Bob Liu

Open Date

2011-05-03 23:14:04     Close Date

2011-10-20 01:10:40

Priority:

Medium     Assignee:

Bob Liu

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2011R1     Release:

Category:

N/A     Board:

N/A

Processor:

ALL     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

cc version 4.3.5

App binary format:

N/A     

Summary: munmap error while trying to unmap unaligned end addr

Details:

 

There are some issues about munmap error during unmap frame buffer.

 

See:

http://blackfin.uclinux.org/gf/forummessage/100054

http://blackfin.uclinux.org/gf/forummessage/100375

 

The problem maybe caused by unaligned end addr.

 

Follow-ups

 

--- Bob Liu                                                  2011-05-26 22:38:21

munmap error:

1. the root cause is do_munmap() in mm/nommu.c can't find the exact vma to

free.

2. in bfin-lq035q1-fb frame buffer driver, the get_fb_unmapped_area() will get

the screen_base addr and pass to fb_mmap() in drivers/video/fbmem.c.

 

But screen_base addr is not page_aligned, so fb_mmap() will align it, and call

io_remap_pfn_range() which is remap_pfn_range() on bfin arch.

 

3. remap_pfn_range() only change the start_addr of vma, so during munmap()

there is no vma can be matched.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes