From patchwork Mon Apr 26 14:46:42 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 50967 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id C7210B7D24 for ; Tue, 27 Apr 2010 00:48:14 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752589Ab0DZOrF (ORCPT ); Mon, 26 Apr 2010 10:47:05 -0400 Received: from mail-bw0-f219.google.com ([209.85.218.219]:36971 "EHLO mail-bw0-f219.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750790Ab0DZOrB (ORCPT ); Mon, 26 Apr 2010 10:47:01 -0400 Received: by bwz19 with SMTP id 19so214173bwz.21 for ; Mon, 26 Apr 2010 07:47:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer; bh=Ncu+07M9ocP/l4rvJPssVpnhFSVBKitXFCP6Pu9z/os=; b=ISc/R1/ZuJDDygAem7dbnjYtnfkOdBVS7KlNvVw1mu1W8W556hGvbjQSM0NeskFr0l XKzvazdSMjsDig8K/stOwoj4N5o8WBW5whfnG6cfYfxL93WaZmLN4D49ccre3Ox9Dxts edyYvknlztx6GSbrkGOuiKRCQJ4b45wuPalHo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; b=ieh1BDiYrkogQm6x1bJ//Ri2gO/hXMS3uroPQGG6hcbNZgR1seh75cdLhNn4yEeBdz fUwtxKGwXwns7BH0N42HRz82TBatjk1WlzD85QUChwj/elQiqaK864I6UsVQKOM0pU2O 63c46k24GfLDW5vhuMnmOVAJaob9eZtYgJ/0A= Received: by 10.204.73.149 with SMTP id q21mr2694210bkj.57.1272293219911; Mon, 26 Apr 2010 07:46:59 -0700 (PDT) Received: from localhost.localdomain ([91.213.169.4]) by mx.google.com with ESMTPS id 13sm1474068bwz.3.2010.04.26.07.46.57 (version=SSLv3 cipher=RC4-MD5); Mon, 26 Apr 2010 07:46:58 -0700 (PDT) From: Dmitry Eremin-Solenikov To: netdev@vger.kernel.org Cc: "David S. Miller" , linux-kernel@vger.kernel.org, Stefan Schmidt Subject: [PATCH] ieee802154: Fix oops during ieee802154_sock_ioctl Date: Mon, 26 Apr 2010 18:46:42 +0400 Message-Id: <1272293202-11712-1-git-send-email-dbaryshkov@gmail.com> X-Mailer: git-send-email 1.7.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Stefan Schmidt Trying to run izlisten (from lowpan-tools tests) on a device that does not exists I got the oops below. The problem is that we are using get_dev_by_name without checking if we really get a device back. We don't in this case and writing to dev->type generates this oops. [Oops code removed by Dmitry Eremin-Solenikov] If possible this patch should be applied to the current -rc fixes branch. Signed-off-by: Stefan Schmidt Signed-off-by: Dmitry Eremin-Solenikov --- net/ieee802154/af_ieee802154.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/net/ieee802154/af_ieee802154.c b/net/ieee802154/af_ieee802154.c index bad1c49..72340dd 100644 --- a/net/ieee802154/af_ieee802154.c +++ b/net/ieee802154/af_ieee802154.c @@ -147,6 +147,9 @@ static int ieee802154_dev_ioctl(struct sock *sk, struct ifreq __user *arg, dev_load(sock_net(sk), ifr.ifr_name); dev = dev_get_by_name(sock_net(sk), ifr.ifr_name); + if (!dev) + return -ENODEV; + if (dev->type == ARPHRD_IEEE802154 && dev->netdev_ops->ndo_do_ioctl) ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, cmd);