summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-22Merge tag 'rcu-urgent.2022.07.21a' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu Pull RCU fix from Paul McKenney: "This contains a pair of commits that fix 282d8998e997 ("srcu: Prevent expedited GPs and blocking readers from consuming CPU"), which was itself a fix to an SRCU expedited grace-period problem that could prevent kernel live patching (KLP) from completing. That SRCU fix for KLP introduced large (as in minutes) boot-time delays to embedded Linux kernels running on qemu/KVM. These delays were due to the emulation of certain MMIO operations controlling memory layout, which were emulated with one expedited grace period per access. Common configurations required thousands of boot-time MMIO accesses, and thus thousands of boot-time expedited SRCU grace periods. In these configurations, the occasional sleeps that allowed KLP to proceed caused excessive boot delays. These commits preserve enough sleeps to permit KLP to proceed, but few enough that the virtual embedded kernels still boot reasonably quickly. This represents a regression introduced in the v5.19 merge window, and the bug is causing significant inconvenience" * tag 'rcu-urgent.2022.07.21a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: srcu: Make expedited RCU grace periods block even less frequently srcu: Block less aggressively for expedited grace periods
2022-07-22mmu_gather: fix the CONFIG_MMU_GATHER_NO_RANGE caseLinus Torvalds
Sudip reports that alpha doesn't build properly, with errors like include/asm-generic/tlb.h:401:1: error: redefinition of 'tlb_update_vma_flags' 401 | tlb_update_vma_flags(struct mmu_gather *tlb, struct vm_area_struct *vma) | ^~~~~~~~~~~~~~~~~~~~ include/asm-generic/tlb.h:372:1: note: previous definition of 'tlb_update_vma_flags' with type 'void(struct mmu_gather *, struct vm_area_struct *)' 372 | tlb_update_vma_flags(struct mmu_gather *tlb, struct vm_area_struct *vma) { } the cause being that We have this odd situation where some architectures were never converted to the newer TLB flushing interfaces that have a range for the flush. Instead people left them alone, and we have them select the MMU_GATHER_NO_RANGE config option to make the tlb header files account for this. Peter Zijlstra cleaned some of these nasty header file games up in commits 1e9fdf21a433 ("mmu_gather: Remove per arch tlb_{start,end}_vma()") 18ba064e42df ("mmu_gather: Let there be one tlb_{start,end}_vma() implementation") but tlb_update_vma_flags() was left alone, and then commit b67fbebd4cf9 ("mmu_gather: Force tlb-flush VM_PFNMAP vmas") ended up removing only _one_ of the two stale duplicate dummy inline functions. This removes the other stale one. Somebody braver than me should try to remove MMU_GATHER_NO_RANGE entirely, but it requires fixing up the oddball architectures that use it: alpha, m68k, microblaze, nios2 and openrisc. The fixups should be fairly straightforward ("fix the build errors it exposes by adding the appropriate range arguments"), but the reason this wasn't done in the first place is that so few people end up working on those architectures. But it could be done one architecture at a time, hint, hint. Reported-by: Sudip Mukherjee (Codethink) <sudipm.mukherjee@gmail.com> Fixes: b67fbebd4cf9 ("mmu_gather: Force tlb-flush VM_PFNMAP vmas") Link: https://lore.kernel.org/all/YtpXh0QHWwaEWVAY@debian/ Cc: Peter Zijlstra <peterz@infradead.org> Cc: Will Deacon <will@kernel.org> Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Nick Piggin <npiggin@gmail.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2022-07-22ublk_drv: make sure that correct flags(features) returned to userspaceMing Lei
Userspace may support more features or new added flags, but the driver side can be old, so make sure correct flags(features) returned to userpsace, then userspace can work as expected. Also mark the 2nd flags as reversed, just use the 1st one. When we run out of flags, the reserved one can be handled at that time. Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: ZiyangZhang <ZiyangZhang@linux.alibaba.com> Signed-off-by: Ming Lei <ming.lei@redhat.com> Link: https://lore.kernel.org/r/20220722103817.631258-3-ming.lei@redhat.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-07-22ublk_drv: fix error handling of ublk_add_devChristoph Hellwig
__ublk_destroy_dev() is called for handling error in ublk_add_dev(), but either tagset isn't allocated or mutex isn't initialized. So fix the issue by letting replacing ublk_add_dev with a ublk_add_tag_set function that is much more limited in scope and instead unwind every single step directly in ublk_ctrl_add_dev. To allow for this refactor the device freeing so that there is a helper for freeing the device number instead of coupling that with freeing the mutex and the memory. Note that this now copies the dev_info to userspace before adding the character device. This not only simplifies the erro handling in ublk_ctrl_add_dev, but also means that the character device can only be seen by userspace if the device addition succeeded. Based on a patch from Ming Lei. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Ming Lei <ming.lei@redhat.com> Link: https://lore.kernel.org/r/20220722103817.631258-2-ming.lei@redhat.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-07-22ARM: dts: lan966x: Enable network driver on pcb8291Horatiu Vultur
The pcb8291 has 2 ports that are connected to the internal ports of the switch. Enable them in DT. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> [claudiu.beznea: moved status ="okay" at the end for port0 and port1] Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com> Link: https://lore.kernel.org/r/20220719201158.1696168-4-horatiu.vultur@microchip.com
2022-07-22erofs: get rid of the leftover PAGE_SIZE in dir.cGao Xiang
Convert the last hardcoded PAGE_SIZEs of uncompressed cases. Reviewed-by: Jeffle Xu <jefflexu@linux.alibaba.com> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com> Link: https://lore.kernel.org/r/20220619150940.121005-1-hsiangkao@linux.alibaba.com
2022-07-22erofs: get rid of erofs_prepare_dio() helperGao Xiang
Fold in erofs_prepare_dio() in order to simplify the code. Reviewed-by: Jeffle Xu <jefflexu@linux.alibaba.com> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com> Link: https://lore.kernel.org/r/20220720082229.12172-1-hsiangkao@linux.alibaba.com
2022-07-22erofs: introduce multi-reference pclusters (fully-referenced)Gao Xiang
Let's introduce multi-reference pclusters at runtime. In details, if one pcluster is requested by multiple extents at almost the same time (even belong to different files), the longest extent will be decompressed as representative and the other extents are actually copied from the longest one in one round. After this patch, fully-referenced extents can be correctly handled and the full decoding check needs to be bypassed for partial-referenced extents. Acked-by: Chao Yu <chao@kernel.org> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com> Link: https://lore.kernel.org/r/20220715154203.48093-17-hsiangkao@linux.alibaba.com
2022-07-22ARM: pxa2xx: Fix GPIO descriptor tablesLinus Walleij
Laurence reports: "Kernel >5.18 on Zaurus has a bug where the power management code can't talk to devices, emitting the following errors: sharpsl-pm sharpsl-pm: Error: AC check failed: voltage -22. sharpsl-pm sharpsl-pm: Charging Error! sharpsl-pm sharpsl-pm: Warning: Cannot read main battery! Looking at the recent changes, I found that commit 31455bbda208 ("spi: pxa2xx_spi: Convert to use GPIO descriptors") replaced the deprecated SPI chip select platform device code with a gpiod lookup table. However, this didn't seem to work until I changed the `dev_id` member from the device name to the bus id. I'm not entirely sure why this is necessary, but I suspect it is related to the fact that in sysfs SPI devices are attached under /sys/devices/.../dev_name/spi_master/spiB/spiB.C, rather than directly to the device." After reviewing the change I conclude that the same fix is needed for all affected boards. Fixes: 31455bbda208 ("spi: pxa2xx_spi: Convert to use GPIO descriptors") Reported-by: Laurence de Bruxelles <lfdebrux@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20220722114611.1517414-1-linus.walleij@linaro.org' Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22asm-generic: remove a broken and needless ifdef conditionalLukas Bulwahn
Commit 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()") introduces the config symbol GENERIC_LIB_DEVMEM_IS_ALLOWED, but then falsely refers to CONFIG_GENERIC_DEVMEM_IS_ALLOWED (note the missing LIB in the reference) in ./include/asm-generic/io.h. Luckily, ./scripts/checkkconfigsymbols.py warns on non-existing configs: GENERIC_DEVMEM_IS_ALLOWED Referencing files: include/asm-generic/io.h The actual fix, though, is simply to not to make this function declaration dependent on any kernel config. For architectures that intend to use the generic version, the arch's 'select GENERIC_LIB_DEVMEM_IS_ALLOWED' will lead to picking the function definition, and for other architectures, this function is simply defined elsewhere. The wrong '#ifndef' on a non-existing config symbol also always had the same effect (although more by mistake than by intent). So, there is no functional change. Remove this broken and needless ifdef conditional. Fixes: 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()") Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22MAINTAINERS: rectify entry for ARM/NUVOTON NPCM ARCHITECTURELukas Bulwahn
Commit 08e950449c62 ("dt-binding: clk: npcm845: Add binding for Nuvoton NPCM8XX Clock") obviously adds nuvoton,npcm845-clk.h, but the file entry in MAINTAINERS, added with commit 3670d2ec13ee ("arm64: npcm: Add support for Nuvoton NPCM8XX BMC SoC") then refers to nuvoton,npcm8xx-clock.h. Hence, ./scripts/get_maintainer.pl --self-test=patterns complains about a broken reference. Repair this file reference in ARM/NUVOTON NPCM ARCHITECTURE. Fixes: 3670d2ec13ee ("arm64: npcm: Add support for Nuvoton NPCM8XX BMC SoC") Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22EDAC/synopsys: Re-enable the error interrupts on v3 hwSherry Sun
zynqmp_get_error_info() writes 0 to the ECC_CLR_OFST register after an interrupt for a {un-,}correctable error is raised, which disables the error interrupts. Then the interrupt handler will be called only once. Therefore, re-enable the error interrupt line at the end of intr_handler() for v3.x Synopsys EDAC DDR. Fixes: f7824ded4149 ("EDAC/synopsys: Add support for version 3 of the Synopsys EDAC DDR") Signed-off-by: Sherry Sun <sherry.sun@nxp.com> Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Shubhrajyoti Datta <Shubhrajyoti.datta@xilinx.com> Acked-by: Michal Simek <michal.simek@xilinx.com> Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20220427015137.8406-3-sherry.sun@nxp.com
2022-07-22EDAC/synopsys: Use the correct register to disable the error interrupt on v3 hwSherry Sun
v3.x Synopsys EDAC DDR doesn't have the QOS Interrupt register. Use the ECC Clear Register to disable the error interrupts instead. Fixes: f7824ded4149 ("EDAC/synopsys: Add support for version 3 of the Synopsys EDAC DDR") Signed-off-by: Sherry Sun <sherry.sun@nxp.com> Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Shubhrajyoti Datta <Shubhrajyoti.datta@xilinx.com> Acked-by: Michal Simek <michal.simek@xilinx.com> Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20220427015137.8406-2-sherry.sun@nxp.com
2022-07-22ARM: cns3xxx: add CONFIG_UNUSED_BOARD_FILES dependencyArnd Bergmann
Krzysztof Halasa has kept the cns3xxx platform working for a long time but has moved away from working on it. The OpenWRT port was dropped in 2020, and support for the Gateworks Laguna platform never made it into the mainline kernel, which only supports the reference design. Further, the ARM11MPCore has an unresolved issue with instruction cache coherency, and removing support for the remaining platforms using this core would be the easiest solution. Mark the entire platform as unused now, to be removed in early 2023 if no users show up. Cc: Krzysztof Halasa <khalasa@piap.pl> Link: https://lore.kernel.org/lkml/20210616152326.GG22278@shell.armlinux.org.uk/ Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: iop32x: mark as unusedArnd Bergmann
The iop32x platform has recently been converted to be part of the multiplatform configuration, and it should be possible to keep it alive for longer by making it boot from devicetree like we did for the related ixp4xx platform. However, it appears that no users remain at this point, so just mark the entire platform depending on CONFIG_UNUSED_BOARD_FILES, with the intention of removing it in early 2023. If any users remain, please speak up now. Cc: Lennert Buytenhek <buytenh@wantstofly.org> Acked-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: s3c: mark most board files as unusedArnd Bergmann
The s3c24xx platform is already scheduled for removal in early 2023, with s3c64xx meeting the same fate a year later. Most of the s3c64xx board files appear to be unused, as the better maintained ones already got converted to DT. The main exception is the Wolfson Cragganmore board, which remains in use as the reference design for Wolfson/Cirrus devices. As the other boards get removed, this one stays around along with the DT based machines. The s3c6400_defconfig file now disables the unused boards, while the s3c24xx defconfig files all turn on CONFIG_UNUSED_BOARD_FILES to remain usable. Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Cc: Alim Akhtar <alim.akhtar@samsung.com> Cc: linux-samsung-soc@vger.kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: omap1: add Kconfig dependencies for unused boardsArnd Bergmann
Legacy board files with no known users are planned to get removed in early 2023, and this covers the majority of the omap1 boards as well. According to Tony, the actual users are all on OSK, Nokia770, and AMS-Delta. Additionally, the sx1 and palmte boards are supported by qemu, which is convenient for testing, so all five stay around past the initial board removal. As omap1 is now part of the multiplatform build and uses the common-clk framework, it has become easier to convert these to use devicetree based booting in the future. Cc: Janusz Krzysztofik <jmkrzyszt@gmail.com> Cc: Tony Lindgren <tony@atomide.com> Cc: linux-omap@vger.kernel.org Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: sa1100: mark most boards as unusedArnd Bergmann
Most Arm board files are unused and will be removed in early 2023 if no remaining users show up. For the sa1100 platform, the machines that are still in use are: - Russell's Assabet development board - Linus' H3600 iPaq PocketPC - Collie as the only qemu-supported board, to allow testing by others All remaining sa1100 boards are marked to depend on CONFIG_UNUSED_BOARD_FILES to give potential users a last chance to speak up. Cc: Kristoffer Ericson <kristoffer.ericson@gmail.com> Cc: Russell King <linux@armlinux.org.uk> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22caif: Fix bitmap data type in "struct caifsock"Christophe JAILLET
Bitmap are "unsigned long", so use it instead of a "u32" to make things more explicit. While at it, remove some useless cast (and leading spaces) when using the bitmap API. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22dt-bindings: net: fsl,fec: Add missing types to phy-reset-* propertiesRob Herring
The phy-reset-* properties are missing type definitions and are not common properties. Even though they are deprecated, a type is needed. Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22dt-bindings: net: ethernet-controller: Rework 'fixed-link' schemaRob Herring
While the if/then schemas mostly work, there's a few issues. The 'allOf' schema will also be true if 'fixed-link' is not an array or object as a false 'if' schema (without an 'else') will be true. In the array case doesn't set the type (uint32-array) in the 'then' clause. In the node case, 'additionalProperties' is missing. Rework the schema to use oneOf with each possible type. Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22ARM: footbridge: mark cats board for removalArnd Bergmann
There are three remaining footbridge boards, as the CO285 and the HP personal server got removed already over the years. Russell still uses his ebsa285, while both Linus and Marc have a NetWinder that they use for testing. Nobody so far replied that they are using cats, so it goes on the long list of machines to be removed in early 2023 if it stays like this. Cc: Russell King <linux@armlinux.org.uk> Cc: Linus Walleij <linusw@kernel.org> Cc: Marc Zyngier <maz@kernel.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: mmp: mark all board files for removalArnd Bergmann
The mmp platform supports both ATAGS based board files and DT booting, but it appears that nobody has been interested in board files for a long time. Mark all of them for removal in early 2023 with a dependency on CONFIG_UNUSED_BOARD_FILES, leaving only the DT support for the future, unless someone pops up who uses them. Cc: Lubomir Rintel <lkundrak@v3.sk> Cc: Haojian Zhuang <haojian.zhuang@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: ep93xx: mark most board files as unusedArnd Bergmann
Most of the remaining ARM board files in the kernel have no known users, and we plan to remove those in early 2023. For ep93xx, Alexander Sverdlin still has access to the edb93xx family of reference boards, while Nikita Shubin has a ts7250 and is working on a device tree conversion for those. Hartley Sweeten has a MACH_VISION_EP9307 that is still in use. This is a total of nine machine definitions that we will keep around, but these are all similar machines and are defined in only two board files. The other six board files now have a dependency on CONFIG_UNUSED_BOARD_FILES to indicate that they are likely going away. Cc: Nikita Shubin <nikita.shubin@maquefel.me> Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> Cc: Hartley Sweeten <hsweeten@visionengravers.com> Cc: Lukasz Majewski <lukma@denx.de> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: davinci: mark all ATAGS board files as unusedArnd Bergmann
From an earlier discussion, it appears that the davinci da8xx machines that are still functional have already been converted to DT, while the remaining board files are only kept because nobody has stepped up to remove them. Mark all these boards as 'depends on UNUSED_BOARD_FILES' with the plan to remove them in early 2023 after the next longterm supported kernel is out. Cc: Sekhar Nori <nsekhar@ti.com> Cc: Bartosz Golaszewski <brgl@bgdev.pl> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: orion: add ATAGS dependenciesArnd Bergmann
Most of the remaining arm board files in the kernel are unused and will be removed in early 2023 if no users step up. So far I got no user replies about the orion5x and mv78xx0 machines, but these are still supported in the default kernel of the Debian 'armel' (armv5 softfloat) distro, and there is an active project on github that tries to keep some of these machines working, and Mauri Sandberg is working on a DT conversion for the D-Link DNS-323. It appears the Debian-on-Buffalo project has not got the Terastation WXL working in a few years, and the other mv78xx0 machines are just the reference designs, so I assume none of these have remaining users. For the Orion5x family, the same is probably true for its reference implementations (RD88Fxxxxx, DB88F281) and the machines with less than 64MB of memory (WNR854T, WRT350N v2). The remaining nine machines are now scheduled to be kept for at least 2023, hopefully to be replaced with DT based versions. The mv78xx0_defconfig file needs to enable CONFIG_UNUSED_BOARD_FILES to still build, while the other affected defconfig files lose the specific boards. Cc: Andrew Lunn <andrew@lunn.ch> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Cc: Gregory Clement <gregory.clement@bootlin.com> Cc: Mauri Sandberg <maukka@ext.kapsi.fi> Link: https://github.com/1000001101000/Debian_on_Buffalo Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: pxa: add Kconfig dependencies for ATAGS based boardsArnd Bergmann
Most of the traditional board files are no longer used by anyone and will be removed next year, while the DT based machine support remains. Adding a CONFIG_ATAGS dependency around all the board files means that they now actaully get disabled when ATAGS support is left out, and the individual boards that have no known users are marked as depending on CONFIG_UNUSED_BOARD_FILES, with the plan to remove them in early 2023 unless someone else shows interest. Laurence de Bruxelles intends to work on converting the Spitz/Akita/Borzoi family of Sharp Zaurus SL machines to DT, to make that easier those remain for the moment. In addition, the "Gumstix" machine is the one that is supported in qemu with 256MB of RAM, which makes it particularly nice for testing, I'm leaving it in hoping that someone can take care of converting it to DT as well. Finally, Marc Zyngier is still able to test the Zeus and Viper machines, so these could be saved as well if anyone wants to conver them to DT. This seems less likely, so I'm marking them as unused for the time being. For the defconfig files, both the pxa3xx_defconfig and pxa_defconfig now only enable the boards that are not marked as unused, while all the other ones explicitly enable CONFIG_UNUSED_BOARD_FILES to still allow building the kernels. Cc: Robert Jarzmik <robert.jarzmik@free.fr> Cc: Daniel Mack <daniel@zonque.org> Cc: Laurence de Bruxelles <lfdebrux@gmail.com> Acked-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: add CONFIG_UNUSED_BOARD_FILESArnd Bergmann
Based on the recent mailing list discussion, most board file support has no remaining users and can be scheduled for removal early next year. If a board is still found to have users, it will remain for this round but users are encouraged to migrate to devicetree based booting where possible. The timing is meant to ensure the next longterm supported kernel still contains all the board files, giving another year of support for potential users that did not speak up and would otherwise be stuck on the v5.15.y longterm kernel from 2021. Link: https://lore.kernel.org/all/CAK8P3a0Z9vGEQbVRBo84bSyPFM-LF+hs5w8ZA51g2Z+NsdtDQA@mail.gmail.com/ Link: https://docs.google.com/spreadsheets/d/1PL4dUUSieeXHzZhAn_Rnix32OTiCfN33sCQejpvI6ng/edit#gid=0 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: add ATAGS dependencies to non-DT platformsArnd Bergmann
There are a total of eight platforms that only suppor ATAGS based boot with board files but no devicetree booting. For dove, the DT support is part of the mvebu platform, which shares driver but no code in arch/arm. Most of these will never get converted to DT, and the majority of the board files appear to be entirely unused already. There are still known users on a few machines, and there may be interest in converting some omap1, ep93xx or footbridge machines over in the future. For the moment, just add a Kconfig dependency to hide these platforms completely when CONFIG_ATAGS is disabled, and reorder the priority of the options: Rather than offering to turn ATAGS off for platforms that have DT support, make it a top-level setting that determines which platforms are visible. The s3c24xx platform supports one machine with DT support, but it cannot be built without also including ATAGS support, and the entire platform is scheduled for removal, so leaving the entire platform behind a dependency seems good enough. All defconfig files should keep working, as the option remains default enabled. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22Merge branch 'sysctl-races-part-5'David S. Miller
Kuniyuki Iwashima says: ==================== sysctl: Fix data-races around ipv4_net_table (Round 5). This series fixes data-races around 15 knobs after tcp_dsack in ipv4_net_table. tcp_tso_win_divisor was skipped because it already uses READ_ONCE(). So, the final round for ipv4_net_table will start with tcp_pacing_ss_ratio. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix a data-race around sysctl_tcp_invalid_ratelimit.Kuniyuki Iwashima
While reading sysctl_tcp_invalid_ratelimit, it can be changed concurrently. Thus, we need to add READ_ONCE() to its reader. Fixes: 032ee4236954 ("tcp: helpers to mitigate ACK loops by rate-limiting out-of-window dupacks") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix a data-race around sysctl_tcp_autocorking.Kuniyuki Iwashima
While reading sysctl_tcp_autocorking, it can be changed concurrently. Thus, we need to add READ_ONCE() to its reader. Fixes: f54b311142a9 ("tcp: auto corking") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix a data-race around sysctl_tcp_min_rtt_wlen.Kuniyuki Iwashima
While reading sysctl_tcp_min_rtt_wlen, it can be changed concurrently. Thus, we need to add READ_ONCE() to its reader. Fixes: f672258391b4 ("tcp: track min RTT using windowed min-filter") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix a data-race around sysctl_tcp_tso_rtt_log.Kuniyuki Iwashima
While reading sysctl_tcp_tso_rtt_log, it can be changed concurrently. Thus, we need to add READ_ONCE() to its reader. Fixes: 65466904b015 ("tcp: adjust TSO packet sizes based on min_rtt") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix a data-race around sysctl_tcp_min_tso_segs.Kuniyuki Iwashima
While reading sysctl_tcp_min_tso_segs, it can be changed concurrently. Thus, we need to add READ_ONCE() to its reader. Fixes: 95bd09eb2750 ("tcp: TSO packets automatic sizing") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix a data-race around sysctl_tcp_challenge_ack_limit.Kuniyuki Iwashima
While reading sysctl_tcp_challenge_ack_limit, it can be changed concurrently. Thus, we need to add READ_ONCE() to its reader. Fixes: 282f23c6ee34 ("tcp: implement RFC 5961 3.2") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix a data-race around sysctl_tcp_limit_output_bytes.Kuniyuki Iwashima
While reading sysctl_tcp_limit_output_bytes, it can be changed concurrently. Thus, we need to add READ_ONCE() to its reader. Fixes: 46d3ceabd8d9 ("tcp: TCP Small Queues") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix data-races around sysctl_tcp_workaround_signed_windows.Kuniyuki Iwashima
While reading sysctl_tcp_workaround_signed_windows, it can be changed concurrently. Thus, we need to add READ_ONCE() to its readers. Fixes: 15d99e02baba ("[TCP]: sysctl to allow TCP window > 32767 sans wscale") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix data-races around sysctl_tcp_moderate_rcvbuf.Kuniyuki Iwashima
While reading sysctl_tcp_moderate_rcvbuf, it can be changed concurrently. Thus, we need to add READ_ONCE() to its readers. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix data-races around sysctl_tcp_no_ssthresh_metrics_save.Kuniyuki Iwashima
While reading sysctl_tcp_no_ssthresh_metrics_save, it can be changed concurrently. Thus, we need to add READ_ONCE() to its readers. Fixes: 65e6d90168f3 ("net-tcp: Disable TCP ssthresh metrics cache by default") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix a data-race around sysctl_tcp_nometrics_save.Kuniyuki Iwashima
While reading sysctl_tcp_nometrics_save, it can be changed concurrently. Thus, we need to add READ_ONCE() to its reader. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix a data-race around sysctl_tcp_frto.Kuniyuki Iwashima
While reading sysctl_tcp_frto, it can be changed concurrently. Thus, we need to add READ_ONCE() to its reader. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix a data-race around sysctl_tcp_adv_win_scale.Kuniyuki Iwashima
While reading sysctl_tcp_adv_win_scale, it can be changed concurrently. Thus, we need to add READ_ONCE() to its reader. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix a data-race around sysctl_tcp_app_win.Kuniyuki Iwashima
While reading sysctl_tcp_app_win, it can be changed concurrently. Thus, we need to add READ_ONCE() to its reader. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22tcp: Fix data-races around sysctl_tcp_dsack.Kuniyuki Iwashima
While reading sysctl_tcp_dsack, it can be changed concurrently. Thus, we need to add READ_ONCE() to its readers. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-22ARM: defconfig: kill remnants of CONFIG_LEDSArnd Bergmann
CONFIG_LEDS was replaced by CONFIG_NEW_LEDS over ten years ago with commit fa8bbb13ab49 ("ARM: use new LEDS CPU trigger stub to replace old one"), but some defconfig files still reference it. Replace it and its sub-options with the corresponding new versions. Some of these machines may not actually have a new-style LED driver, and I did not check them individually as most of the machines are going away soon anyway. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: defconfig: remove broken CONFIG_THUMB disablesArnd Bergmann
Since commit 1515b186c235 ("ARM: make configuration of userspace Thumb support an expert option"), CONFIG_THUMB cannot be disabled unless one turns on CONFIG_EXPERT first. This is probably for the better, so remove the statements that turn it off. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: defconfig: address renamed CONFIG_DEBUG_INFO=yArnd Bergmann
CONFIG_DEBUG_INFO is now implicitly selected if one picks one of the explicit options that could be DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT, DEBUG_INFO_DWARF4, DEBUG_INFO_DWARF5. This was actually not what I had in mind when I suggested making it a 'choice' statement, but it's too late to change again now, and the Kconfig logic is more sensible in the new form. Change any defconfig file that had CONFIG_DEBUG_INFO enabled but did not pick DWARF4 or DWARF5 explicitly to now pick the toolchain default. Fixes: f9b3cd245784 ("Kconfig.debug: make DEBUG_INFO selectable from a choice") Acked-by: Sudeep Holla <sudeep.holla@arm.com> Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: defconfig: remove stale CONFIG_ZBOOT_ROM entriesArnd Bergmann
The default is always 0x0 after commit 39c3e304567a ("ARM: 8984/1: Kconfig: set default ZBOOT_ROM_TEXT/BSS value to 0x0"), so any defconfig file that has these two lines can now drop them to reduce the diff against the 'make savedefconfig' version. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: Sudeep Holla <sudeep.holla@arm.com> Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-22ARM: defconfig: remove irda remnantsArnd Bergmann
A couple of ARM defconfig files (and one for sh) still refer to the IRDA options that were removed in linux-4.14. Remove the entries as well now. Signed-off-by: Arnd Bergmann <arnd@arndb.de>