Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3408944pxv; Sun, 18 Jul 2021 22:19:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwcwzMAttGPWGkqz02g7AtSDga38/LiKLsWJHbFJWz8ffiufQ4D63Hfj+3jqzV08m+6cUzI X-Received: by 2002:a17:906:838f:: with SMTP id p15mr25721537ejx.300.1626671996983; Sun, 18 Jul 2021 22:19:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626671996; cv=none; d=google.com; s=arc-20160816; b=ZZRlPTfoLwI9i5X9TBueW+kCT+NQeDmRpHr/wBUbvTQBoYbdCRMPo2cpOsTfZ6/XsT 1geuxrZV9A0K41ZBAvgUKz3I8u+mAKeX2qjNmq8J7YmISSGd5EcRwL9UXL63GnhpAl4i 3fYmgZEVOkVyNwjq85bKxVvit4pmZ14dWwcRUmpUB3IXSld71VHeLB3ax0wO0XrbZSw/ 3wyj2BbGWyYKwJiel23M07QQKytf2izIw8OYRmvCt61uvi+DX9dkgNGN6FcN3EiPlUMS vjVHKV+Ziqtz8QZ4I/s/m49yJgGsrWjZFzivepbLES2S0ZFBWBrmq5Iiamv+fqWwRjss PZZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=vthMeTbzAZtY0okruVW6qC1LJnjv61WTI0OJ6N5pgbk=; b=y/b7/FU7NLNooS4opCmwhGBgu1YPU7iHwrrwZr8dk4ukdrD7+ogcVzzTV4p4b2iixm KvfpNjFm/Exg2VhjZc17rNlvBVIrk8hen2PLNf6nGagYAB/uTOoj5XNCW1lkB6Q0Z66k NS7vRdIr31G35IaUzeeQkQsR28EbngmrmC55b3rbVYcJRUJ9SNbJKDzSWaUWaQh1Pehp 8tfRK9yQypWEQQtkfZYMviLQPVAa3B/6ES5tEUb6agVUAET79N2jxZgyn3b8wCqQ4Bwk g9wwCfJM3AO1pUelr965QA8hPmDocBnZqh7KoCqnkSnu/A0tUssseOiXTCLDXPf9yo5s G17Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=NHm5vOJU; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id md19si19163088ejb.497.2021.07.18.22.19.34; Sun, 18 Jul 2021 22:19:56 -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; dkim=pass header.i=@linux.dev header.s=key1 header.b=NHm5vOJU; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233054AbhGSFVh (ORCPT + 99 others); Mon, 19 Jul 2021 01:21:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47444 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229512AbhGSFVh (ORCPT ); Mon, 19 Jul 2021 01:21:37 -0400 Received: from out1.migadu.com (out1.migadu.com [IPv6:2001:41d0:2:863f::]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E8A5FC061762; Sun, 18 Jul 2021 22:18:37 -0700 (PDT) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1626671914; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=vthMeTbzAZtY0okruVW6qC1LJnjv61WTI0OJ6N5pgbk=; b=NHm5vOJUd5siLlRil2h9aOuBAL4XvZlMre29vn0hltC3cGW4gbeaxnuYcoQ78mVolWyZhF Q+wYsCLfYNqoN9rivnEay63oiwxH+lX2qCksvlIB/Bjd2TVyQp4U3NKKxkuJl2lC7u2GmO zv5W5ZL4kf48hQ+kekbam2ppCFiyFf4= From: Yajun Deng To: davem@davemloft.net, kuba@kernel.org, ast@kernel.org, andrii@kernel.org, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Yajun Deng Subject: [PATCH] netlink: Deal with ESRCH error in nlmsg_notify() Date: Mon, 19 Jul 2021 13:18:16 +0800 Message-Id: <20210719051816.11762-1-yajun.deng@linux.dev> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT X-Migadu-Auth-User: yajun.deng@linux.dev Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Yonghong Song report: The bpf selftest tc_bpf failed with latest bpf-next. The following is the command to run and the result: $ ./test_progs -n 132 [ 40.947571] bpf_testmod: loading out-of-tree module taints kernel. test_tc_bpf:PASS:test_tc_bpf__open_and_load 0 nsec test_tc_bpf:PASS:bpf_tc_hook_create(BPF_TC_INGRESS) 0 nsec test_tc_bpf:PASS:bpf_tc_hook_create invalid hook.attach_point 0 nsec test_tc_bpf_basic:PASS:bpf_obj_get_info_by_fd 0 nsec test_tc_bpf_basic:PASS:bpf_tc_attach 0 nsec test_tc_bpf_basic:PASS:handle set 0 nsec test_tc_bpf_basic:PASS:priority set 0 nsec test_tc_bpf_basic:PASS:prog_id set 0 nsec test_tc_bpf_basic:PASS:bpf_tc_attach replace mode 0 nsec test_tc_bpf_basic:PASS:bpf_tc_query 0 nsec test_tc_bpf_basic:PASS:handle set 0 nsec test_tc_bpf_basic:PASS:priority set 0 nsec test_tc_bpf_basic:PASS:prog_id set 0 nsec libbpf: Kernel error message: Failed to send filter delete notification test_tc_bpf_basic:FAIL:bpf_tc_detach unexpected error: -3 (errno 3) test_tc_bpf:FAIL:test_tc_internal ingress unexpected error: -3 (errno 3) The failure seems due to the commit cfdf0d9ae75b ("rtnetlink: use nlmsg_notify() in rtnetlink_send()") Deal with ESRCH error in nlmsg_notify() even the report variable is zero. Reported-by: Yonghong Song Signed-off-by: Yajun Deng --- net/netlink/af_netlink.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 380f95aacdec..24b7cf447bc5 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -2545,13 +2545,15 @@ int nlmsg_notify(struct sock *sk, struct sk_buff *skb, u32 portid, /* errors reported via destination sk->sk_err, but propagate * delivery errors if NETLINK_BROADCAST_ERROR flag is set */ err = nlmsg_multicast(sk, skb, exclude_portid, group, flags); + if (err == -ESRCH) + err = 0; } if (report) { int err2; err2 = nlmsg_unicast(sk, skb, portid); - if (!err || err == -ESRCH) + if (!err) err = err2; } -- 2.32.0