1. 13 Mar, 2020 12 commits
  2. 07 Mar, 2020 4 commits
  3. 05 Mar, 2020 1 commit
    • Yishai Hadas's avatar
      net/mlx5: Expose raw packet pacing APIs · 1326034b
      Yishai Hadas authored
      Expose raw packet pacing APIs to be used by DEVX based applications.
      The existing code was refactored to have a single flow with the new raw
      APIs.
      
      The new raw APIs considered the input of 'pp_rate_limit_context', uid,
      'dedicated', upon looking for an existing entry.
      
      This raw mode enables future device specification data in the raw
      context without changing the existing logic and code.
      
      The ability to ask for a dedicated entry gives control for application
      to allocate entries according to its needs.
      
      A dedicated entry may not be used by some other process and it also
      enables the process spreading its resources to some different entries
      for use different hardware resources as part of enforcing the rate.
      
      The counter per entry was changed to be u64 to prevent any option to
      overflow.
      Signed-off-by: default avatarYishai Hadas <yishaih@mellanox.com>
      Acked-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      1326034b
  4. 19 Feb, 2020 1 commit
  5. 18 Feb, 2020 1 commit
  6. 16 Feb, 2020 10 commits
    • Linus Torvalds's avatar
      Linux 5.6-rc2 · 11a48a5a
      Linus Torvalds authored
      11a48a5a
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.6-1' of https://github.com/cminyard/linux-ipmi · ab02b61f
      Linus Torvalds authored
      Pull IPMI update from Corey Minyard:
       "Minor bug fixes for IPMI
      
        I know this is late; I've been travelling and, well, I've been
        distracted.
      
        This is just a few bug fixes and adding i2c support to the IPMB
        driver, which is something I wanted from the beginning for it"
      
      * tag 'for-linus-5.6-1' of https://github.com/cminyard/linux-ipmi:
        drivers: ipmi: fix off-by-one bounds check that leads to a out-of-bounds write
        ipmi:ssif: Handle a possible NULL pointer reference
        drivers: ipmi: Modify max length of IPMB packet
        drivers: ipmi: Support raw i2c packet in IPMB
      ab02b61f
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 44024adb
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
       "Bugfixes and improvements to selftests.
      
        On top of this, Mauro converted the KVM documentation to rst format,
        which was very welcome"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (44 commits)
        docs: virt: guest-halt-polling.txt convert to ReST
        docs: kvm: review-checklist.txt: rename to ReST
        docs: kvm: Convert timekeeping.txt to ReST format
        docs: kvm: Convert s390-diag.txt to ReST format
        docs: kvm: Convert ppc-pv.txt to ReST format
        docs: kvm: Convert nested-vmx.txt to ReST format
        docs: kvm: Convert mmu.txt to ReST format
        docs: kvm: Convert locking.txt to ReST format
        docs: kvm: Convert hypercalls.txt to ReST format
        docs: kvm: arm/psci.txt: convert to ReST
        docs: kvm: convert arm/hyp-abi.txt to ReST
        docs: kvm: Convert api.txt to ReST format
        docs: kvm: convert devices/xive.txt to ReST
        docs: kvm: convert devices/xics.txt to ReST
        docs: kvm: convert devices/vm.txt to ReST
        docs: kvm: convert devices/vfio.txt to ReST
        docs: kvm: convert devices/vcpu.txt to ReST
        docs: kvm: convert devices/s390_flic.txt to ReST
        docs: kvm: convert devices/mpic.txt to ReST
        docs: kvm: convert devices/arm-vgit.txt to ReST
        ...
      44024adb
    • Linus Torvalds's avatar
      Merge tag 'edac_urgent_for_5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras · b982df72
      Linus Torvalds authored
      Pull EDAC fixes from Borislav Petkov:
       "Two fixes for use-after-free and memory leaking in the EDAC core, by
        Robert Richter.
      
        Debug options like DEBUG_TEST_DRIVER_REMOVE, KASAN and DEBUG_KMEMLEAK
        unearthed issues with the lifespan of memory allocated by the EDAC
        memory controller descriptor due to misdesigned memory freeing, done
        partially by the EDAC core *and* the driver core, which is problematic
        to say the least.
      
        These two are minimal fixes to take care of stable - a proper rework
        is following which cleans up that mess properly"
      
      * tag 'edac_urgent_for_5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
        EDAC/sysfs: Remove csrow objects on errors
        EDAC/mc: Fix use-after-free and memleaks during device removal
      b982df72
    • Linus Torvalds's avatar
      Merge tag 'block-5.6-2020-02-16' of git://git.kernel.dk/linux-block · e29c6a13
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Not a lot here, which is great, basically just three small bcache
        fixes from Coly, and four NVMe fixes via Keith"
      
      * tag 'block-5.6-2020-02-16' of git://git.kernel.dk/linux-block:
        nvme: fix the parameter order for nvme_get_log in nvme_get_fw_slot_info
        nvme/pci: move cqe check after device shutdown
        nvme: prevent warning triggered by nvme_stop_keep_alive
        nvme/tcp: fix bug on double requeue when send fails
        bcache: remove macro nr_to_fifo_front()
        bcache: Revert "bcache: shrink btree node cache after bch_btree_check()"
        bcache: ignore pending signals when creating gc and allocator thread
      e29c6a13
    • Linus Torvalds's avatar
      Merge tag 'for-5.6-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 713db356
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "Two races fixed, memory leak fix, sysfs directory fixup and two new
        log messages:
      
         - two fixed race conditions: extent map merging and truncate vs
           fiemap
      
         - create the right sysfs directory with device information and move
           the individual device dirs under it
      
         - print messages when the tree-log is replayed at mount time or
           cannot be replayed on remount"
      
      * tag 'for-5.6-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: sysfs, move device id directories to UUID/devinfo
        btrfs: sysfs, add UUID/devinfo kobject
        Btrfs: fix race between shrinking truncate and fiemap
        btrfs: log message when rw remount is attempted with unclean tree-log
        btrfs: print message when tree-log replay starts
        Btrfs: fix race between using extent maps and merging them
        btrfs: ref-verify: fix memory leaks
      713db356
    • Linus Torvalds's avatar
      Merge tag '5.6-rc1-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 288b27a0
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Four small CIFS/SMB3 fixes. One (the EA overflow fix) for stable"
      
      * tag '5.6-rc1-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: make sure we do not overflow the max EA buffer size
        cifs: enable change notification for SMB2.1 dialect
        cifs: Fix mode output in debugging statements
        cifs: fix mount option display for sec=krb5i
      288b27a0
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 8a8b8096
      Linus Torvalds authored
      Pull ext4 fixes from Ted Ts'o:
       "Miscellaneous ext4 bug fixes (all stable fodder)"
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: improve explanation of a mount failure caused by a misconfigured kernel
        jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer
        jbd2: move the clearing of b_modified flag to the journal_unmap_buffer()
        ext4: add cond_resched() to ext4_protect_reserved_inode
        ext4: fix checksum errors with indexed dirs
        ext4: fix support for inode sizes > 1024 bytes
        ext4: simplify checking quota limits in ext4_statfs()
        ext4: don't assume that mmp_nodename/bdevname have NUL
      8a8b8096
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · db70e26e
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
      
       - a few drivers have been updated to use flexible-array syntax instead
         of GCC extension
      
       - ili210x touchscreen driver now supports the 2120 protocol flavor
      
       - a couple more of Synaptics devices have been switched over to RMI4
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: cyapa - replace zero-length array with flexible-array member
        Input: tca6416-keypad - replace zero-length array with flexible-array member
        Input: gpio_keys_polled - replace zero-length array with flexible-array member
        Input: synaptics - remove the LEN0049 dmi id from topbuttonpad list
        Input: synaptics - enable SMBus on ThinkPad L470
        Input: synaptics - switch T470s to RMI4 by default
        Input: gpio_keys - replace zero-length array with flexible-array member
        Input: goldfish_events - replace zero-length array with flexible-array member
        Input: psmouse - switch to using i2c_new_scanned_device()
        Input: ili210x - add ili2120 support
        Input: ili210x - fix return value of is_visible function
      db70e26e
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 54654e14
      Linus Torvalds authored
      Pull rdma fixes from Jason Gunthorpe:
       "Not too much going on here, though there are about four fixes related
        to stuff merged during the last merge window.
      
        We also see the return of a syzkaller instance with access to RDMA
        devices, and a few bugs detected by that squished.
      
         - Fix three crashers and a memory memory leak for HFI1
      
         - Several bugs found by syzkaller
      
         - A bug fix for the recent QP counters feature on older mlx5 HW
      
         - Locking inversion in cxgb4
      
         - Unnecessary WARN_ON in siw
      
         - A umad crasher regression during unload, from a bug fix for
           something else
      
         - Bugs introduced in the merge window:
             - Missed list_del in uverbs file rework, core and mlx5 devx
             - Unexpected integer math truncation in the mlx5 VAR patches
             - Compilation bug fix for the VAR patches on 32 bit"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        IB/mlx5: Use div64_u64 for num_var_hw_entries calculation
        RDMA/core: Fix protection fault in get_pkey_idx_qp_list
        RDMA/rxe: Fix soft lockup problem due to using tasklets in softirq
        RDMA/mlx5: Prevent overflow in mmap offset calculations
        IB/umad: Fix kernel crash while unloading ib_umad
        RDMA/mlx5: Fix async events cleanup flows
        RDMA/core: Add missing list deletion on freeing event queue
        RDMA/siw: Remove unwanted WARN_ON in siw_cm_llp_data_ready()
        RDMA/iw_cxgb4: initiate CLOSE when entering TERM
        IB/mlx5: Return failure when rts2rts_qp_counters_set_id is not supported
        RDMA/core: Fix invalid memory access in spec_filter_size
        IB/rdmavt: Reset all QPs when the device is shut down
        IB/hfi1: Close window for pq and request coliding
        IB/hfi1: Acquire lock to release TID entries when user file is closed
        RDMA/hfi1: Fix memory leak in _dev_comp_vect_mappings_create
      54654e14
  7. 15 Feb, 2020 11 commits
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · b719ae07
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A handful of fixes that have come in since the merge window:
      
         - Fix of PCI interrupt map on arm64 fast model (SW emulator)
      
         - Fixlet for sound on ST platforms and a small cleanup of deprecated
           DT properties
      
         - A stack buffer overflow fix for moxtet
      
         - Fuse driver build fix for Tegra194
      
         - A few config updates to turn on new drivers merged this cycle"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        bus: moxtet: fix potential stack buffer overflow
        soc/tegra: fuse: Fix build with Tegra194 configuration
        ARM: dts: sti: fixup sound frame-inversion for stihxxx-b2120.dtsi
        ARM: dts: sti: Remove deprecated snps PHY properties for stih410-b2260
        arm64: defconfig: Enable DRM_SUN6I_DSI
        arm64: defconfig: Enable CONFIG_SUN8I_THERMAL
        ARM: sunxi: Enable CONFIG_SUN8I_THERMAL
        arm64: defconfig: Set bcm2835-dma as built-in
        ARM: configs: Cleanup old Kconfig options
        ARM: npcm: Bring back GPIOLIB support
        arm64: dts: fast models: Fix FVP PCI interrupt-map property
      b719ae07
    • Linus Torvalds's avatar
      Merge tag 's390-5.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 3e71e121
      Linus Torvalds authored
      Pull s390 updates from Vasily Gorbik:
      
       - Enable paes-s390 cipher selftests in testmgr (acked-by Herbert Xu).
      
       - Fix protected key length update in PKEY_SEC2PROTK ioctl and increase
         card/queue requests counter to 64-bit in crypto code.
      
       - Fix clang warning in get_tod_clock.
      
       - Fix ultravisor info length extensions handling.
      
       - Fix style of SPDX License Identifier in vfio-ccw.
      
       - Avoid unnecessary GFP_ATOMIC and simplify ACK tracking in qdio.
      
      * tag 's390-5.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        crypto/testmgr: enable selftests for paes-s390 ciphers
        s390/time: Fix clk type in get_tod_clock
        s390/uv: Fix handling of length extensions
        s390/qdio: don't allocate *aob array with GFP_ATOMIC
        s390/qdio: simplify ACK tracking
        s390/zcrypt: fix card and queue total counter wrap
        s390/pkey: fix missing length of protected key on return
        vfio-ccw: Use the correct style for SPDX License Identifier
      3e71e121
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v5.6-rc2' of... · bd516133
      Linus Torvalds authored
      Merge tag 'hwmon-for-v5.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
       "Fix compatible string typos in the xdpe12284 driver, and a wrong bit
        value in the ltc2978 driver"
      
      * tag 'hwmon-for-v5.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (pmbus/xdpe12284) fix typo in compatible strings
        hwmon: (pmbus/ltc2978) Fix PMBus polling of MFR_COMMON definitions.
      bd516133
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ef78e5b7
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "Misc fixes all over the place:
      
         - Fix NUMA over-balancing between lightly loaded nodes. This is
           fallout of the big load-balancer rewrite.
      
         - Fix the NOHZ remote loadavg update logic, which fixes anomalies
           like reported 150 loadavg on mostly idle CPUs.
      
         - Fix XFS performance/scalability
      
         - Fix throttled groups unbound task-execution bug
      
         - Fix PSI procfs boundary condition
      
         - Fix the cpu.uclamp.{min,max} cgroup configuration write checks
      
         - Fix DocBook annotations
      
         - Fix RCU annotations
      
         - Fix overly CPU-intensive housekeeper CPU logic loop on large CPU
           counts"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/fair: Fix kernel-doc warning in attach_entity_load_avg()
        sched/core: Annotate curr pointer in rq with __rcu
        sched/psi: Fix OOB write when writing 0 bytes to PSI files
        sched/fair: Allow a per-CPU kthread waking a task to stack on the same CPU, to fix XFS performance regression
        sched/fair: Prevent unlimited runtime on throttled group
        sched/nohz: Optimize get_nohz_timer_target()
        sched/uclamp: Reject negative values in cpu_uclamp_write()
        sched/fair: Allow a small load imbalance between low utilisation SD_NUMA domains
        timers/nohz: Update NOHZ load in remote tick
        sched/core: Don't skip remote tick for idle CPUs
      ef78e5b7
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · da99f935
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Fixes and HW enablement patches:
      
         - Tooling fixes, most of which are tooling header synchronization
           with v5.6 changes
      
         - Fix kprobes fallout on ARM
      
         - Add Intel Elkhart Lake support and extend Tremont support, these
           are relatively simple and should only affect those models
      
         - Fix the AMD family 17h generic event table"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (30 commits)
        perf llvm: Fix script used to obtain kernel make directives to work with new kbuild
        tools headers kvm: Sync linux/kvm.h with the kernel sources
        tools headers kvm: Sync kvm headers with the kernel sources
        tools arch x86: Sync asm/cpufeatures.h with the kernel sources
        tools headers x86: Sync disabled-features.h
        tools include UAPI: Sync sound/asound.h copy
        tools headers UAPI: Sync asm-generic/mman-common.h with the kernel
        perf tools: Add arm64 version of get_cpuid()
        tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
        tools headers uapi: Sync linux/fscrypt.h with the kernel sources
        tools headers UAPI: Sync sched.h with the kernel
        perf trace: Resolve prctl's 'option' arg strings to numbers
        perf beauty prctl: Export the 'options' strarray
        tools headers UAPI: Sync prctl.h with the kernel sources
        tools headers UAPI: Sync copy of arm64's asm/unistd.h with the kernel sources
        perf maps: Move kmap::kmaps setup to maps__insert()
        perf maps: Fix map__clone() for struct kmap
        perf maps: Mark ksymbol DSOs with kernel type
        perf maps: Mark module DSOs with kernel type
        tools include UAPI: Sync x86's syscalls_64.tbl, generic unistd.h and fcntl.h to pick up openat2 and pidfd_getfd
        ...
      da99f935
    • Marek Behún's avatar
      bus: moxtet: fix potential stack buffer overflow · 3bf3c974
      Marek Behún authored
      The input_read function declares the size of the hex array relative to
      sizeof(buf), but buf is a pointer argument of the function. The hex
      array is meant to contain hexadecimal representation of the bin array.
      
      Link: https://lore.kernel.org/r/20200215142130.22743-1-marek.behun@nic.cz
      Fixes: 5bc7f990 ("bus: Add support for Moxtet bus")
      Signed-off-by: default avatarMarek Behún <marek.behun@nic.cz>
      Reported-by: default avatarsohu0106 <sohu0106@126.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      3bf3c974
    • Theodore Ts'o's avatar
      ext4: improve explanation of a mount failure caused by a misconfigured kernel · d65d87a0
      Theodore Ts'o authored
      If CONFIG_QFMT_V2 is not enabled, but CONFIG_QUOTA is enabled, when a
      user tries to mount a file system with the quota or project quota
      enabled, the kernel will emit a very confusing messsage:
      
          EXT4-fs warning (device vdc): ext4_enable_quotas:5914: Failed to enable quota tracking (type=0, err=-3). Please run e2fsck to fix.
          EXT4-fs (vdc): mount failed
      
      We will now report an explanatory message indicating which kernel
      configuration options have to be enabled, to avoid customer/sysadmin
      confusion.
      
      Link: https://lore.kernel.org/r/20200215012738.565735-1-tytso@mit.edu
      Google-Bug-Id: 149093531
      Fixes: 7c319d32 ("ext4: make quota as first class supported feature")
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Cc: stable@kernel.org
      d65d87a0
    • Ingo Molnar's avatar
      Merge tag 'perf-urgent-for-mingo-5.6-20200214' of... · dfb9b69e
      Ingo Molnar authored
      Merge tag 'perf-urgent-for-mingo-5.6-20200214' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
      
      BPF:
      
        Arnaldo Carvalho de Melo:
      
        - Fix script used to obtain kernel make directives to work with new kbuild
          used for building BPF programs.
      
      maps:
      
        Jiri Olsa:
      
        - Fixup kmap->kmaps backpointer in kernel maps.
      
      arm64:
      
        John Garry:
      
        - Add arm64 version of get_cpuid() to get proper, arm64 specific output from
          'perf list' and other tools.
      
      perf top:
      
        Kim Phillips:
      
        - Update kernel idle symbols so that output in AMD systems is in line with
          other systems.
      
      perf stat:
      
        Kim Phillips:
      
        - Don't report a null stalled cycles per insn metric.
      
      tools headers:
      
        Arnaldo Carvalho de Melo:
      
        - Sync tools/ headers with the kernel sources to get things like syscall
          numbers and new arguments so that 'perf trace' can decode and use them in
          tracepoint filters, e.g. prctl's new PR_{G,S}ET_IO_FLUSHER options.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      dfb9b69e
    • Gustavo A. R. Silva's avatar
      Input: cyapa - replace zero-length array with flexible-array member · 3dbae155
      Gustavo A. R. Silva authored
      The current codebase makes use of the zero-length array language
      extension to the C90 standard, but the preferred mechanism to declare
      variable-length types such as these ones is a flexible array member[1][2],
      introduced in C99:
      
      struct foo {
              int stuff;
              struct boo array[];
      };
      
      By making use of the mechanism above, we will get a compiler warning
      in case the flexible array does not occur last in the structure, which
      will help us prevent some kind of undefined behavior bugs from being
      inadvertently introduced[3] to the codebase from now on.
      
      Also, notice that, dynamic memory allocations won't be affected by
      this change:
      
      "Flexible array members have incomplete type, and so the sizeof operator
      may not be applied. As a quirk of the original implementation of
      zero-length arrays, sizeof evaluates to zero."[1]
      
      This issue was found with the help of Coccinelle.
      
      [1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
      [2] https://github.com/KSPP/linux/issues/21
      [3] commit 76497732 ("cxgb3/l2t: Fix undefined behaviour")
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Link: https://lore.kernel.org/r/20200214172132.GA28389@embeddedorSigned-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      3dbae155
    • Gustavo A. R. Silva's avatar
      Input: tca6416-keypad - replace zero-length array with flexible-array member · 94bef5d5
      Gustavo A. R. Silva authored
      The current codebase makes use of the zero-length array language
      extension to the C90 standard, but the preferred mechanism to declare
      variable-length types such as these ones is a flexible array member[1][2],
      introduced in C99:
      
      struct foo {
              int stuff;
              struct boo array[];
      };
      
      By making use of the mechanism above, we will get a compiler warning
      in case the flexible array does not occur last in the structure, which
      will help us prevent some kind of undefined behavior bugs from being
      inadvertently introduced[3] to the codebase from now on.
      
      Also, notice that, dynamic memory allocations won't be affected by
      this change:
      
      "Flexible array members have incomplete type, and so the sizeof operator
      may not be applied. As a quirk of the original implementation of
      zero-length arrays, sizeof evaluates to zero."[1]
      
      This issue was found with the help of Coccinelle.
      
      [1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
      [2] https://github.com/KSPP/linux/issues/21
      [3] commit 76497732 ("cxgb3/l2t: Fix undefined behaviour")
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Link: https://lore.kernel.org/r/20200214172022.GA27490@embeddedorSigned-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      94bef5d5
    • Gustavo A. R. Silva's avatar
      Input: gpio_keys_polled - replace zero-length array with flexible-array member · 3d87c75d
      Gustavo A. R. Silva authored
      The current codebase makes use of the zero-length array language
      extension to the C90 standard, but the preferred mechanism to declare
      variable-length types such as these ones is a flexible array member[1][2],
      introduced in C99:
      
      struct foo {
              int stuff;
              struct boo array[];
      };
      
      By making use of the mechanism above, we will get a compiler warning
      in case the flexible array does not occur last in the structure, which
      will help us prevent some kind of undefined behavior bugs from being
      inadvertently introduced[3] to the codebase from now on.
      
      Also, notice that, dynamic memory allocations won't be affected by
      this change:
      
      "Flexible array members have incomplete type, and so the sizeof operator
      may not be applied. As a quirk of the original implementation of
      zero-length arrays, sizeof evaluates to zero."[1]
      
      This issue was found with the help of Coccinelle.
      
      [1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
      [2] https://github.com/KSPP/linux/issues/21
      [3] commit 76497732 ("cxgb3/l2t: Fix undefined behaviour")
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Link: https://lore.kernel.org/r/20200214171907.GA26588@embeddedorSigned-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      3d87c75d