From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756239AbcCDAak (ORCPT ); Thu, 3 Mar 2016 19:30:40 -0500 Received: from relay.parallels.com ([195.214.232.42]:39763 "EHLO relay.parallels.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752899AbcCDAak (ORCPT ); Thu, 3 Mar 2016 19:30:40 -0500 Subject: [PATCH] tmpfs: shmem_fallocate must return ERESTARTSYS From: Maxim Patlasov To: hughd@google.com Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, devel@openvz.org Date: Thu, 03 Mar 2016 16:30:33 -0800 Message-ID: <20160304002954.19844.52266.stgit@maxim-thinkpad> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org shmem_fallocate() is restartable, so it can return ERESTARTSYS if signal_pending(). Although fallocate(2) manpage permits EINTR, the more places use ERESTARTSYS the better. Signed-off-by: Maxim Patlasov --- mm/shmem.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mm/shmem.c b/mm/shmem.c index 440e2a7..60e9c8a 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -2229,11 +2229,13 @@ static long shmem_fallocate(struct file *file, int mode, loff_t offset, struct page *page; /* - * Good, the fallocate(2) manpage permits EINTR: we may have - * been interrupted because we are using up too much memory. + * Although fallocate(2) manpage permits EINTR, the more + * places use ERESTARTSYS the better. If we have been + * interrupted because we are using up too much memory, + * oom-killer used fatal signal and we will die anyway. */ if (signal_pending(current)) - error = -EINTR; + error = -ERESTARTSYS; else if (shmem_falloc.nr_unswapped > shmem_falloc.nr_falloced) error = -ENOMEM; else