From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E324C5DF9E for ; Tue, 27 Oct 2020 00:03:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4A20E2087C for ; Tue, 27 Oct 2020 00:03:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=kernel-dk.20150623.gappssmtp.com header.i=@kernel-dk.20150623.gappssmtp.com header.b="N7IH9Ouw" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389136AbgJ0AD2 (ORCPT ); Mon, 26 Oct 2020 20:03:28 -0400 Received: from mail-pf1-f196.google.com ([209.85.210.196]:37733 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730044AbgJ0ADU (ORCPT ); Mon, 26 Oct 2020 20:03:20 -0400 Received: by mail-pf1-f196.google.com with SMTP id 126so6702929pfu.4 for ; Mon, 26 Oct 2020 17:03:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=to:cc:from:subject:message-id:date:user-agent:mime-version :content-language:content-transfer-encoding; bh=kOeq1g287+GGSCiS+f4nbcLAhdeTzX+XBwJflSIWBX8=; b=N7IH9OuwFMJ0qRHvdYJTl5bCflDKaGKk7wYawS9VR9SYHW2/B/YFVZinxSDW/XBMKY dZ713XCoapl9r9hIaBkjcpKVBDwqItYAEADvMm9iKvgxcmnMxcnRpzLA+V6m/+AxppWb 6DIHRAs28ntBR0j0b1M87HGTzENXJMxOsplheFNfXczszhrMyScIjeKi4xcSCTRabhuY mm6lqIo+SH3ONicX2fFBlsHetP/CFwISGjP55XNIkE5Zg2Gd1uA7w/pTsNwdBaDTKIvE AGt1PW2b7RcTfTx94nXiCIRNWlt8MVTavLeneWOZ5J/rsnKgA7DhTuxOXoI+sJYY1+UH QSAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:cc:from:subject:message-id:date:user-agent :mime-version:content-language:content-transfer-encoding; bh=kOeq1g287+GGSCiS+f4nbcLAhdeTzX+XBwJflSIWBX8=; b=s/giMzFVI2SWhKo81xX/bfKvZhwDcovRAvTPwiHkVlg29Avm7Sv4Fb9+VfGSp25yEM wIJLtjcvSxZrm9N0TxGcL95L/Fhu6xjCjOE3Pij9MypIHM/VX+1vLRsYnU11Us4eCtqL FWm71LZoWSfT3OOnvu5El/IiRiBCRbtuADANJkZKuhsvHYdqVfluiPARX9kCej6BgJBg GDP/pqDXEY1yhQoh/P8275kGa82xlYz00VRxeoUegVC7TbwPLMG3mo2EHe4sem62Re0K ALQjndVNBgbrwxkkySWyEiEpuThptqYI6kxqT9R7td986AiskYYeE/jm8zmZgREi4UG5 hLZQ== X-Gm-Message-State: AOAM533PF22jgCDoB7SmNpKveP5rmrXu2nj/CGh2el/ebfZTx/iyVof+ sn6L65MMqrI982KKJiniprFdlaZN3lYS+Q== X-Google-Smtp-Source: ABdhPJx+HCMqLMYeLDZyOL1Ms1ziooQrerOaYKwrIkghgSRglBi7cGb2U9trvBboe/C7Q6dnm5YGxQ== X-Received: by 2002:a05:6a00:8c5:b029:13e:ce2c:88bd with SMTP id s5-20020a056a0008c5b029013ece2c88bdmr213910pfu.0.1603756999622; Mon, 26 Oct 2020 17:03:19 -0700 (PDT) Received: from [192.168.1.134] ([66.219.217.173]) by smtp.gmail.com with ESMTPSA id j23sm11968779pgm.76.2020.10.26.17.03.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 26 Oct 2020 17:03:19 -0700 (PDT) To: Linus Torvalds Cc: "linux-kernel@vger.kernel.org" , Christoph Hellwig , Kyle Huey From: Jens Axboe Subject: [PATCH] Fix compat regression in process_vm_rw() Message-ID: Date: Mon, 26 Oct 2020 18:03:18 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The removal of compat_process_vm_{readv,writev} didn't change process_vm_rw(), which always assumes it's not doing a compat syscall. Instead of passing in 'false' unconditionally for 'compat', make it conditional on in_compat_syscall(). Fixes: c3973b401ef2 ("mm: remove compat_process_vm_{readv,writev}") Reported-by: Kyle Huey Signed-off-by: Jens Axboe --- diff --git a/mm/process_vm_access.c b/mm/process_vm_access.c index fd12da80b6f2..05676722d9cd 100644 --- a/mm/process_vm_access.c +++ b/mm/process_vm_access.c @@ -273,7 +273,8 @@ static ssize_t process_vm_rw(pid_t pid, return rc; if (!iov_iter_count(&iter)) goto free_iov_l; - iov_r = iovec_from_user(rvec, riovcnt, UIO_FASTIOV, iovstack_r, false); + iov_r = iovec_from_user(rvec, riovcnt, UIO_FASTIOV, iovstack_r, + in_compat_syscall()); if (IS_ERR(iov_r)) { rc = PTR_ERR(iov_r); goto free_iov_l; -- Jens Axboe