lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=wh=aOhPAJn-E8T+GofoBeCtXuoEXZcw6A009MO4s3mNAA@mail.gmail.com>
Date:   Sun, 24 Sep 2023 14:09:04 -0700
From:   Linus Torvalds <torvalds@...ux-foundation.org>
To:     Steven Rostedt <rostedt@...dmis.org>
Cc:     LKML <linux-kernel@...r.kernel.org>,
        Masami Hiramatsu <mhiramat@...nel.org>,
        Mark Rutland <mark.rutland@....com>,
        Zheng Yejian <zhengyejian1@...wei.com>
Subject: Re: [GIT PULL] tracing: Fixes for 6.6-rc2

On Sat, 23 Sept 2023 at 16:14, Steven Rostedt <rostedt@...dmis.org> wrote:
>
> - Fix a bug in eventfs where reading a dynamic event directory (open) and then
>   creating a dynamic event that goes into that diretory screws up the accounting.

Honestly, I'm getting more and more convinced that you just need to
stop this eventfs stuff.

This is just *incredibly* ugly:

  /*
   * This just sets the file->private_data back to the cursor and back.
   */
  static int dcache_readdir_wrapper(struct file *file, struct dir_context *ctx)
  {
        struct dentry_list *dlist = file->private_data;
        int ret;

        file->private_data = dlist->cursor;
        ret = dcache_readdir(file, ctx);
        dlist->cursor = file->private_data;
        file->private_data = dlist;
        return ret;
  }

I guess it works by the f_pos locking magic, but by christ is this
ugly beyond words.

Honestly, now, are the eventfs changes *really* making up for this
kind of continual "this is crazy" garbage? We had the whole "this is
undebuggable" discussion, now there's stuff like this.

Were people even *aware* of the f_pos locking, or did this just happen to work?

And that's entirely ignoring the disgusting thing that is that
"allocate an array of every dentry we looked at" issue. Which honestly
also looks disgusting.

I beg of you: think hard about just reverting all the eventfs changes
that moved away from using dentries natively, and instead started
doing these *incredibly* hacky and ugly things.

Really.

               Linus

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ