lkml.org 
[lkml]   [2017]   [Aug]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3] livepatch: introduce shadow variable API

> > > +/*
> > > + * klp_shadow_set() - initialize a shadow variable
> > > + * @shadow: shadow variable to initialize
> > > + * @obj: pointer to parent object
> > > + * @id: data identifier
> > > + * @data: pointer to data to attach to parent
> > > + * @size: size of attached data
> > > + */
> > > +static inline void klp_shadow_set(struct klp_shadow *shadow, void *obj,
> > > + unsigned long id, void *data, size_t size)
> > > +{
> > > + shadow->obj = obj;
> > > + shadow->id = id;
> > > +
> > > + if (data)
> > > + memcpy(shadow->data, data, size);
> > > +}
> > > +
> > > +/**
> > > + * klp_shadow_add() - add a shadow variable to the hashtable
> > > + * @shadow: shadow variable to add
> > > + */
> > > +static inline void klp_shadow_add(struct klp_shadow *shadow)
> > > +{
> > > + hash_add_rcu(klp_shadow_hash, &shadow->node,
> > > + (unsigned long)shadow->obj);
> > > +}
> >
> > It would be nice to add a comment that a caller must hold klp_shadow_lock
> > spinlock.
>
> Since shadow_match(), klp_shadow_set(), and klp_shadow_add() are all in
> the same boat, I can mention the lock for those functions as well.

Yes, please.

> BTW,
> is there a convention to drop the "klp_" for static, local routines? I
> should be consistent here.

Oh, I didn't notice missing "klp_" in shadow_match. We have a prefix
everywhere, so add it, please.

Thanks,
Miroslav

\
 
 \ /
  Last update: 2017-08-11 08:28    [W:0.076 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site