Applied to master and stable/2.1.
> Daniel reports a patch + comment combination that breaks in > git am. The patch reports a Content-Type of US-ASCII, while > the comment adds a Ack with UTF-8 characters. The exported > mbox contains both the original Content-Type, and a UTF-8 > Content-Type that we set. However, because the US-ASCII one > occurs later, git am honours it instead of ours, and chokes > on the UTF-8 characters. > > Strip out any subsequent Content-Type:s. We normalise things > to UTF-8 and should not allow it to be overridden. > > Add a test for this, based on the original report. > > Reported-by: Daniel Borkmann <dan...@iogearbox.net> > Signed-off-by: Daniel Axtens <d...@axtens.net> > > -- > > This should go to stable too. > --- > .../series/bugs-multiple-content-types.mbox | 172 ++++++++++++++++++ > patchwork/tests/test_series.py | 11 ++ > patchwork/views/utils.py | 4 +- > 3 files changed, 185 insertions(+), 2 deletions(-) > create mode 100644 patchwork/tests/series/bugs-multiple-content-types.mbox > > diff --git a/patchwork/tests/series/bugs-multiple-content-types.mbox > b/patchwork/tests/series/bugs-multiple-content-types.mbox > new file mode 100644 > index 000000000000..f7006b4474ff > --- /dev/null > +++ b/patchwork/tests/series/bugs-multiple-content-types.mbox > @@ -0,0 +1,172 @@ > +From mboxrd@z Thu Jan 1 00:00:00 1970 > +Return-Path: <SRS0=vqEd=WQ=vger.kernel.org=netdev-ow...@kernel.org> > +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=-9.7 required=3.0 > tests=HEADER_FROM_DIFFERENT_DOMAINS, > + INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, > + URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 A702DC3A5A2 > + for <net...@archiver.kernel.org>; Tue, 20 Aug 2019 01:33:12 +0000 (UTC) > +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) > + by mail.kernel.org (Postfix) with ESMTP id 8717B22DA7 > + for <net...@archiver.kernel.org>; Tue, 20 Aug 2019 01:33:12 +0000 (UTC) > +Received: (majord...@vger.kernel.org) by vger.kernel.org via listexpand > + id S1728887AbfHTBdL (ORCPT <rfc822;net...@archiver.kernel.org>); > + Mon, 19 Aug 2019 21:33:11 -0400 > +Received: from szxga05-in.huawei.com ([45.249.212.191]:4731 "EHLO huawei.com" > + rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP > + id S1728627AbfHTBdL (ORCPT <rfc822;net...@vger.kernel.org>); > + Mon, 19 Aug 2019 21:33:11 -0400 > +Received: from DGGEMS411-HUB.china.huawei.com (unknown [172.30.72.59]) > + by Forcepoint Email with ESMTP id EF227A58CA1FC4ADCFA3; > + Tue, 20 Aug 2019 09:33:03 +0800 (CST) > +Received: from localhost.localdomain.localdomain (10.175.113.25) by > + DGGEMS411-HUB.china.huawei.com (10.3.19.211) with Microsoft SMTP Server id > + 14.3.439.0; Tue, 20 Aug 2019 09:32:56 +0800 > +From: YueHaibing <yuehaib...@huawei.com> > +To: <bjorn.to...@intel.com>, <magnus.karls...@intel.com>, > + <jonathan.le...@gmail.com>, <a...@kernel.org>, > + <dan...@iogearbox.net>, <ka...@fb.com>, <songliubrav...@fb.com>, > + <y...@fb.com>, <john.fastab...@gmail.com> > +CC: YueHaibing <yuehaib...@huawei.com>, <net...@vger.kernel.org>, > + <b...@vger.kernel.org>, <kernel-janit...@vger.kernel.org> > +Subject: [PATCH -next] bpf: Use PTR_ERR_OR_ZERO in xsk_map_inc() > +Date: Tue, 20 Aug 2019 01:36:52 +0000 > +Message-ID: <20190820013652.147041-1-yuehaib...@huawei.com> > +X-Mailer: git-send-email 2.20.1 > +MIME-Version: 1.0 > +Content-Type: text/plain; charset=US-ASCII > +Content-Transfer-Encoding: 7BIT > +X-Originating-IP: [10.175.113.25] > +X-CFilter-Loop: Reflected > +Sender: netdev-ow...@vger.kernel.org > +Precedence: bulk > +List-ID: <netdev.vger.kernel.org> > +X-Mailing-List: net...@vger.kernel.org > +Archived-At: > <https://lore.kernel.org/netdev/20190820013652.147041-1-yuehaib...@huawei.com/> > +List-Archive: <https://lore.kernel.org/netdev/> > +List-Post: <mailto:net...@vger.kernel.org> > + > +Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR > + > +Signed-off-by: YueHaibing <yuehaib...@huawei.com> > +--- > + kernel/bpf/xskmap.c | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/kernel/bpf/xskmap.c b/kernel/bpf/xskmap.c > +index 4cc28e226398..942c662e2eed 100644 > +--- a/kernel/bpf/xskmap.c > ++++ b/kernel/bpf/xskmap.c > +@@ -21,7 +21,7 @@ int xsk_map_inc(struct xsk_map *map) > + struct bpf_map *m = &map->map; > + > + m = bpf_map_inc(m, false); > +- return IS_ERR(m) ? PTR_ERR(m) : 0; > ++ return PTR_ERR_OR_ZERO(m); > + } > + > + void xsk_map_put(struct xsk_map *map) > + > + > +From mboxrd@z Thu Jan 1 00:00:00 1970 > +Return-Path: <SRS0=vqEd=WQ=vger.kernel.org=netdev-ow...@kernel.org> > +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=-8.2 required=3.0 tests=FROM_EXCESS_BASE64, > + > HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, > + SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 > autolearn=unavailable > + 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 02AB1C3A59E > + for <net...@archiver.kernel.org>; Tue, 20 Aug 2019 07:28:35 +0000 (UTC) > +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) > + by mail.kernel.org (Postfix) with ESMTP id CC7942082F > + for <net...@archiver.kernel.org>; Tue, 20 Aug 2019 07:28:34 +0000 (UTC) > +Received: (majord...@vger.kernel.org) by vger.kernel.org via listexpand > + id S1729348AbfHTH2e (ORCPT <rfc822;net...@archiver.kernel.org>); > + Tue, 20 Aug 2019 03:28:34 -0400 > +Received: from mga18.intel.com ([134.134.136.126]:58020 "EHLO > mga18.intel.com" > + rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP > + id S1729047AbfHTH2e (ORCPT <rfc822;net...@vger.kernel.org>); > + Tue, 20 Aug 2019 03:28:34 -0400 > +X-Amp-Result: SKIPPED(no attachment in message) > +X-Amp-File-Uploaded: False > +Received: from orsmga007.jf.intel.com ([10.7.209.58]) > + by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Aug > 2019 00:28:33 -0700 > +X-ExtLoop1: 1 > +X-IronPort-AV: E=Sophos;i="5.64,408,1559545200"; > + d="scan'208";a="169001452" > +Received: from arappl-mobl2.ger.corp.intel.com (HELO > btopel-mobl.ger.intel.com) ([10.252.53.140]) > + by orsmga007.jf.intel.com with ESMTP; 20 Aug 2019 00:28:27 -0700 > +Subject: Re: [PATCH -next] bpf: Use PTR_ERR_OR_ZERO in xsk_map_inc() > +To: YueHaibing <yuehaib...@huawei.com>, magnus.karls...@intel.com, > + jonathan.le...@gmail.com, a...@kernel.org, dan...@iogearbox.net, > + ka...@fb.com, songliubrav...@fb.com, y...@fb.com, > + john.fastab...@gmail.com > +Cc: net...@vger.kernel.org, b...@vger.kernel.org, > + kernel-janit...@vger.kernel.org > +References: <20190820013652.147041-1-yuehaib...@huawei.com> > +From: =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= <bjorn.to...@intel.com> > +Message-ID: <93fafdab-8fb3-0f2b-8f36-0cf297db3...@intel.com> > +Date: Tue, 20 Aug 2019 09:28:26 +0200 > +User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 > + Thunderbird/60.8.0 > +MIME-Version: 1.0 > +In-Reply-To: <20190820013652.147041-1-yuehaib...@huawei.com> > +Content-Type: text/plain; charset=utf-8; format=flowed > +Content-Language: en-US > +Content-Transfer-Encoding: 8bit > +Sender: netdev-ow...@vger.kernel.org > +Precedence: bulk > +List-ID: <netdev.vger.kernel.org> > +X-Mailing-List: net...@vger.kernel.org > +Archived-At: > <https://lore.kernel.org/netdev/93fafdab-8fb3-0f2b-8f36-0cf297db3...@intel.com/> > +List-Archive: <https://lore.kernel.org/netdev/> > +List-Post: <mailto:net...@vger.kernel.org> > + > +On 2019-08-20 03:36, YueHaibing wrote: > +> Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR > +> > +> Signed-off-by: YueHaibing <yuehaib...@huawei.com> > +> --- > +> kernel/bpf/xskmap.c | 2 +- > +> 1 file changed, 1 insertion(+), 1 deletion(-) > +> > +> diff --git a/kernel/bpf/xskmap.c b/kernel/bpf/xskmap.c > +> index 4cc28e226398..942c662e2eed 100644 > +> --- a/kernel/bpf/xskmap.c > +> +++ b/kernel/bpf/xskmap.c > +> @@ -21,7 +21,7 @@ int xsk_map_inc(struct xsk_map *map) > +> struct bpf_map *m = &map->map; > +> > +> m = bpf_map_inc(m, false); > +> - return IS_ERR(m) ? PTR_ERR(m) : 0; > +> + return PTR_ERR_OR_ZERO(m); > +> } > +> > +> void xsk_map_put(struct xsk_map *map) > +> > + > +Acked-by: Björn Töpel <bjorn.to...@intel.com> > + > +Thanks for the patch! > + > +For future patches: Prefix AF_XDP socket work with "xsk:" and use "PATCH > +bpf-next" to let the developers know what tree you're aiming for. > + > + > + > +Cheers! > +Björn > + > + > +> > +> > + > + > + > diff --git a/patchwork/tests/test_series.py b/patchwork/tests/test_series.py > index f5e6b5b07220..d78f7dc8b89b 100644 > --- a/patchwork/tests/test_series.py > +++ b/patchwork/tests/test_series.py > @@ -11,6 +11,7 @@ from django.test import TestCase > from patchwork import models > from patchwork import parser > from patchwork.tests import utils > +from patchwork.views.utils import patch_to_mbox > > > TEST_SERIES_DIR = os.path.join(os.path.dirname(__file__), 'series') > @@ -267,6 +268,16 @@ class BaseSeriesTest(_BaseTestCase): > self.assertSerialized(patches, [2]) > self.assertSerialized(covers, [1]) > > + def test_multiple_content_types(self): > + """Test what happens when a patch and comment have different > + Content-Type headers.""" > + > + _, patches, _ = self._parse_mbox( > + 'bugs-multiple-content-types.mbox', [0, 1, 1]) > + > + patch = patches[0] > + self.assertEqual(patch_to_mbox(patch).count('Content-Type:'), 1) > + > > class RevisedSeriesTest(_BaseTestCase): > """Tests for a series plus a single revision. > diff --git a/patchwork/views/utils.py b/patchwork/views/utils.py > index 1da1aaabf503..d65aa5816336 100644 > --- a/patchwork/views/utils.py > +++ b/patchwork/views/utils.py > @@ -84,8 +84,8 @@ def _submission_to_mbox(submission): > > orig_headers = HeaderParser().parsestr(str(submission.headers)) > for key, val in orig_headers.items(): > - # we set this ourselves > - if key == 'Content-Transfer-Encoding': > + # we set these ourselves > + if key in ['Content-Type', 'Content-Transfer-Encoding']: > continue > # we don't save GPG signatures described in RFC1847 [1] so this > # Content-Type value is invalid > -- > 2.20.1 _______________________________________________ Patchwork mailing list Patchwork@lists.ozlabs.org https://lists.ozlabs.org/listinfo/patchwork