From patchwork Mon Mar 13 12:47:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Vorel X-Patchwork-Id: 738101 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 3vhd1x5fXnz9s78 for ; Mon, 13 Mar 2017 23:47:49 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="XqBpqZax"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753109AbdCMMrq (ORCPT ); Mon, 13 Mar 2017 08:47:46 -0400 Received: from mail-wr0-f196.google.com ([209.85.128.196]:32952 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753000AbdCMMrh (ORCPT ); Mon, 13 Mar 2017 08:47:37 -0400 Received: by mail-wr0-f196.google.com with SMTP id g10so19933544wrg.0 for ; Mon, 13 Mar 2017 05:47:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=XN+XaD2ZYHBD1RvA+BN/lVbBxtPx0HtD3VudAyGLW2w=; b=XqBpqZaxG3EPTaEdxIBDsBEC0nIQxGkYflV5z2fJXuWnSka2Ipj0Hukn6dnmy9YSsh bMtjhbPSiyoY1+bekuZuG/04a0SerTXBa3X0sSIOgZQwx39g50PEQTQmWWTRhjB5Rh9A XGSuyGDjRUGaBNkCKAgp9xIAKo2N2R7osMJDHkZ2DUDofYmSnh8Ko3OFeWwhT8RqkGKh FdsuDB3zBmW7rfvN+D1L5hE2EnDjfpoC17EO/mNKr3JB4zOUCeKVKPaeaRVKuAvXYWkC Y7M2cv1mY7c90JDKp+e05V9xmK3PdDi6K2zSuJpVQ0nKt8e24u0d0HmA7+UPlgErS0H4 S1og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=XN+XaD2ZYHBD1RvA+BN/lVbBxtPx0HtD3VudAyGLW2w=; b=Mpe/G+r76QDrd17wNeLXtXjj8qHOiPEMySJWMOtZdd4/qAqqTuIG/hmDJsWdZ4lukz xWOnUjlBHwV1luUAaTKN53GaZQzXdrUhT3VdlwJRG3tX51a47AeoDY+Mwp9OW92w0fVz EgWB1zIpNfG5KGnSzmqVTTEhpCj2ZX5Ncj7gX96BT4zrAPRcQF0p04XEJDx2tNdxIEvD fIW+nTPid1m7O3AiHQRScLtreobM3aefzPxCquMyUIe0UoEvt6DKZ6KAh+p79WHUG1ZL OEOTkIuYzc5I9yULkChUqof0BxOnUMEXJfPnVEUimksQp/6tQpmyLaonnpjJhiWS8Myr KY+g== X-Gm-Message-State: AMke39lT6f+5eg91a00684jA5lz+G78GlvUG5MaLIB/57pgAtFG59bCnKrYnUo/SDE6RPQ== X-Received: by 10.223.163.21 with SMTP id c21mr27080044wrb.115.1489409255113; Mon, 13 Mar 2017 05:47:35 -0700 (PDT) Received: from localhost.localdomain ([85.119.94.113]) by smtp.gmail.com with ESMTPSA id x25sm24825214wrx.4.2017.03.13.05.47.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 13 Mar 2017 05:47:34 -0700 (PDT) From: Petr Vorel To: netdev@vger.kernel.org Cc: Petr Vorel , hayeswang@realtek.com, davem@davemloft.net Subject: [PATCH 1/1] r8152: fix NULL pointer dereference in r8152_poll Date: Mon, 13 Mar 2017 13:47:27 +0100 Message-Id: <20170313124727.4681-1-petr.vorel@gmail.com> X-Mailer: git-send-email 2.12.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org commit 7489bdadb7d1 (r8152: check rx after napi is enabled) causes null pointer dereference when using device as under root: # rmmod r8152 # or lsusb -v NOHZ: local_softirq_pending 08 BUG: unable to handle kernel NULL pointer dereference at 0000000000000008 IP: r8152_poll+0x125/0x570 [r8152] PGD 89b4cf067 PUD 898ff2067 PMD 0 Oops: 0002 [#1] PREEMPT SMP Signed-off-by: Petr Vorel --- NOTE: This is just a workaround, I suppose, there is better way how to fix that (which allows keeping scheduling the napi for rx after napi_enable()). --- drivers/net/usb/r8152.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index 986243c932cc..79c665a89a47 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -3703,8 +3703,6 @@ static int rtl8152_resume(struct usb_interface *intf) napi_enable(&tp->napi); clear_bit(SELECTIVE_SUSPEND, &tp->flags); smp_mb__after_atomic(); - if (!list_empty(&tp->rx_done)) - napi_schedule(&tp->napi); } else { tp->rtl_ops.up(tp); netif_carrier_off(tp->netdev);