Re: [added to the 4.1 stable tree] ARM: OMAP2+: Fix l2_inv_api_params for rodata

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> [160211 08:20]:
> On Thu, Feb 11, 2016 at 07:48:10AM -0800, Tony Lindgren wrote:
> > Hi,
> > 
> > * Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> [160211 02:43]:
> > > Yes, this isn't going to work if it is copied out of the DDR, because
> > > moving the data to the .data section and introducing a PC relative
> > > access to it will make the code expect to access data at a relative
> > > offset from the SRAM.
> > > 
> > > Sascha, please drop this for now.
> > 
> > Hmm did I miss something? Since commit 46e130d298a3 ("ARM: pm: omap3:
> > run the ASM sleep code from DDR") we only run minimal parts of the
> > code in SRAM. Naturally if any SRAM code uses PC relative access things
> > won't work.
> > 
> > Here are the only pieces running in SRAM:
> > 
> > - omap3_do_wfi running in SRAM only for retention idle as off
> >   idle restores DDR for us
> > 
> > - For HS omaps, save_secure_ram_context is already in .data as it's
> >   only run in SRAM
> > 
> > - For some revisions, we have es3_sdrc_fix dynamically copied to
> >   SRAM
> > 
> > If there are other places that I've missed, please let me know and
> > I'll take a look ASAP!
> 
> Hmm, ok, I missed that.  It looks fine, but now that I'm looking deeper,
> I'm wondering what the point of this particular change is.
> 
> From what I can see, you're moving both l2dis_3630 and l2_inv_api_params
> into the .data section, and adding extra complication to access those in
> a position-relative manner.  However, I'm unable to locate anything which
> writes to either of these: they're only read from - nothing can, they're
> not even global symbols, so aren't referencable outside of sleep34xx.S.
> 
> So I don't see why this should be Cc'd for stable kernels, since as far
> as I can see, it's not fixing any bug.

We have enable_omap3630_toggle_l2_on_restore toggle l2dis_3630 from
pm34xx.c. That won't work if CONFIG_DEBUG_RODATA is selected.

But for l2_inv_api_params, it seems you're right. That's read only
data!

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]