Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1487542
| From | Julia Lawall <julia.lawall@lip6.fr> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: question about clk_hw_register_fixed_factor |
| Date | 2016-09-20 19:40 +0200 |
| Message-ID | <sjxbr-61r-17@gated-at.bofh.it> (permalink) |
| References | <sjmzn-7Jp-7@gated-at.bofh.it> <sjxbr-61r-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Tue, 20 Sep 2016, Stephen Boyd wrote: > On 09/20, Julia Lawall wrote: > > Hello, > > > > The function clk_hw_register_fixed_factor from > > drivers/clk/clk-fixed-factor.c contains: > > > > struct clk_init_data init; > > ... > > fix->hw.init = &init; > > ... > > hw = &fix->hw; > > ... > > return hw; > > > > It looks like hw would then contain a dangling pointer, to init. Should > > this be nulled out, or does it not matter because it is certain that no > > one will look at it anyway? Or did I miss a null assignment elsewhere? > > > > Yes this is a common pattern in clk drivers. The init structure > is not used after clk_register() (or its variants) is called, so > there will typically be a dangling pointer in clk_hw to the > clk_init_data structure. Sometimes that structure is allocated on > the stack, which leads to other problems like people forgetting > to initialize all the members. Usually they forgot to set flags > to something and then clk framework does very odd things. We > could null out the init pointer if we really cared, but so far > this hasn't been a problem. OK, thanks for the clarification. julia
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
question about clk_hw_register_fixed_factor Julia Lawall <julia.lawall@lip6.fr> - 2016-09-20 08:20 +0200
Re: question about clk_hw_register_fixed_factor Stephen Boyd <sboyd@codeaurora.org> - 2016-09-20 19:40 +0200
Re: question about clk_hw_register_fixed_factor Julia Lawall <julia.lawall@lip6.fr> - 2016-09-20 19:40 +0200
csiph-web