Skip to contentSkip to conversation

linux-yocto/meta-yocto: routerstationpro msync fix

PATCH New Bruce Ashfield 1 participant 2 messages May 7, 2012

lore
Share & tools
lore
#0 lore raw

cover linux-yocto/meta-yocto: routerstationpro msync fix

Richard/Saul,

Bumping the SRCREV of the routerstationpro to pickup a msync fix that was sent late in the 1.2 cycle.

Cheers,

Bruce

The following changes since commit 8edcd68611811afb6ecacc7c7fbbeb393ce36679:

linux-yocto/3.2: configuration and pch merge (2012-05-07 09:57:25 -0400)

are available in the git repository at:
git://git.pokylinux.org/poky-contrib zedd/kernel-yocto
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel-yocto

Bruce Ashfield (1):
linux-yocto/3.0: mm/msync: tweak tmpfs patch for syscall msync

 .../recipes-kernel/linux/linux-yocto_3.0.bbappend  |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Signature · 1 line
1.7.5.4
#1 lore raw

PATCH 1/1 linux-yocto/3.0: mm/msync: tweak tmpfs patch for syscall msync

Bumping the routerstationpro SRCREV for the following fix:

mm/msync: tweak tmpfs patch for syscall msync

Commit 1c3ae5441 "mm: msync: fix issues of sys_msync on tmpfs" fixes the problem that sys_msync fails with tmpfs on MIPS CPU which has feature "cache alias".

But it makes POSIX test cases mlockall/3-6 3-7 fail on MIPS. Case mlockall/3-6 creates a share memory, and maps it to memory.
fd = shm_open(SHM_NAME, O_RDWR|O_CREAT, S_IRUSR|S_IWUSR); foo = mmap(NULL, BUF_SIZE, PROT_WRITE, MAP_SHARED, fd, 0);
Then calls mlockall to lock all of the virtual address space:
if (mlockall(MCL_CURRENT) == -1) {
At last tests whether the virtual address spaces are locked:
page_ptr = (void*) ((long)foo - ((long)foo % page_size)); result = msync(page_ptr, page_size, MS_SYNC|MS_INVALIDATE);
It espects msync returns -1 with EBUSY but returns 0. Case mlockall/3-7 creates a normal file to mmap, and it fails too.

Tweak the patch to:
1 Moved the CONFIG_TMPFS block down in the loop so that the normal
vma flag checking will perform.
2 There may be other VMAs in the list after this VMA which belongs
to tmpfs file, and we should sync them after the tmpfs one. So remove the break loop clauses.

---
 .../recipes-kernel/linux/linux-yocto_3.0.bbappend  |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
meta-yocto/recipes-kernel/linux/linux-yocto_3.0.bbappend +1 -1
index 944f601..68c7cad 100644
@@ -5,7 +5,7 @@ KMACHINE_beagleboard = "yocto/standard/beagleboard"
 
 
 SRCREV_machine_atom-pc ?= "afdda882f902dd28693cd8701a7d497958290f09"
-SRCREV_machine_routerstationpro ?= "982522e3901fad56bb908565b22c498025ab536c"
+SRCREV_machine_routerstationpro ?= "220d89fcf345ee28fb0cdcf0f33f83b3dc7c460f"
 SRCREV_machine_mpc8315e-rdb ?= "83f422f718cf15633cb4c2d309aa041c3c354f65"
 SRCREV_machine_beagleboard ?= "8fd5a8eb4067c7032389e82d54f0e54e1e27f78c"
 
Signature · 1 line
1.7.5.4