lkml.org 
[lkml]   [2018]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC PATCH] asm/generic: introduce if_nospec and nospec_barrier
    On Wed, Jan 03, 2018 at 09:44:33PM -0800, Dan Williams wrote:
    > On Wed, Jan 3, 2018 at 8:44 PM, Al Viro <viro@zeniv.linux.org.uk> wrote:
    > > On Thu, Jan 04, 2018 at 03:10:51AM +0000, Williams, Dan J wrote:
    > >
    > >> diff --git a/include/linux/fdtable.h b/include/linux/fdtable.h
    > >> index 1c65817673db..dbc12007da51 100644
    > >> --- a/include/linux/fdtable.h
    > >> +++ b/include/linux/fdtable.h
    > >> @@ -82,8 +82,10 @@ static inline struct file *__fcheck_files(struct files_struct *files, unsigned i
    > >> {
    > >> struct fdtable *fdt = rcu_dereference_raw(files->fdt);
    > >>
    > >> - if (fd < fdt->max_fds)
    > >> + if (fd < fdt->max_fds) {
    > >> + osb();
    > >> return rcu_dereference_raw(fdt->fd[fd]);
    > >> + }
    > >> return NULL;
    > >> }
    > >
    > > ... and the point of that would be? Possibly revealing the value of files->fdt?
    > > Why would that be a threat, assuming you manage to extract the information in
    > > question in the first place?
    >
    > No, the concern is that an fd value >= fdt->max_fds may cause the cpu
    > to read arbitrary memory addresses relative to files->fdt and
    > userspace can observe that it got loaded.

    Yes. And all that might reveal is the value of files->fdt. Who cares?

    \
     
     \ /
      Last update: 2018-01-04 06:51    [W:2.224 / U:0.576 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site