Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3194341pxj; Mon, 10 May 2021 21:55:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwuifFf1bOQZkDx5AXsk04LLtlYxsGaSQQPmwaVQHfKdtUkbGe/biLitjEMGR5uLc/ulu8l X-Received: by 2002:a17:906:60d6:: with SMTP id f22mr29608027ejk.177.1620708934281; Mon, 10 May 2021 21:55:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620708934; cv=none; d=google.com; s=arc-20160816; b=bsxNJ81Q5lv2Bjp0L95yMyDh0AAKUw3iYJcPEHEHxRNS/YhaBaHYXuhwl9e3Y6EZ1J 0ghp/R//DRmyUtH5JFh5fSlnSuw+u3jWT97+vBVH6dmscbLfErLtiEZJcisUmHzPqex6 f6yeFw7crhwSLZq6vw6hTb3jysWnk5NLh5tHp1ThvG9DiJSELNvBkqict1qf6k97V5RO 7SB8FTyORUFU3OYZYGCb/eR7D2bt2GP4oIIKDokQz8DBB7grlVf1Q5YiQFewNdpwqoRv KSFZlnXLAS4nfqk6GWEypQVi1NgH0GPElni/UYKChQgP13gTgGOwMS8VGifGiQdaHMyJ q/RQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=6S9KctbuWCRwwrj7pOw8wc72fT/WTEevstGdURtGgUo=; b=mq8qvIyqCdcvG9RJlmZNz+ce2apR/IOvp0kdZW/vWMW7j4MMT81SKtldc6rYd7uXH4 aSBTxSHN94BcnbwRhY3MuTUJulyDfGoXM1uRL40AtmVwpRr+IUWbU1ZjvvmvNeEDasAx X6LwqTXNhpvtP/OZuBEueXWQ5EpAAmcPu+jttOs8HZdQbDrx/Zvg+uUY0jILJ/ogndF4 Ld4rK+XJ9BFYv9DWeaplbg+/44y/Cw8d4Ze5MIQDQBbTz4IigP/RVX5UKmAprK+bkxxe s7O4eYb1Uj+9La9PmcRElF5evAUKOjBatC9mf081OI5OUNuGCHhR0pnKYdgT0TELyGf+ iOqw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d26si17589300edr.567.2021.05.10.21.55.08; Mon, 10 May 2021 21:55:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229920AbhEKEzW (ORCPT + 99 others); Tue, 11 May 2021 00:55:22 -0400 Received: from pegase2.c-s.fr ([93.17.235.10]:49725 "EHLO pegase2.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229885AbhEKEzV (ORCPT ); Tue, 11 May 2021 00:55:21 -0400 Received: from localhost (mailhub3.si.c-s.fr [172.26.127.67]) by localhost (Postfix) with ESMTP id 4FfQYx566Pz9sdc; Tue, 11 May 2021 06:54:13 +0200 (CEST) X-Virus-Scanned: amavisd-new at c-s.fr Received: from pegase2.c-s.fr ([172.26.127.65]) by localhost (pegase2.c-s.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nHqyZRKRWhrq; Tue, 11 May 2021 06:54:13 +0200 (CEST) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase2.c-s.fr (Postfix) with ESMTP id 4FfQYx48Qgz9sdb; Tue, 11 May 2021 06:54:13 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 6C0208B79E; Tue, 11 May 2021 06:54:13 +0200 (CEST) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id rTdXQYM9Q2Zd; Tue, 11 May 2021 06:54:13 +0200 (CEST) Received: from [192.168.4.90] (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id E958C8B766; Tue, 11 May 2021 06:54:12 +0200 (CEST) Subject: Re: [PATCH] powerpc/legacy_serial: Fix UBSAN: array-index-out-of-bounds To: Michael Ellerman , Segher Boessenkool Cc: Benjamin Herrenschmidt , Paul Mackerras , pmenzel@molgen.mpg.de, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org References: <20210510211444.GE10366@gate.crashing.org> <87sg2uxe7h.fsf@mpe.ellerman.id.au> From: Christophe Leroy Message-ID: Date: Tue, 11 May 2021 06:54:14 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <87sg2uxe7h.fsf@mpe.ellerman.id.au> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: fr Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le 11/05/2021 à 03:16, Michael Ellerman a écrit : > Segher Boessenkool writes: > >> On Sat, May 08, 2021 at 06:36:21AM +0000, Christophe Leroy wrote: >>> UBSAN complains when a pointer is calculated with invalid >>> 'legacy_serial_console' index, allthough the index is verified >>> before dereferencing the pointer. >> >> Addressing like this is UB already. >> >> You could just move this: >> >>> - if (legacy_serial_console < 0) >>> - return 0; >> >> to before >> >>> - struct legacy_serial_info *info = &legacy_serial_infos[legacy_serial_console]; >>> - struct plat_serial8250_port *port = &legacy_serial_ports[legacy_serial_console]; >> >> and no other change is necessary. > > Yeah I sent a v2 doing that, thanks. > I wanted something looking similar to setup_legacy_serial_console(), but of course this also works. Christophe