X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=net%2Fipv4%2Ftcp.c;h=810cc164f795f8e1e8ca747ed5df51bb20fec8a2;hb=96144c58abe7ff767e754b5b80995f7b8846d49b;hp=ecbba0abd3e5b70212c54c0cbf9f20656180c13c;hpb=bc139119a1708ae3db1ebb379630f286e28d06e8;p=mirror_ubuntu-jammy-kernel.git diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index ecbba0abd3e5..810cc164f795 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -1734,7 +1734,7 @@ int tcp_mmap(struct file *file, struct socket *sock, return -EPERM; vma->vm_flags &= ~(VM_MAYWRITE | VM_MAYEXEC); - /* Instruct vm_insert_page() to not down_read(mmap_sem) */ + /* Instruct vm_insert_page() to not mmap_read_lock(mm) */ vma->vm_flags |= VM_MIXEDMAP; vma->vm_ops = &tcp_vm_ops; @@ -1798,11 +1798,11 @@ static int tcp_zerocopy_receive(struct sock *sk, tp = tcp_sk(sk); - down_read(¤t->mm->mmap_sem); + mmap_read_lock(current->mm); vma = find_vma(current->mm, address); if (!vma || vma->vm_start > address || vma->vm_ops != &tcp_vm_ops) { - up_read(¤t->mm->mmap_sem); + mmap_read_unlock(current->mm); return -EINVAL; } zc->length = min_t(unsigned long, zc->length, vma->vm_end - address); @@ -1883,7 +1883,7 @@ static int tcp_zerocopy_receive(struct sock *sk, zc); } out: - up_read(¤t->mm->mmap_sem); + mmap_read_unlock(current->mm); if (length) { WRITE_ONCE(tp->copied_seq, seq); tcp_rcv_space_adjust(sk);