Your commit:

    ramfs: fix memleak on no-mmu arch
    
    On no-mmu arch, there is a memleak during shmem test.  The cause of this
    memleak is ramfs_nommu_expand_for_mapping() added page refcount to 2
    which makes iput() can't free that pages.
    
    The simple test file is like this:
    
      int main(void)
      {
        int i;
        key_t k = ftok("/etc", 42);
    
        for ( i=0; i<100; ++i) {
                int id = shmget(k, 10000, 0644|IPC_CREAT);
                if (id == -1) {
                        printf("shmget error\n");
                }
                if(shmctl(id, IPC_RMID, NULL ) == -1) {
                        printf("shm  rm error\n");
                        return -1;
                }
        }
        printf("run ok...\n");
        return 0;
      }
    
    And the result:
    
      root:/> free
                   total         used         free       shared      buffers
      Mem:         60320        17912        42408            0            0
      -/+ buffers:              17912        42408
      root:/> shmem
      run ok...
      root:/> free
                   total         used         free       shared      buffers
      Mem:         60320        19096        41224            0            0
      -/+ buffers:              19096        41224
      root:/> shmem
      run ok...
      root:/> free
                   total         used         free       shared      buffers
      Mem:         60320        20296        40024            0            0
      -/+ buffers:              20296        40024
      ...
    
    After this patch the test result is:(no memleak anymore)
    
      root:/> free
                   total         used         free       shared      buffers
      Mem:         60320        16668        43652            0            0
      -/+ buffers:              16668        43652
      root:/> shmem
      run ok...
      root:/> free
                   total         used         free       shared      buffers
      Mem:         60320        16668        43652            0            0
      -/+ buffers:              16668        43652
    
    Signed-off-by: Bob Liu <[email protected]>
    Acked-by: Hugh Dickins <[email protected]>
    Signed-off-by: David Howells <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

has been added to the upstream SCSI tree
You can find it here:

http://git.kernel.org/?p=linux/kernel/git/jejb/scsi-misc-2.6.git;a=commit;h=b836aec53e2bce71de1d5415313380688c851477

This patch is scheduled to be pushed when the merge window opens for 2.6.39

James Bottomley

P.S. If you find this email unwanted, set up a procmail rule junking on
the header:

X-Git-Tree: SCSI

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to