All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Tong Zhang <ztong0001@gmail.com>
Cc: Jakub Kicinski <kuba@kernel.org>,
	Colin Ian King <colin.king@intel.com>,
	Saurav Girepunje <saurav.girepunje@gmail.com>,
	Nathan Chancellor <nathan@kernel.org>,
	Johan Hovold <johan@kernel.org>,
	open list <linux-kernel@vger.kernel.org>,
	linux-staging@lists.linux.dev,
	Dan Carpenter <dan.carpenter@oracle.com>
Subject: Re: [PATCH v2 2/3] staging: rtl8192u: move debug files to debugfs
Date: Wed, 27 Jul 2022 08:35:50 +0200	[thread overview]
Message-ID: <YuDcxgcD5KkeV4Tx@kroah.com> (raw)
In-Reply-To: <CAA5qM4B9p05KLFhsmcbYud65dUHPXqETc7rFqer0pNLjH_mJpA@mail.gmail.com>

On Tue, Jul 19, 2022 at 09:58:24PM -0700, Tong Zhang wrote:
> On Tue, Jul 19, 2022 at 5:53 AM Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> >
> > On Mon, Jul 18, 2022 at 10:50:37PM -0700, Tong Zhang wrote:
> > > There are 4 debug files created under /proc/net/[Devname]. Devname could
> > > Due to this is purely for debuging as files are created read only,
> > > move this to debugfs like other NIC drivers do instead of using procfs.
> > > This is also to prepare for address rmmod warn issue.
> >
> > Minor comments based on good debugfs usage:
> >
> > > --- a/drivers/staging/rtl8192u/r8192U.h
> > > +++ b/drivers/staging/rtl8192u/r8192U.h
> > > @@ -1061,6 +1061,9 @@ typedef struct r8192_priv {
> > >       struct delayed_work gpio_change_rf_wq;
> > >       struct delayed_work initialgain_operate_wq;
> > >       struct workqueue_struct *priv_wq;
> > > +
> > > +     /* debugfs */
> > > +     struct dentry *debugfs_dir;
> >
> > Why do you need to save this dentry?  Can't you just look it up when you
> > want to remove the files?
> >
> 
> Hi Greg,
> Thanks for the comments.
> 
> I am thinking whether it is possible to rename the device and run
> rmmod to remove something it shouldn't.
> If we are using debugfs_lookup(dev->name, NULL), say, the existing
> directories/files are
> 
>   /sys/kernel/debug/DIRA
>   /sys/kernel/debug/wlan0

Ick, wait, that's not good.  We need a driver subdirectory name in there
so that this driver doesn't stomp over some other driver that might be
doing the same foolish thing and using the root of debugfs.

> I then rename device wlan0 to DIRA, after that I remove the module by
> doing rmmod.
> Apparently either the wlan0 directory will not be renamed successfully
> due to collision or DIRA directory might be overwritten? (this part I
> haven't checked yet)
> Either Way,  later on if we do rmmod, the driver will try to do
> debugfs_lookup("fileA", NULL) and remove /sys/kernel/debug/DIRA which
> it shouldn't.
> Or if it is possible to rename the device to some wacky string
> containing wildcard or .. to launch an attack.
> 
> Maybe I am being naive but please correct me if I am wrong.
> 
> Or maybe we should put those debug files under the module's own
> directory and do lookup from there instead. like the following dir
> structure
> 
> /sys/kernel/debug/r8192u_usb/wlan0/stats-rx
> /sys/kernel/debug/r8192u_usb/wlan0/stats-rx
> /sys/kernel/debug/r8192u_usb/wlan0/stats-ap
> /sys/kernel/debug/r8192u_usb/wlan0/registers

Yes, that would be much much better.  That way you "know" you can look
up the name again correctly.

thanks,

greg k-h

  reply	other threads:[~2022-07-27  6:35 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-16 12:16 [BUG] staging: rtl8192u: Found a bug when removing the module Zheyu Ma
2022-07-17  7:01 ` Tong Zhang
2022-07-17  7:01 ` [PATCH] staging: rtl8192u: fix rmmod warn when wlan0 is renamed Tong Zhang
2022-07-17  8:04   ` Zheyu Ma
2022-07-18 11:39   ` Dan Carpenter
2022-07-18 11:47   ` Dan Carpenter
2022-07-18 12:01   ` Dan Carpenter
2022-07-19  5:50     ` [PATCH v2 0/3] " Tong Zhang
2022-07-19  8:04       ` Dan Carpenter
2022-07-19  5:50     ` [PATCH v2 1/3] staging: rtl8192u: move debug stuff to its own file Tong Zhang
2022-07-19  5:50     ` [PATCH v2 2/3] staging: rtl8192u: move debug files to debugfs Tong Zhang
2022-07-19 12:37       ` Greg Kroah-Hartman
2022-07-20  4:58         ` Tong Zhang
2022-07-27  6:35           ` Greg Kroah-Hartman [this message]
2022-07-20  6:30         ` Tong Zhang
2022-07-27  6:37           ` Greg Kroah-Hartman
2022-07-29  3:51             ` Tong Zhang
2022-07-29  3:52             ` [PATCH v3 0/3] staging: rtl8192u: fix rmmod warn when device is renamed Tong Zhang
2022-07-29  3:52               ` [PATCH v3 1/3] staging: rtl8192u: move debug stuff to its own file Tong Zhang
2022-07-29  6:23                 ` Philipp Hortmann
2022-07-30  3:35                   ` Tong Zhang
2022-07-29  3:52               ` [PATCH v3 2/3] staging: rtl8192u: move debug files to debugfs Tong Zhang
2022-07-29  7:31                 ` Greg Kroah-Hartman
2022-07-29  3:52               ` [PATCH v3 3/3] staging: rtl8192u: fix rmmod warn when device is renamed Tong Zhang
2022-07-29  7:27                 ` Greg Kroah-Hartman
2022-07-30  3:33                   ` Tong Zhang
2022-07-30  3:33                   ` [PATCH v4 0/4] " Tong Zhang
2022-07-30  3:33                   ` [PATCH v4 1/4] staging: rtl8192u: move debug stuff to its own file Tong Zhang
2022-07-30  3:33                   ` [PATCH v4 2/4] staging: rtl8192u: remove unnecessary cast Tong Zhang
2022-07-30  3:33                   ` [PATCH v4 3/4] staging: rtl8192u: move debug files to debugfs Tong Zhang
2022-07-30  3:33                   ` [PATCH v4 4/4] staging: rtl8192u: fix rmmod warn when device is renamed Tong Zhang
2022-07-19  5:50     ` [PATCH v2 3/3] staging: rtl8192u: fix rmmod warn when wlan0 " Tong Zhang
2022-07-19 12:39       ` Greg Kroah-Hartman
2022-07-20  6:16         ` Tong Zhang
2022-07-19  5:52     ` [PATCH] " Tong Zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YuDcxgcD5KkeV4Tx@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=colin.king@intel.com \
    --cc=dan.carpenter@oracle.com \
    --cc=johan@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=nathan@kernel.org \
    --cc=saurav.girepunje@gmail.com \
    --cc=ztong0001@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.