Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967884AbeAOOKI (ORCPT + 1 other); Mon, 15 Jan 2018 09:10:08 -0500 Received: from mail-ot0-f177.google.com ([74.125.82.177]:40282 "EHLO mail-ot0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965857AbeAOMlL (ORCPT ); Mon, 15 Jan 2018 07:41:11 -0500 X-Google-Smtp-Source: ACJfBovAX23SpT9k8NqB1CFnPLf6PPZ3lZVeLKL/7b/4LGhOYImTdCi0K7+23siFNAq+H6IEEARtf6gFPW2C7gCQX0A= MIME-Version: 1.0 In-Reply-To: <20180115155710.36e146ab@canb.auug.org.au> References: <20180115155710.36e146ab@canb.auug.org.au> From: Arnd Bergmann Date: Mon, 15 Jan 2018 13:41:10 +0100 X-Google-Sender-Auth: Ag4I1ihvpfRvz9uSG2dxYGqKzxA Message-ID: Subject: Re: linux-next: manual merge of the akpm-current tree with the kspp tree To: Stephen Rothwell Cc: Andrew Morton , Kees Cook , Linux-Next Mailing List , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On Mon, Jan 15, 2018 at 5:57 AM, Stephen Rothwell wrote: > Hi Andrew, > > Today's linux-next merge of the akpm-current tree got a conflict in: > > arch/cris/include/arch-v10/arch/bug.h > > between commit: > > c8133e59edb0 ("cris: Mark end of BUG() implementation as unreachable") > > from the kspp tree and commit: > > c5a1e183a75a ("bug.h: work around GCC PR82365 in BUG()") > > from the akpm-current tree. > > I fixed it up (I just used the akpm-current tree version) and can > carry the fix as necessary. This is now fixed as far as linux-next is > concerned, but any non trivial conflicts should be mentioned to your > upstream maintainer when your tree is submitted for merging. You may > also want to consider cooperating with the maintainer of the conflicting > tree to minimise any particularly complex conflicts. Kees, it seems you ran into the same issue that I did, and got the same fix for the first BUG() variant, but I think my version for the second one is slightly better: /* This just causes an oops. */ -#define BUG() (*(int *)0 = 0) +#define BUG() \ +do { \ + barrier_before_unreachable(); \ + __builtin_trap(); \ +} while (0) compared to yours: /* This just causes an oops. */ -#define BUG() (*(int *)0 = 0) +#define BUG() \ +do { \ + (*(int *)0 = 0); \ + do {} while (1); \ + unreachable(); \ +} while (0) which relies on a NULL pointer dereference to trap but otherwise does the same thing. The easiest solution for the conflict seems to be that you just drop your patch. Arnd