Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp8451961ybl; Thu, 16 Jan 2020 17:08:30 -0800 (PST) X-Google-Smtp-Source: APXvYqxiOi+r47mqjV63lxZvntwKIAvVt+yEEFhd2BO2+i1cre1hAGgevVpRDqAc0DySO1vRUDHw X-Received: by 2002:a9d:4692:: with SMTP id z18mr4333556ote.163.1579223310165; Thu, 16 Jan 2020 17:08:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579223310; cv=none; d=google.com; s=arc-20160816; b=zrJbBPMLEy2nQEWJAu7UgKZSdhYeEgKbeCzj0i+UACrTrLFolPp0eEXJh0JsCa5kDp OD6vpRqRfs8UPpcZNrJWUBtFS3zI7KR8+dSiMj4IARhq0TFFKiPxHl5c9ikIJyQ1pULh 8EsPFGK9lRuJykGMaUadoBZLoQg3/ABu7Y/mEPVTYn+ryC86jBAJN/AhoSzr2HIG6nAG v2gLNJ8tvMD6mZTjdeRlfGU35JODyhmqghscphxLN4w/AgVETB4rwMkpTVx14UObu/Hf Ze0USwOoBw65aX3aens8rsYsYE7SCUvySxQoJzXS7IvQL4C+T2UavD6ySZVrui76nm/h hELQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=gkqN68gBsDnsHstt4N/ttm4n1E+/yb7uJ9xiLJZxsXU=; b=uK1NyIiyyBDyCBXEou8moAlghzghJOxCrPjHxG1iX9VqFNdA5OLv9CZPzDdJG0ybh4 VFC7obCU9XGNf3QByH5lrrycODMGxOnFAuFd4H3qnJUkSsZCPcV4w+ScU5m8eVfapMkj QcOA1sE7IW+EpOx5mNsuEEW9O5JJItOz4qclG2Bwj0agnrdX7moNPnVSo35eY3zC2cXV I+sKzaYBzty7wWG9O8hzgiiUOC8aeHiEAZPGPbYHmHwJoueEkI2wgi02PW8/+Rtwyroz XMad3YXKwGGaN5z7m0p12mb54QhWl0zKo5tw1cmiKH1tf+t33rl6jwFVj0foUkajSGuv XNpA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=EUOLSIX3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j24si14069669otn.110.2020.01.16.17.08.17; Thu, 16 Jan 2020 17:08:30 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=EUOLSIX3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389212AbgAPXVs (ORCPT + 99 others); Thu, 16 Jan 2020 18:21:48 -0500 Received: from mail.kernel.org ([198.145.29.99]:49246 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390861AbgAPXVo (ORCPT ); Thu, 16 Jan 2020 18:21:44 -0500 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 F380320748; Thu, 16 Jan 2020 23:21:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579216903; bh=ry7wLXlt8FFAAbN9zf5JQ7fS9uA0DbcDOyh/j7HxtLw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EUOLSIX3G1ZCs/2BuOqJQJw2LgzD5XvsCCvNfqemc8NBnBFyYfpPBRllNr4YWpe9e B65TD561hJ21SqXC3PBKrKapyz8G3uvBgUvjG2fj24rMxjFjbv+1xWokypY+RFJqR7 5+XfjP6qPMYqJ6yjqF/E9XNBVWxhO0EI70XODuBI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, syzbot+9328206518f08318a5fd@syzkaller.appspotmail.com, Taehee Yoo , "David S. Miller" Subject: [PATCH 5.4 051/203] hsr: fix slab-out-of-bounds Read in hsr_debugfs_rename() Date: Fri, 17 Jan 2020 00:16:08 +0100 Message-Id: <20200116231748.443108537@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200116231745.218684830@linuxfoundation.org> References: <20200116231745.218684830@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: Taehee Yoo commit 04b69426d846cd04ca9acefff1ea39e1c64d2714 upstream. hsr slave interfaces don't have debugfs directory. So, hsr_debugfs_rename() shouldn't be called when hsr slave interface name is changed. Test commands: ip link add dummy0 type dummy ip link add dummy1 type dummy ip link add hsr0 type hsr slave1 dummy0 slave2 dummy1 ip link set dummy0 name ap Splat looks like: [21071.899367][T22666] ap: renamed from dummy0 [21071.914005][T22666] ================================================================== [21071.919008][T22666] BUG: KASAN: slab-out-of-bounds in hsr_debugfs_rename+0xaa/0xb0 [hsr] [21071.923640][T22666] Read of size 8 at addr ffff88805febcd98 by task ip/22666 [21071.926941][T22666] [21071.927750][T22666] CPU: 0 PID: 22666 Comm: ip Not tainted 5.5.0-rc2+ #240 [21071.929919][T22666] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 [21071.935094][T22666] Call Trace: [21071.935867][T22666] dump_stack+0x96/0xdb [21071.936687][T22666] ? hsr_debugfs_rename+0xaa/0xb0 [hsr] [21071.937774][T22666] print_address_description.constprop.5+0x1be/0x360 [21071.939019][T22666] ? hsr_debugfs_rename+0xaa/0xb0 [hsr] [21071.940081][T22666] ? hsr_debugfs_rename+0xaa/0xb0 [hsr] [21071.940949][T22666] __kasan_report+0x12a/0x16f [21071.941758][T22666] ? hsr_debugfs_rename+0xaa/0xb0 [hsr] [21071.942674][T22666] kasan_report+0xe/0x20 [21071.943325][T22666] hsr_debugfs_rename+0xaa/0xb0 [hsr] [21071.944187][T22666] hsr_netdev_notify+0x1fe/0x9b0 [hsr] [21071.945052][T22666] ? __module_text_address+0x13/0x140 [21071.945897][T22666] notifier_call_chain+0x90/0x160 [21071.946743][T22666] dev_change_name+0x419/0x840 [21071.947496][T22666] ? __read_once_size_nocheck.constprop.6+0x10/0x10 [21071.948600][T22666] ? netdev_adjacent_rename_links+0x280/0x280 [21071.949577][T22666] ? __read_once_size_nocheck.constprop.6+0x10/0x10 [21071.950672][T22666] ? lock_downgrade+0x6e0/0x6e0 [21071.951345][T22666] ? do_setlink+0x811/0x2ef0 [21071.951991][T22666] do_setlink+0x811/0x2ef0 [21071.952613][T22666] ? is_bpf_text_address+0x81/0xe0 [ ... ] Reported-by: syzbot+9328206518f08318a5fd@syzkaller.appspotmail.com Fixes: 4c2d5e33dcd3 ("hsr: rename debugfs file when interface name is changed") Signed-off-by: Taehee Yoo Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/hsr/hsr_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/net/hsr/hsr_main.c +++ b/net/hsr/hsr_main.c @@ -46,7 +46,8 @@ static int hsr_netdev_notify(struct noti hsr_check_carrier_and_operstate(hsr); break; case NETDEV_CHANGENAME: - hsr_debugfs_rename(dev); + if (is_hsr_master(dev)) + hsr_debugfs_rename(dev); break; case NETDEV_CHANGEADDR: if (port->type == HSR_PT_MASTER) {