lkml.org 
[lkml]   [2018]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 2/6] proc/sysctl: Check for invalid flags bits
    Date
    Checking code is added to check for invalid flags in the ctl_table
    and return error if an unknown flag is used.

    Signed-off-by: Waiman Long <longman@redhat.com>
    ---
    fs/proc/proc_sysctl.c | 12 ++++++++++++
    1 file changed, 12 insertions(+)

    diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c
    index 493c975..67c0c82 100644
    --- a/fs/proc/proc_sysctl.c
    +++ b/fs/proc/proc_sysctl.c
    @@ -1092,6 +1092,16 @@ static int sysctl_check_table_array(const char *path, struct ctl_table *table)
    return err;
    }

    +static int sysctl_check_flags(const char *path, struct ctl_table *table)
    +{
    + int err = 0;
    +
    + if (table->flags & ~CTL_TABLE_FLAGS_ALL)
    + err = sysctl_err(path, table, "invalid flags");
    +
    + return err;
    +}
    +
    static int sysctl_check_table(const char *path, struct ctl_table *table)
    {
    int err = 0;
    @@ -1111,6 +1121,8 @@ static int sysctl_check_table(const char *path, struct ctl_table *table)
    (table->proc_handler == proc_doulongvec_ms_jiffies_minmax)) {
    if (!table->data)
    err |= sysctl_err(path, table, "No data");
    + if (table->flags)
    + err |= sysctl_check_flags(path, table);
    if (!table->maxlen)
    err |= sysctl_err(path, table, "No maxlen");
    else
    --
    1.8.3.1
    \
     
     \ /
      Last update: 2018-03-12 21:17    [W:4.067 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site