linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kees Cook <keescook@chromium.org>
To: Jan Kara <jack@suse.cz>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>,
	Kees Cook <kees@kernel.org>, Baokun Li <libaokun1@huawei.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	Nathan Chancellor <nathan@kernel.org>,
	Nick Desaulniers <ndesaulniers@google.com>,
	Ferry Toth <ftoth@exalondelft.nl>,
	linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org
Subject: Re: [GIT PULL] ext2, quota, and udf fixes for 6.6-rc1
Date: Mon, 23 Oct 2023 09:08:09 -0700	[thread overview]
Message-ID: <202310230907.C39FED1BC@keescook> (raw)
In-Reply-To: <20231023121501.ae3ig3hzxqycglyt@quack3>

On Mon, Oct 23, 2023 at 02:15:01PM +0200, Jan Kara wrote:
> On Mon 23-10-23 14:45:05, Andy Shevchenko wrote:
> > On Sat, Oct 21, 2023 at 04:36:19PM -0700, Kees Cook wrote:
> > > On October 20, 2023 1:36:36 PM PDT, andy.shevchenko@gmail.com wrote:
> > > >That said, if you or anyone has ideas how to debug futher, I'm all ears!
> > > 
> > > I don't think this has been tried yet:
> > > 
> > > When I've had these kind of hard-to-find glitches I've used manual
> > > built-binary bisection. Assuming you have a source tree that works when built
> > > with Clang and not with GCC:
> > > - build the tree with Clang with, say, O=build-clang
> > > - build the tree with GCC, O=build-gcc
> > > - make a new tree for testing: cp -a build-clang build-test
> > > - pick a suspect .o file (or files) to copy from build-gcc into build-test
> > > - perform a relink: "make O=build-test" should DTRT since the copied-in .o
> > > files should be newer than the .a and other targets
> > > - test for failure, repeat
> > > 
> > > Once you've isolated it to (hopefully) a single .o file, then comes the
> > > byte-by-byte analysis or something similar...
> > > 
> > > I hope that helps! These kinds of bugs are super frustrating.
> > 
> > I'm sorry, but I can't see how this is not an error prone approach.
> > If it's a timing issue then the arbitrary object change may help and it doesn't
> > prove anything. As earlier I tried to comment out the error message, and it
> > worked with GCC as well. The difference is so little (according to Linus) that
> > it may not be suspectible. Maybe I am missing the point...
> 
> Given how reliably you can hit the problem with some kernels while you
> cannot hit them with others (only slightly different in a code that doesn't
> even get executed on your system) I suspect this is really more a code
> placement issue than a timing issue. Like if during the linking phase of
> vmlinux some code ends up at some position, the kernel fails, otherwise it
> boots fine. Not sure how to debug such thing though. Maybe some playing
> with the linker and the order of object files linked could reveal something
> but I'm just guessing.

Right -- in theory there will be some minimum subset of "from GCC"
objects that when used together in the otherwise "known good" build will
trip the failure.

-- 
Kees Cook

  reply	other threads:[~2023-10-23 16:08 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-30 10:24 [GIT PULL] ext2, quota, and udf fixes for 6.6-rc1 Jan Kara
2023-08-30 19:50 ` pr-tracker-bot
2023-10-17 10:27 ` Andy Shevchenko
2023-10-17 10:29   ` Andy Shevchenko
2023-10-17 10:32     ` Andy Shevchenko
2023-10-17 11:36       ` Jan Kara
2023-10-17 11:49         ` Andy Shevchenko
2023-10-17 11:46       ` Andy Shevchenko
2023-10-17 13:32         ` Jan Kara
2023-10-17 13:42           ` Andy Shevchenko
2023-10-17 14:50             ` Andy Shevchenko
2023-10-17 15:14               ` Andy Shevchenko
2023-10-17 15:34                 ` Andy Shevchenko
2023-10-17 16:02                   ` Andy Shevchenko
2023-10-18 18:46                     ` Jan Kara
2023-10-19  8:46                       ` Andy Shevchenko
2023-10-19 10:18                         ` Jan Kara
2023-10-19 12:01                           ` Andy Shevchenko
2023-10-19 14:12                             ` Andy Shevchenko
2023-10-19 14:49                               ` Andy Shevchenko
2023-10-19 14:44                             ` Andy Shevchenko
2023-10-19 16:42                               ` Josh Poimboeuf
2023-10-19 17:05                                 ` Andy Shevchenko
2023-10-19 17:26                                   ` Linus Torvalds
2023-10-19 17:51                                     ` Linus Torvalds
2023-10-19 18:10                                       ` Andy Shevchenko
2023-10-19 18:16                                         ` Andy Shevchenko
2023-10-19 18:43                                           ` Linus Torvalds
2023-10-20 14:51                                             ` Andy Shevchenko
2023-10-20 15:06                                               ` Andy Shevchenko
2023-10-20 15:12                                                 ` Andy Shevchenko
2023-10-20 17:26                                                   ` Linus Torvalds
2023-10-20 18:09                                                     ` Jan Kara
2023-10-21  1:48                                                 ` Baokun Li
2023-10-23 12:19                                                   ` Andy Shevchenko
2023-10-23 13:40                                                     ` Baokun Li
2023-10-20 17:23                                               ` Linus Torvalds
2023-10-20 18:29                                                 ` Andy Shevchenko
2023-10-20 18:31                                                   ` Andy Shevchenko
2023-10-20 19:43                                                   ` Linus Torvalds
2023-10-20 20:36                                                     ` andy.shevchenko
2023-10-21 23:36                                                       ` Kees Cook
2023-10-23 11:45                                                         ` Andy Shevchenko
2023-10-23 12:15                                                           ` Jan Kara
2023-10-23 16:08                                                             ` Kees Cook [this message]
2023-10-20 18:05                                               ` Jan Kara
2023-10-20 20:29                                                 ` andy.shevchenko
2023-10-20 11:07                                       ` Jan Kara
2025-01-28 13:24         ` Andy Shevchenko
2023-10-22 13:46   ` Linux regression tracking #adding (Thorsten Leemhuis)
2023-11-22  8:15     ` Linux regression tracking #update (Thorsten Leemhuis)
2023-11-24 16:47       ` Andy Shevchenko
2025-01-28 13:26         ` Andy Shevchenko

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=202310230907.C39FED1BC@keescook \
    --to=keescook@chromium.org \
    --cc=andy.shevchenko@gmail.com \
    --cc=ftoth@exalondelft.nl \
    --cc=jack@suse.cz \
    --cc=jpoimboe@kernel.org \
    --cc=kees@kernel.org \
    --cc=libaokun1@huawei.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).