From patchwork Sun Nov 24 23:42:07 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Weinberger X-Patchwork-Id: 293778 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406012C0126 for ; Mon, 25 Nov 2013 10:42:30 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752930Ab3KXXm0 (ORCPT ); Sun, 24 Nov 2013 18:42:26 -0500 Received: from b.ns.miles-group.at ([95.130.255.144]:1662 "EHLO radon.swed.at" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752077Ab3KXXmY (ORCPT ); Sun, 24 Nov 2013 18:42:24 -0500 Received: (qmail 3469 invoked by uid 89); 24 Nov 2013 23:42:27 -0000 Received: by simscan 1.3.1 ppid: 3460, pid: 3464, t: 1.6069s scanners: attach: 1.3.1 clamav: 0.96.5/m: Received: from unknown (HELO azrael.ibk.sigmapriv.at) (richard@nod.at@212.186.22.124) by radon.swed.at with ESMTPA; 24 Nov 2013 23:42:25 -0000 From: Richard Weinberger To: linux-kernel@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org, viro@zeniv.linux.org.uk, shawnlandden@gmail.com, linux-crypto@vger.kernel.org, netdev@vger.kernel.org, herbert@gondor.apana.org.au, Richard Weinberger , Tom Herbert , Eric Dumazet , "David S. Miller" , Subject: [PATCH] pipe_to_sendpage: Ensure that MSG_MORE is set if we set MSG_SENDPAGE_NOTLAST Date: Mon, 25 Nov 2013 00:42:07 +0100 Message-Id: <1385336527-27304-1-git-send-email-richard@nod.at> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: References: Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Commit 35f9c09fe (tcp: tcp_sendpages() should call tcp_push() once) added an internal flag MSG_SENDPAGE_NOTLAST. We have to ensure that MSG_MORE is also set if we set MSG_SENDPAGE_NOTLAST. Otherwise users that check against MSG_MORE will not see it. This fixes sendfile() on AF_ALG. Cc: Tom Herbert Cc: Eric Dumazet Cc: David S. Miller Cc: # 3.4.x Reported-and-tested-by: Shawn Landden Signed-off-by: Richard Weinberger --- fs/splice.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/splice.c b/fs/splice.c index 3b7ee65..b93f1b8 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -701,7 +701,7 @@ static int pipe_to_sendpage(struct pipe_inode_info *pipe, more = (sd->flags & SPLICE_F_MORE) ? MSG_MORE : 0; if (sd->len < sd->total_len && pipe->nrbufs > 1) - more |= MSG_SENDPAGE_NOTLAST; + more |= MSG_SENDPAGE_NOTLAST | MSG_MORE; return file->f_op->sendpage(file, buf->page, buf->offset, sd->len, &pos, more);