From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6E394C5ACD3 for ; Tue, 17 Mar 2020 11:07:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3B7E720719 for ; Tue, 17 Mar 2020 11:07:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1584443249; bh=HloH5/S8q8Fps7+NuGRfK8R+tEnCdAPq8XIMLUqLL74=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=PfwQlWgyY/iaxiv3xegrN0XoYfMy/XI5WHZH6U+ZIt5WaxqapgxAayVS0HYLk9QeK 7BsQ/7A/Gg8LL6kDJN7ns4YgLcy6JDzy1ulDhrNwl/ZjVtzKiUKAYb7+t7VIgQQHnZ qBJGqVFsCkSsYEbThBOqM8zcDqe+2yEMDTyEFEVk= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728569AbgCQLH1 (ORCPT ); Tue, 17 Mar 2020 07:07:27 -0400 Received: from mail.kernel.org ([198.145.29.99]:49082 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727711AbgCQLHZ (ORCPT ); Tue, 17 Mar 2020 07:07:25 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8E41820719; Tue, 17 Mar 2020 11:07:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1584443245; bh=HloH5/S8q8Fps7+NuGRfK8R+tEnCdAPq8XIMLUqLL74=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AMOiYvaB0UY6H0IascHCZVUnv4oYkz9akpFfErH4Z8mhl5bcsH8AqP02kEEoYm+Qe xUKYOwSaPLOG2+0aTvT7r3dTMWADWG5tLJAR+JFqTXbftlWbDZfwoJvedY6a6UHf5N cSHkFOJ6yThhTRxsliC6gvCF5vaNa5OOkTGmPUdo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mahesh Bandewar , "David S. Miller" Subject: [PATCH 5.5 014/151] macvlan: add cond_resched() during multicast processing Date: Tue, 17 Mar 2020 11:53:44 +0100 Message-Id: <20200317103327.448274084@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200317103326.593639086@linuxfoundation.org> References: <20200317103326.593639086@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mahesh Bandewar [ Upstream commit ce9a4186f9ac475c415ffd20348176a4ea366670 ] The Rx bound multicast packets are deferred to a workqueue and macvlan can also suffer from the same attack that was discovered by Syzbot for IPvlan. This solution is not as effective as in IPvlan. IPvlan defers all (Tx and Rx) multicast packet processing to a workqueue while macvlan does this way only for the Rx. This fix should address the Rx codition to certain extent. Tx is still suseptible. Tx multicast processing happens when .ndo_start_xmit is called, hence we cannot add cond_resched(). However, it's not that severe since the user which is generating / flooding will be affected the most. Fixes: 412ca1550cbe ("macvlan: Move broadcasts into a work queue") Signed-off-by: Mahesh Bandewar Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/macvlan.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -334,6 +334,8 @@ static void macvlan_process_broadcast(st if (src) dev_put(src->dev); consume_skb(skb); + + cond_resched(); } }