Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1629573
| From | Michał Kępień <kernel@kempniu.pl> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals |
| Date | 2017-04-24 15:40 +0200 |
| Message-ID | <tzMnD-7Bg-3@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
fujitsu-laptop registers two ACPI drivers. Whenever an ACPI device with a matching identifier is found by the ACPI bus, a new instance of the relevant driver is bound to that ACPI device. However, both ACPI drivers registered by fujitsu-laptop access module-wide global data structures, assuming neither ACPI driver will ever be instantiated more than once. While there are currently no indications of such issues happening in the wild, it is theoretically possible for multiple FUJ02B1/FUJ02E3 ACPI devices to be present in the firmware, which would cause two instances of the relevant driver to simultaneously access module-wide globals without any locking in place. Also, modern Fujitsu laptops ship without the FUJ02B1 ACPI device present in firmware, causing memory to be needlessly allocated inside fujitsu_init(). To future-proof the module and lay the groundwork for separating the two aforementioned ACPI drivers into separate modules, move away from module-wide global data structures by using device-specific data instead. This patch series was tested on a Lifebook S7020 and a Lifebook E744. I found it challenging to adhere to the "one logical change per patch" rule while touching code commonly used by almost all other module code. If the changes introduced are illegible, I will be happy to further explain and/or improve the series. Please also note that while the diff stats for this series may seem daunting at first, using --color-words should hopefully make reviewing much more manageable. drivers/platform/x86/fujitsu-laptop.c | 460 +++++++++++++++++----------------- 1 file changed, 236 insertions(+), 224 deletions(-) -- 2.12.2
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Michał Kępień <kernel@kempniu.pl> - 2017-04-24 15:40 +0200
[PATCH 09/10] platform/x86: fujitsu-laptop: use device-specific data in LED-related code Michał Kępień <kernel@kempniu.pl> - 2017-04-24 15:40 +0200
[PATCH 04/10] platform/x86: fujitsu-laptop: rework backlight power synchronization Michał Kępień <kernel@kempniu.pl> - 2017-04-24 15:40 +0200
Re: [PATCH 04/10] platform/x86: fujitsu-laptop: rework backlight power synchronization Jonathan Woithe <jwoithe@just42.net> - 2017-05-01 15:40 +0200
Re: [PATCH 04/10] platform/x86: fujitsu-laptop: rework backlight power synchronization Darren Hart <dvhart@infradead.org> - 2017-05-01 18:20 +0200
[PATCH 06/10] platform/x86: fujitsu-laptop: allocate struct fujitsu_bl in acpi_fujitsu_bl_add() Michał Kępień <kernel@kempniu.pl> - 2017-04-24 15:40 +0200
[PATCH 05/10] platform/x86: fujitsu-laptop: distinguish current uses of device-specific data Michał Kępień <kernel@kempniu.pl> - 2017-04-24 15:40 +0200
Re: [PATCH 05/10] platform/x86: fujitsu-laptop: distinguish current uses of device-specific data Jonathan Woithe <jwoithe@just42.net> - 2017-05-01 15:50 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Jonathan Woithe <jwoithe@just42.net> - 2017-05-01 15:10 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Michał Kępień <kernel@kempniu.pl> - 2017-05-02 15:30 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Jonathan Woithe <jwoithe@just42.net> - 2017-05-05 01:50 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Darren Hart <dvhart@infradead.org> - 2017-05-05 18:20 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Michał Kępień <kernel@kempniu.pl> - 2017-05-06 14:40 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Michał Kępień <kernel@kempniu.pl> - 2017-05-06 14:50 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-05-06 16:30 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-05-06 16:30 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Darren Hart <dvhart@infradead.org> - 2017-05-08 18:10 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Michał Kępień <kernel@kempniu.pl> - 2017-05-09 11:40 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Jonathan Woithe <jwoithe@just42.net> - 2017-05-09 14:20 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Darren Hart <dvhart@infradead.org> - 2017-05-09 18:50 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-05-09 23:40 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Michał Kępień <kernel@kempniu.pl> - 2017-05-11 16:00 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-05-11 16:50 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Darren Hart <dvhart@infradead.org> - 2017-05-11 17:40 +0200
Re: [PATCH 00/10] fujitsu-laptop: use device-specific data instead of module-wide globals Michał Kępień <kernel@kempniu.pl> - 2017-05-11 15:50 +0200
csiph-web