Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp6348088pxu; Wed, 23 Dec 2020 23:03:29 -0800 (PST) X-Google-Smtp-Source: ABdhPJyCZQ8nbxY7ON3e6lCgDiDnL3YcsFjY4RnjpbczGPW7RVWnAC4HG4U4QXKYiNrxvHUYD0Lm X-Received: by 2002:a17:906:edc4:: with SMTP id sb4mr26147408ejb.21.1608793409364; Wed, 23 Dec 2020 23:03:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1608793409; cv=none; d=google.com; s=arc-20160816; b=qPBKtNxtXMUj8Qo/v1+HqmIjL4pchMPEWEkpWyMhklc0+NNkhacq7pP0j5/n0AmEr8 ijisbo7X2H3FugME/TINqhaUOmde+S8qmxosjnaUaB9sWIkiWBl2VOahGn9PeD8DG/QO BfRrwb2v4SX6Byfqcc8XFfw0QVZeXt0DmRRIzxBVU4L8D8Wymx0J2V3RA3JTmVtjeILX cXIlMNNdCY4jXhj0FVt1O0nBWg9s4V1npVcz5cPxydyqNmITT0MqDaeOW+e04DRUOMGh RM2zuQc1ixlCyhxFqaJBcQ7tGxIlRvCaUHN1MHSmqBNQu+D/MmojekYfu5KFjpUd9+Mf SRjQ== 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=E4jlsEzI88eDOGFtT8KOJrpx7Z00AaRPGZxqqrxSRJM=; b=cJfgaZrRHVfp3pMppd16PN6vbE+5aj9jO6wx4z2F7IoJhJDGny4D4fmKJ5MNmJ+GJZ JFL4IMJw752cCf3wYSu2ranEAqWWvDLS4TbuQ/xX2LJ/wahIPtdTndF1xl6dpOxmOnLQ mQ+M5XwPn6EnBMVzjdTCRPnYftHhlC892dRtbClrPU9sJuknnxry4ZL8YvZbFjhWegdr LLAoBiTCKrUhMJXvdTVbPLEwkxdOtWGyhYX31idL53q2sSfW+h7Jk0rWzLV0ZXdPrdC8 b2WaehXxafFRQn3DOVN+FgTa+zZ3SV0y73YClcyA4uko5SoThHW/sbI/dmAdT/f4LPlp xemQ== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v15si5144985eju.651.2020.12.23.23.03.06; Wed, 23 Dec 2020 23:03:29 -0800 (PST) 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726319AbgLXHCh (ORCPT + 99 others); Thu, 24 Dec 2020 02:02:37 -0500 Received: from out4436.biz.mail.alibaba.com ([47.88.44.36]:30461 "EHLO out4436.biz.mail.alibaba.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725536AbgLXHCh (ORCPT ); Thu, 24 Dec 2020 02:02:37 -0500 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R131e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e01424;MF=abaci-bugfix@linux.alibaba.com;NM=1;PH=DS;RN=15;SR=0;TI=SMTPD_---0UJcT9Ok_1608793300; Received: from j63c13417.sqa.eu95.tbsite.net(mailfrom:abaci-bugfix@linux.alibaba.com fp:SMTPD_---0UJcT9Ok_1608793300) by smtp.aliyun-inc.com(127.0.0.1); Thu, 24 Dec 2020 15:01:54 +0800 From: YANG LI To: ast@kernel.org Cc: daniel@iogearbox.net, davem@davemloft.net, kuba@kernel.org, hawk@kernel.org, john.fastabend@gmail.com, andrii@kernel.org, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, kpsingh@kernel.org, netdev@vger.kernel.org, bpf@vger.kernel.org, linux-kernel@vger.kernel.org, YANG LI Subject: [PATCH] bpf: fix: address of local auto-variable assigned to a function parameter. Date: Thu, 24 Dec 2020 15:01:38 +0800 Message-Id: <1608793298-123684-1-git-send-email-abaci-bugfix@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Assigning local variable txq to the outputting parameter xdp->txq is not safe, txq will be released after the end of the function call. Then the result of using xdp is unpredictable. Fix this error by defining the struct xdp_txq_info in function dev_map_run_prog() as a static type. Signed-off-by: YANG LI Reported-by: Abaci --- kernel/bpf/devmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/bpf/devmap.c b/kernel/bpf/devmap.c index f6e9c68..af6f004 100644 --- a/kernel/bpf/devmap.c +++ b/kernel/bpf/devmap.c @@ -454,7 +454,7 @@ static struct xdp_buff *dev_map_run_prog(struct net_device *dev, struct xdp_buff *xdp, struct bpf_prog *xdp_prog) { - struct xdp_txq_info txq = { .dev = dev }; + static struct xdp_txq_info txq = { .dev = dev }; u32 act; xdp_set_data_meta_invalid(xdp); -- 1.8.3.1