mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	shm: page align shm size when mmap()ing it
This commit is contained in:
		
							parent
							
								
									9745483cdd
								
							
						
					
					
						commit
						595c22a3ad
					
				
					 1 changed files with 3 additions and 3 deletions
				
			
		| 
						 | 
					@ -105,7 +105,7 @@ int pa_shm_create_rw(pa_shm *m, size_t size, pa_bool_t shared, mode_t mode) {
 | 
				
			||||||
        m->size = size;
 | 
					        m->size = size;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef MAP_ANONYMOUS
 | 
					#ifdef MAP_ANONYMOUS
 | 
				
			||||||
        if ((m->ptr = mmap(NULL, m->size, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, -1, (off_t) 0)) == MAP_FAILED) {
 | 
					        if ((m->ptr = mmap(NULL, PA_PAGE_ALIGN(m->size), PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, -1, (off_t) 0)) == MAP_FAILED) {
 | 
				
			||||||
            pa_log("mmap() failed: %s", pa_cstrerror(errno));
 | 
					            pa_log("mmap() failed: %s", pa_cstrerror(errno));
 | 
				
			||||||
            goto fail;
 | 
					            goto fail;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					@ -143,7 +143,7 @@ int pa_shm_create_rw(pa_shm *m, size_t size, pa_bool_t shared, mode_t mode) {
 | 
				
			||||||
            goto fail;
 | 
					            goto fail;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if ((m->ptr = mmap(NULL, m->size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, (off_t) 0)) == MAP_FAILED) {
 | 
					        if ((m->ptr = mmap(NULL, PA_PAGE_ALIGN(m->size), PROT_READ|PROT_WRITE, MAP_SHARED, fd, (off_t) 0)) == MAP_FAILED) {
 | 
				
			||||||
            pa_log("mmap() failed: %s", pa_cstrerror(errno));
 | 
					            pa_log("mmap() failed: %s", pa_cstrerror(errno));
 | 
				
			||||||
            goto fail;
 | 
					            goto fail;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					@ -291,7 +291,7 @@ int pa_shm_attach_ro(pa_shm *m, unsigned id) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    m->size = (size_t) st.st_size;
 | 
					    m->size = (size_t) st.st_size;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if ((m->ptr = mmap(NULL, m->size, PROT_READ, MAP_SHARED, fd, (off_t) 0)) == MAP_FAILED) {
 | 
					    if ((m->ptr = mmap(NULL, PA_PAGE_ALIGN(m->size), PROT_READ, MAP_SHARED, fd, (off_t) 0)) == MAP_FAILED) {
 | 
				
			||||||
        pa_log("mmap() failed: %s", pa_cstrerror(errno));
 | 
					        pa_log("mmap() failed: %s", pa_cstrerror(errno));
 | 
				
			||||||
        goto fail;
 | 
					        goto fail;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue