Why exported const value modified by another driver not updated in original driver

Manavendra Nath Manav mnm.kernel at gmail.com
Wed Sep 5 04:27:07 EDT 2012

On Tue, Sep 4, 2012 at 5:55 PM, Dan Carpenter <dan.carpenter at oracle.com> wrote:
> On Tue, Sep 04, 2012 at 03:58:20PM +0530, Manavendra Nath Manav wrote:
>> Is the above a genuine kernel bug, or i am missing something out here. Pls help.
> When you declare something as const then the compiler assumes it
> really is const and uses a literal instead of reading from memory.
> I'm surprised the compiler doesn't print a warning message.
> It has to do with compilers, nothing to do with kernels.
> regards,
> dan carpenter

Thanks All,
I understood the problem and current gcc behaviour after looking at
output of objdump of driver.ko file when the variable is declared as
"const" and in second case as "const volatile". The compiler optimises
by directly passing the value in first case and the address of
variable in second case. Thanks for all the help and clarification.

push   $0x7b         // 123 in decimal
push   $0x0

Manavendra Nath Manav

More information about the Kernelnewbies mailing list