lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 20 Mar 2019 19:44:28 +0200 From: Nikos Tsironis <ntsironis@...ikto.com> To: paulmck@...ux.ibm.com Cc: snitzer@...hat.com, agk@...hat.com, dm-devel@...hat.com, mpatocka@...hat.com, hch@...radead.org, iliastsi@...ikto.com, linux-kernel@...r.kernel.org Subject: Re: [PATCH v3 2/6] list_bl: Add hlist_bl_add_before/behind helpers On 3/18/19 5:41 PM, Paul E. McKenney wrote: > On Sun, Mar 17, 2019 at 02:22:54PM +0200, Nikos Tsironis wrote: >> Add hlist_bl_add_before/behind helpers to add an element before/after an >> existing element in a bl_list. >> >> Signed-off-by: Nikos Tsironis <ntsironis@...ikto.com> >> Signed-off-by: Ilias Tsitsimpis <iliastsi@...ikto.com> > > On both this and the previous patch, the double signed-off-by lines > are a bit strange. You might be wanting Co-developed-by, but please > see Documentation/process/submitting-patches.rst. Hi Paul, Thanks for your suggestion. I will make sure to reread the Documentation regarding patch submission. Thanks, Nikos > > Other than that: > > Reviewed-by: Paul E. McKenney <paulmck@...ux.ibm.com> > >> --- >> include/linux/list_bl.h | 26 ++++++++++++++++++++++++++ >> 1 file changed, 26 insertions(+) >> >> diff --git a/include/linux/list_bl.h b/include/linux/list_bl.h >> index 3fc2cc57ba1b..ae1b541446c9 100644 >> --- a/include/linux/list_bl.h >> +++ b/include/linux/list_bl.h >> @@ -86,6 +86,32 @@ static inline void hlist_bl_add_head(struct hlist_bl_node *n, >> hlist_bl_set_first(h, n); >> } >> >> +static inline void hlist_bl_add_before(struct hlist_bl_node *n, >> + struct hlist_bl_node *next) >> +{ >> + struct hlist_bl_node **pprev = next->pprev; >> + >> + n->pprev = pprev; >> + n->next = next; >> + next->pprev = &n->next; >> + >> + /* pprev may be `first`, so be careful not to lose the lock bit */ >> + WRITE_ONCE(*pprev, >> + (struct hlist_bl_node *) >> + ((uintptr_t)n | ((uintptr_t)*pprev & LIST_BL_LOCKMASK))); >> +} >> + >> +static inline void hlist_bl_add_behind(struct hlist_bl_node *n, >> + struct hlist_bl_node *prev) >> +{ >> + n->next = prev->next; >> + n->pprev = &prev->next; >> + prev->next = n; >> + >> + if (n->next) >> + n->next->pprev = &n->next; >> +} >> + >> static inline void __hlist_bl_del(struct hlist_bl_node *n) >> { >> struct hlist_bl_node *next = n->next; >> -- >> 2.11.0 >> >
Powered by blists - more mailing lists