linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kees Cook <keescook@chromium.org>
To: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Next Mailing List <linux-next@vger.kernel.org>,
	Beau Belgrave <beaub@linux.microsoft.com>
Subject: Re: linux-next: build failure after merge of the kspp tree
Date: Tue, 25 Jan 2022 19:17:32 -0800	[thread overview]
Message-ID: <202201251914.9377C63D16@keescook> (raw)
In-Reply-To: <20220126093538.893fb44a7cb0a7cd840c7fdb@kernel.org>

On Wed, Jan 26, 2022 at 09:35:38AM +0900, Masami Hiramatsu wrote:
> Hi Steve,
> (Ccing Beau)
> 
> On Tue, 25 Jan 2022 17:21:14 -0500
> Steven Rostedt <rostedt@goodmis.org> wrote:
> 
> > On Tue, 25 Jan 2022 14:07:14 -0800
> > Kees Cook <keescook@chromium.org> wrote:
> > 
> > > > The tstruct is the TP_STRUCT__entry() and for each __rel_dynamic_array() or
> > > > __dynamic_array(), the __data_size gets updated and saved into the
> > > > __data_offsets that holds where each item is.
> > > > 
> > > > The rel versions sets the offset from its location to the data, where as
> > > > the non rel versions sets the offset from the beginning of the event to the
> > > > data.  
> > > 
> > > Could this just be
> > > 
> > > #define __get_rel_dynamic_array(field) \
> > > 	((void *)(&__entry->data[__entry->__rel_loc_##field & 0xffff])
> > > 
> > > ?
> > 
> > This is currently user space defined. But since the only user of the rel_*
> > version hasn't been upstreamed yet, we could change it. But it also
> > requires changing libtraceevent as it depends on this code too.
> 
> I think Kees' idea seems better. If you and Beau are good, I will update
> the macros for __rel_loc. (This requires to change some user-space
> application which Beau is making too.)
> 
> > 
> > I'm surprised that it doesn't break with the __get_dynamic_array()
> > versions, or is that because it's based off of __entry?
> 
> I think so. Gcc seems to check the size of the data structure where the
> original base address points.

Right, and it's pretty good these days at navigating through casts and
inlines, etc, which is appreciated in all the cases where it has found
real bugs. :)

The "offset from __entry" solution works as well as "offset from
__entry->data", so I don't care which is used. If "offset from data"
makes more sense for this API, yeah, I guess change it now while it's
possible. :)

Thanks for helping track this down!

-- 
Kees Cook

  parent reply	other threads:[~2022-01-26  3:17 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-25  3:50 linux-next: build failure after merge of the kspp tree Stephen Rothwell
2022-01-25  7:44 ` Kees Cook
2022-01-25 13:27   ` Masami Hiramatsu
2022-01-25 14:01     ` Steven Rostedt
2022-01-25 17:53       ` Kees Cook
2022-01-25 14:31     ` Masami Hiramatsu
2022-01-25 15:49       ` Steven Rostedt
2022-01-25 17:54       ` Kees Cook
2022-01-25 18:41         ` Steven Rostedt
2022-01-25 20:57       ` Kees Cook
2022-01-25 21:23         ` Steven Rostedt
2022-01-25 21:28           ` Steven Rostedt
2022-01-25 22:07             ` Kees Cook
2022-01-25 22:21               ` Steven Rostedt
2022-01-26  0:35                 ` Masami Hiramatsu
2022-01-26  1:16                   ` Steven Rostedt
2022-01-26  3:18                     ` Kees Cook
2022-01-26  3:26                       ` Steven Rostedt
2022-01-26 19:41                         ` Beau Belgrave
2022-01-26 21:00                           ` Steven Rostedt
2022-01-26  3:52                     ` Masami Hiramatsu
2022-01-26  4:06                       ` Steven Rostedt
2022-01-26  3:17                   ` Kees Cook [this message]
2022-01-25 22:01           ` Kees Cook
  -- strict thread matches above, loose matches on Subject: below --
2024-03-05  3:50 Stephen Rothwell
2024-03-05  9:54 ` Kees Cook
2023-09-14  1:50 Stephen Rothwell
2023-09-14  3:07 ` Kees Cook
2023-01-05  2:25 Stephen Rothwell
2023-01-05  3:22 ` Kees Cook
2023-01-05  4:24   ` Stephen Rothwell
2022-12-01  3:07 Stephen Rothwell
2022-12-01 16:31 ` Kees Cook
2022-07-28 10:55 Stephen Rothwell
2022-07-28 15:12 ` Matthias Kaehlcke
2022-05-05  7:40 Stephen Rothwell
2022-05-07 17:18 ` Kees Cook
2022-03-16  7:32 Stephen Rothwell
2022-03-17  1:01 ` Linus Walleij
2022-03-17  8:24   ` Marc Zyngier
2022-03-09 10:10 Stephen Rothwell
2022-03-09 16:52 ` Kees Cook
2022-03-09 16:58   ` Hans de Goede
2022-03-09 17:18     ` Kees Cook
2022-02-28 22:27 Stephen Rothwell
2022-02-28 23:02 ` Kees Cook
2022-03-02  9:16   ` Stephen Rothwell
2022-03-03  7:29     ` Stephen Rothwell
2022-01-30 23:09 Stephen Rothwell
2022-01-31  4:04 ` Kees Cook
2022-01-31  4:59   ` Stephen Rothwell
2022-01-31  6:19     ` Kees Cook
2022-01-31 19:10       ` Saeed Mahameed
2022-01-31 21:06         ` Kees Cook
2022-01-30 22:34 Stephen Rothwell
2022-01-30 23:24 ` Herbert Xu
2022-01-31  0:15   ` Stephen Rothwell
2022-01-31  0:20     ` Herbert Xu
2022-01-31  0:41       ` Stephen Rothwell
2022-01-25  3:24 Stephen Rothwell
2022-01-25  3:43 ` Kees Cook
2022-02-08  4:42   ` Stephen Rothwell
2022-02-08  6:13     ` Kees Cook
2022-01-25  2:55 Stephen Rothwell
2022-01-25  3:02 ` Stephen Rothwell
2022-01-25  3:22   ` Kees Cook
2022-01-25  0:57 Stephen Rothwell
2022-01-25  3:35 ` Kees Cook
2022-01-25 14:07 ` David Sterba
2021-09-16  3:34 Stephen Rothwell
2021-09-16  6:00 ` Kees Cook
2021-08-26  7:52 Stephen Rothwell
2021-08-26 15:38 ` Kees Cook
2020-06-23  3:51 Stephen Rothwell
2020-06-23  3:56 ` David Miller
2020-06-21 13:48 Stephen Rothwell
2020-06-21 15:36 ` Kees Cook
2018-07-27  9:02 Stephen Rothwell
2018-07-27  9:06 ` Stephen Rothwell
2018-07-27 10:55   ` Stephen Rothwell
2018-07-27 12:55     ` Will Deacon
2018-07-27 13:01       ` Will Deacon
2018-07-27 13:27         ` Will Deacon
2018-07-27 16:00           ` Kees Cook
2018-07-30  7:33       ` Stephen Rothwell
2018-07-30 14:47         ` Laura Abbott
2018-07-30 16:37           ` Will Deacon
2018-07-31 10:09         ` Will Deacon
2018-07-31 11:27           ` Stephen Rothwell
2017-11-08  5:23 Stephen Rothwell
2017-11-08 23:43 ` Kees Cook
2017-11-09  0:18   ` Darrick J. Wong
2017-11-09  0:31     ` Kees Cook
2017-06-20  4:56 Stephen Rothwell
2017-06-20  5:39 ` Kees Cook
2017-06-20  5:42   ` John Johansen
2017-06-20  5:39 ` John Johansen
2017-06-26 18:19   ` Kees Cook
2017-06-27  3:33     ` James Morris
2017-06-27 22:16       ` Kees Cook
2017-06-28  5:48         ` James Morris
2017-06-16  1:30 Stephen Rothwell
2017-06-16  2:51 ` Daniel Micay
2017-06-16  2:52   ` Daniel Micay
2017-06-16  3:20   ` Kees Cook
2017-06-16  3:31     ` Stephen Rothwell
2017-06-19  0:23       ` Stephen Rothwell
2017-06-19 21:01         ` Kees Cook

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=202201251914.9377C63D16@keescook \
    --to=keescook@chromium.org \
    --cc=beaub@linux.microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=sfr@canb.auug.org.au \
    /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).