Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp481265rwl; Thu, 23 Mar 2023 19:55:25 -0700 (PDT) X-Google-Smtp-Source: AKy350Ytg9ECUqS2xYq6b45Y5DZvUX9RUOlqxXIj5Jw9gF1mhmjT+L3oRqqchchoIGw75tmwfmYj X-Received: by 2002:a17:906:3a83:b0:932:9502:4fd1 with SMTP id y3-20020a1709063a8300b0093295024fd1mr1078704ejd.43.1679626524994; Thu, 23 Mar 2023 19:55:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679626524; cv=none; d=google.com; s=arc-20160816; b=lJUcXQdVEy7C3ARok5s8Q54yhqBJxnimzvNe/+VcAo4NQ0yGo4Rbql1m7iZluAJbsw /cD4UCuCcDdGcvevCbzKpDmwCYPzteWD3V3MmJcChHW3TinEISWm4pxc+or+A7UPL2Yv PsW3Vxf8O9kAToTiH3FnbOS/Ra8uc6UxjGbp12Sy1t95MJ5+UkgyeNbTlKmFSEnbISTf Q6qnDPXY01Bt8q3YZK5YwIoc550t7AV3NmdLmVlaJ8cOd4KG4Lp7YojCqou5gn8eXpnY mFHRfvoVvA1Z3RzFHBS2ewzaNXPemAtjCQzildn5WCuAPWp+Og3qGYN6ewA9n6sO50Io 580A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=3jfKp5f1k8IHSomUBgteI7KGvsM6j/Fvi5rQ8PpYEus=; b=DU1rJk2cbjg9zR8dpNjzuGAuLAV2/iDIZQokBiNxW7EbCy5BHFcGtxFZDM0YgjKLhv viPDItoAQhHT5AgowXrcTJeuGgqN8uHBnNGA7zkMeZEBtfhpf3JwVE+3Qth/Hi3Qvl1x TaP/dANXsYatlU36XqdX34+ayy4anhdb4GDF0Yg18/EWQZp42YBNoPWzRTKDpJ2mIgtw PbfJaGTpFpjl2MoNY5Tsi0I4jRDTu/CItDvMyjAzg8yDgr0hz4+TmseVr3ABowV/q/bU +rvHqRa0oEELVL6cuzVFbg3PLejUnoFDHlPf0LiRS5N2WpcnA2Gy1k6kC1Uu7dXKdxaG qgBA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x11-20020a170906148b00b008c8f5756068si20295663ejc.766.2023.03.23.19.55.00; Thu, 23 Mar 2023 19:55:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229729AbjCXCyS (ORCPT + 99 others); Thu, 23 Mar 2023 22:54:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60874 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229508AbjCXCyR (ORCPT ); Thu, 23 Mar 2023 22:54:17 -0400 Received: from mail.nfschina.com (unknown [42.101.60.237]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 91BB293E3 for ; Thu, 23 Mar 2023 19:54:12 -0700 (PDT) Received: from localhost (unknown [127.0.0.1]) by mail.nfschina.com (Postfix) with ESMTP id 86E3C1A00888; Fri, 24 Mar 2023 10:54:16 +0800 (CST) X-Virus-Scanned: amavisd-new at nfschina.com Received: from mail.nfschina.com ([127.0.0.1]) by localhost (localhost.localdomain [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gD0FfV6nSDOI; Fri, 24 Mar 2023 10:54:15 +0800 (CST) Received: from localhost.localdomain (unknown [219.141.250.2]) (Authenticated sender: kunyu@nfschina.com) by mail.nfschina.com (Postfix) with ESMTPA id 96B141A00815; Fri, 24 Mar 2023 10:54:15 +0800 (CST) From: Li kunyu To: richard.henderson@linaro.org, ink@jurassic.park.msu.ru, mattst88@gmail.com, aurxenon@lunos.org Cc: linux-kernel@vger.kernel.org, Li kunyu Subject: [PATCH] alpha: kernel: module: Adding branch statements after allocating memory for kmalloc Date: Sun, 26 Mar 2023 03:25:30 +0800 Message-Id: <20230325192530.3298-1-kunyu@nfschina.com> X-Mailer: git-send-email 2.18.2 X-Spam-Status: No, score=3.8 required=5.0 tests=DATE_IN_FUTURE_24_48, RCVD_IN_VALIDITY_RPBL,RDNS_NONE,SPF_HELO_NONE,SPF_NONE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: *** X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org After looking at the process_reloc_for_got function and where it is called, I decided to use a branch statement to increase the robustness of the pointer g. If pointer g allocation fails, when 'chains [i]. next' is executed, it can avoid crashes caused by wild pointers. Signed-off-by: Li kunyu --- arch/alpha/kernel/module.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/arch/alpha/kernel/module.c b/arch/alpha/kernel/module.c index cbefa5a77384..8c97f10347a7 100644 --- a/arch/alpha/kernel/module.c +++ b/arch/alpha/kernel/module.c @@ -47,11 +47,15 @@ process_reloc_for_got(Elf64_Rela *rela, } g = kmalloc (sizeof (*g), GFP_KERNEL); - g->next = chains[r_sym].next; - g->r_addend = r_addend; - g->got_offset = *poffset; - *poffset += 8; - chains[r_sym].next = g; + if (g) { + g->next = chains[r_sym].next; + g->r_addend = r_addend; + g->got_offset = *poffset; + *poffset += 8; + chains[r_sym].next = g; + } + else + chains[r_sym].next = NULL; found_entry: /* Trick: most of the ELF64_R_TYPE field is unused. There are -- 2.18.2