Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1722116

Re: module: Remove const attribute from alias for MODULE_DEVICE_TABLE

From Stefan Agner <stefan@agner.ch>
Newsgroups linux.kernel
Subject Re: module: Remove const attribute from alias for MODULE_DEVICE_TABLE
Date 2017-08-29 04:30 +0200
Message-ID <ujErT-5br-3@gated-at.bofh.it> (permalink)
References <u6WPE-4Ir-9@gated-at.bofh.it> <ujfDb-6lS-1@gated-at.bofh.it> <ujw1l-8pb-31@gated-at.bofh.it> <ujwaZ-8sm-13@gated-at.bofh.it> <ujwkG-8vp-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 2017-08-28 10:41, Kees Cook wrote:
> On Mon, Aug 28, 2017 at 10:38 AM, Nick Desaulniers
> <ndesaulniers@google.com> wrote:
>> I think Kees' proposal is a better solution; rather than require all
>> usage of device table to remember to add const, have the macro add it
>> for all users.  Otherwise if you require caller's to add it, they may
>> forget.
> 
> And with the coccinelle script, it should be easy to invert the logic
> and remove const from the callers...
> 

I tried to reproduce my findings again but was not successful :-( I must
have changed .config or something in between and draw wrong
conclusions...

So removing the const in the module.h alias actually did not change
anything... It did not help for drivers which forget to constify... I
think even the alias in module.h was actually illegal according to C
standard:

(C89, 6.2.7p2) "All declarations that refer to the same object or
function shall have compatible type; otherwise the behavior is
undefined."


I guess it would still make sense to constify the structs for most of
the 620 drivers which do not have it const currently. I found some
driver actually change the table at runtime, e.g.
drivers/net/usb/pegasus.c, so we would have to exclude them.

--
Stefan

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Re: module: Remove const attribute from alias for MODULE_DEVICE_TABLE Stefan Agner <stefan@agner.ch> - 2017-08-28 02:00 +0200
  Re: module: Remove const attribute from alias for MODULE_DEVICE_TABLE Kees Cook <keescook@chromium.org> - 2017-08-28 19:30 +0200
    Re: module: Remove const attribute from alias for MODULE_DEVICE_TABLE Nick Desaulniers <ndesaulniers@google.com> - 2017-08-28 19:40 +0200
      Re: module: Remove const attribute from alias for MODULE_DEVICE_TABLE Kees Cook <keescook@chromium.org> - 2017-08-28 19:50 +0200
        Re: module: Remove const attribute from alias for MODULE_DEVICE_TABLE Stefan Agner <stefan@agner.ch> - 2017-08-29 04:30 +0200

csiph-web