lkml.org 
[lkml]   [2015]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH 1/7] modpost: add strict white-listing when referencing sections.
On Fri, Mar 20, 2015 at 11:59:41AM +1030, Rusty Russell wrote:
> Quentin Casasnovas <quentin.casasnovas@oracle.com> writes:
> > Prints a warning when a section references a section outside a strict
> > white-list. This will be useful to print a warning if __ex_table
> > references a non-executable section.
>
> Hi Quentin,
>
> Really pleasant to read these patches; nice work!
>

Thanks! :)

> > diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
> > index d439856..7094a57 100644
> > --- a/scripts/mod/modpost.c
> > +++ b/scripts/mod/modpost.c
> > @@ -925,7 +925,8 @@ enum mismatch {
> >
> > struct sectioncheck {
> > const char *fromsec[20];
> > - const char *tosec[20];
> > + const char *bad_tosec[20];
> > + const char *good_tosec[20];
> > enum mismatch mismatch;
> > const char *symbol_white_list[20];
>
> My only gripe is that these fields are undocumented. You maintain
> the status quo, but some comments indicating what the mean would be
> nice. Perhaps as a separate patch.
>

Derp, I was sure I had sent a patch following your comment.. Please find
one attached to this e-mail. It should apply cleanly on top of this
series.

> In case you need it (for the whole series):
> Acked-by: Rusty Russell <rusty@rustcorp.com.au>
>

Thanks again!

May I aks who's supposed to take the series? Or maybe it needs more
acking?

Quentin
From acab15181879a18140ca3afa69776292e830ea72 Mon Sep 17 00:00:00 2001
From: Quentin Casasnovas <quentin.casasnovas@oracle.com>
Date: Mon, 13 Apr 2015 10:55:38 +0200
Subject: [PATCH] modpost: document the use of struct section_check.

struct section_check is used as a generic way of describing what
relocations are authorized/forbidden when running modpost. This commit
tries to describe how each field is used.

Signed-off-by: Quentin Casasnovas <quentin.casasnovas@oracle.com>
---
scripts/mod/modpost.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index dfe9c3c..7b56ae5 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -930,6 +930,26 @@ enum mismatch {
EXTABLE_TO_NON_TEXT,
};

+/**
+ * Describe how to match sections on different criterias:
+ *
+ * @fromsec: Array of sections to be matched.
+ *
+ * @bad_tosec: Relocations applied to a section in @fromsec to a section in
+ * this array is forbidden (black-list). Can be empty.
+ *
+ * @good_tosec: Relocations applied to a section in @fromsec must be
+ * targetting sections in this array (white-list). Can be empty.
+ *
+ * @mistmatch: Type of mismatch.
+ *
+ * @symbol_white_list: Do not match a relocation to a symbol in this list
+ * even if it is targetting a section in @bad_to_sec.
+ *
+ * @handler: Specific handler to call when a match is found. If NULL,
+ * default_mismatch_handler() will be called.
+ *
+ */
struct sectioncheck {
const char *fromsec[20];
const char *bad_tosec[20];
--
2.0.5
\
 
 \ /
  Last update: 2015-04-13 11:41    [W:0.122 / U:2.936 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site