Skip to content
Snippets Groups Projects
  1. May 10, 2020
    • Linus Torvalds's avatar
      gcc-10: disable 'restrict' warning for now · adc71920
      Linus Torvalds authored
      
      gcc-10 now warns about passing aliasing pointers to functions that take
      restricted pointers.
      
      That's actually a great warning, and if we ever start using 'restrict'
      in the kernel, it might be quite useful.  But right now we don't, and it
      turns out that the only thing this warns about is an idiom where we have
      declared a few functions to be "printf-like" (which seems to make gcc
      pick up the restricted pointer thing), and then we print to the same
      buffer that we also use as an input.
      
      And people do that as an odd concatenation pattern, with code like this:
      
          #define sysfs_show_gen_prop(buffer, fmt, ...) \
              snprintf(buffer, PAGE_SIZE, "%s"fmt, buffer, __VA_ARGS__)
      
      where we have 'buffer' as both the destination of the final result, and
      as the initial argument.
      
      Yes, it's a bit questionable.  And outside of the kernel, people do have
      standard declarations like
      
          int snprintf( char *restrict buffer, size_t bufsz,
                        const char *restrict format, ... );
      
      where that output buffer is marked as a restrict pointer that cannot
      alias with any other arguments.
      
      But in the context of the kernel, that 'use snprintf() to concatenate to
      the end result' does work, and the pattern shows up in multiple places.
      And we have not marked our own version of snprintf() as taking restrict
      pointers, so the warning is incorrect for now, and gcc picks it up on
      its own.
      
      If we do start using 'restrict' in the kernel (and it might be a good
      idea if people find places where it matters), we'll need to figure out
      how to avoid this issue for snprintf and friends.  But in the meantime,
      this warning is not useful.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      adc71920
    • Linus Torvalds's avatar
      gcc-10: disable 'stringop-overflow' warning for now · 5a76021c
      Linus Torvalds authored
      
      This is the final array bounds warning removal for gcc-10 for now.
      
      Again, the warning is good, and we should re-enable all these warnings
      when we have converted all the legacy array declaration cases to
      flexible arrays. But in the meantime, it's just noise.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5a76021c
    • Linus Torvalds's avatar
      gcc-10: disable 'array-bounds' warning for now · 44720996
      Linus Torvalds authored
      
      This is another fine warning, related to the 'zero-length-bounds' one,
      but hitting the same historical code in the kernel.
      
      Because C didn't historically support flexible array members, we have
      code that instead uses a one-sized array, the same way we have cases of
      zero-sized arrays.
      
      The one-sized arrays come from either not wanting to use the gcc
      zero-sized array extension, or from a slight convenience-feature, where
      particularly for strings, the size of the structure now includes the
      allocation for the final NUL character.
      
      So with a "char name[1];" at the end of a structure, you can do things
      like
      
             v = my_malloc(sizeof(struct vendor) + strlen(name));
      
      and avoid the "+1" for the terminator.
      
      Yes, the modern way to do that is with a flexible array, and using
      'offsetof()' instead of 'sizeof()', and adding the "+1" by hand.  That
      also technically gets the size "more correct" in that it avoids any
      alignment (and thus padding) issues, but this is another long-term
      cleanup thing that will not happen for 5.7.
      
      So disable the warning for now, even though it's potentially quite
      useful.  Having a slew of warnings that then hide more urgent new issues
      is not an improvement.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      44720996
    • Linus Torvalds's avatar
      gcc-10: disable 'zero-length-bounds' warning for now · 5c45de21
      Linus Torvalds authored
      
      This is a fine warning, but we still have a number of zero-length arrays
      in the kernel that come from the traditional gcc extension.  Yes, they
      are getting converted to flexible arrays, but in the meantime the gcc-10
      warning about zero-length bounds is very verbose, and is hiding other
      issues.
      
      I missed one actual build failure because it was hidden among hundreds
      of lines of warning.  Thankfully I caught it on the second go before
      pushing things out, but it convinced me that I really need to disable
      the new warnings for now.
      
      We'll hopefully be all done with our conversion to flexible arrays in
      the not too distant future, and we can then re-enable this warning.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5c45de21
    • Linus Torvalds's avatar
      Stop the ad-hoc games with -Wno-maybe-initialized · 78a5255f
      Linus Torvalds authored
      
      We have some rather random rules about when we accept the
      "maybe-initialized" warnings, and when we don't.
      
      For example, we consider it unreliable for gcc versions < 4.9, but also
      if -O3 is enabled, or if optimizing for size.  And then various kernel
      config options disabled it, because they know that they trigger that
      warning by confusing gcc sufficiently (ie PROFILE_ALL_BRANCHES).
      
      And now gcc-10 seems to be introducing a lot of those warnings too, so
      it falls under the same heading as 4.9 did.
      
      At the same time, we have a very straightforward way to _enable_ that
      warning when wanted: use "W=2" to enable more warnings.
      
      So stop playing these ad-hoc games, and just disable that warning by
      default, with the known and straight-forward "if you want to work on the
      extra compiler warnings, use W=123".
      
      Would it be great to have code that is always so obvious that it never
      confuses the compiler whether a variable is used initialized or not?
      Yes, it would.  In a perfect world, the compilers would be smarter, and
      our source code would be simpler.
      
      That's currently not the world we live in, though.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      78a5255f
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.7-2020-05-08' of git://git.kernel.dk/linux-block · 1d3962ae
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - Fix finish_wait() balancing in file cancelation (Xiaoguang)
      
       - Ensure early cleanup of resources in ring map failure (Xiaoguang)
      
       - Ensure IORING_OP_SLICE does the right file mode checks (Pavel)
      
       - Remove file opening from openat/openat2/statx, it's not needed and
         messes with O_PATH
      
      * tag 'io_uring-5.7-2020-05-08' of git://git.kernel.dk/linux-block:
        io_uring: don't use 'fd' for openat/openat2/statx
        splice: move f_mode checks to do_{splice,tee}()
        io_uring: handle -EFAULT properly in io_uring_setup()
        io_uring: fix mismatched finish_wait() calls in io_uring_cancel_files()
      1d3962ae
  2. May 09, 2020
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · d5eeab8d
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Four minor fixes, all in drivers (qla2xxx, ibmvfc, ibmvscsi)"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: ibmvscsi: Fix WARN_ON during event pool release
        scsi: ibmvfc: Don't send implicit logouts prior to NPIV login
        scsi: qla2xxx: Delete all sessions before unregister local nvme port
        scsi: qla2xxx: Fix hang when issuing nvme disconnect-all in NPIV
      d5eeab8d
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-5.7-rc5' of git://github.com/ceph/ceph-client · eb24fdd8
      Linus Torvalds authored
      Pull ceph fixes from Ilya Dryomov:
       "Fixes for an endianness handling bug that prevented mounts on
        big-endian arches, a spammy log message and a couple error paths.
      
        Also included a MAINTAINERS update"
      
      * tag 'ceph-for-5.7-rc5' of git://github.com/ceph/ceph-client:
        ceph: demote quotarealm lookup warning to a debug message
        MAINTAINERS: remove myself as ceph co-maintainer
        ceph: fix double unlock in handle_cap_export()
        ceph: fix special error code in ceph_try_get_caps()
        ceph: fix endianness bug when handling MDS session feature bits
      eb24fdd8
    • Luis Henriques's avatar
      ceph: demote quotarealm lookup warning to a debug message · 12ae44a4
      Luis Henriques authored
      A misconfigured cephx can easily result in having the kernel client
      flooding the logs with:
      
        ceph: Can't lookup inode 1 (err: -13)
      
      Change this message to debug level.
      
      Cc: stable@vger.kernel.org
      URL: https://tracker.ceph.com/issues/44546
      
      
      Signed-off-by: default avatarLuis Henriques <lhenriques@suse.com>
      Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
      12ae44a4
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 4334f30e
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are some small driver fixes for 5.7-rc5 that resolve a number of
        minor reported issues:
      
         - mhi bus driver fixes found as people actually use the code
      
         - phy driver fixes and compat string additions
      
         - most driver fix due to link order changing when the core moved out
           of staging
      
         - mei driver fix
      
         - interconnect build warning fix
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-5.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        bus: mhi: core: Fix channel device name conflict
        bus: mhi: core: Fix typo in comment
        bus: mhi: core: Offload register accesses to the controller
        bus: mhi: core: Remove link_status() callback
        bus: mhi: core: Make sure to powerdown if mhi_sync_power_up fails
        bus: mhi: Fix parsing of mhi_flags
        mei: me: disable mei interface on LBG servers.
        phy: qualcomm: usb-hs-28nm: Prepare clocks in init
        MAINTAINERS: Add Vinod Koul as Generic PHY co-maintainer
        interconnect: qcom: Move the static keyword to the front of declaration
        most: core: use function subsys_initcall()
        bus: mhi: core: Fix a NULL vs IS_ERR check in mhi_create_devices()
        phy: qcom-qusb2: Re add "qcom,sdm845-qusb2-phy" compat string
        phy: tegra: Select USB_COMMON for usb_get_maximum_speed()
      4334f30e
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · c61529f6
      Linus Torvalds authored
      Pull driver core fixes from Greg KH:
       "Here are a number of small driver core fixes for 5.7-rc5 to resolve a
        bunch of reported issues with the current tree.
      
        Biggest here are the reverts and patches from John Stultz to resolve a
        bunch of deferred probe regressions we have been seeing in 5.7-rc
        right now.
      
        Along with those are some other smaller fixes:
      
         - coredump crash fix
      
         - devlink fix for when permissive mode was enabled
      
         - amba and platform device dma_parms fixes
      
         - component error silenced for when deferred probe happens
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'driver-core-5.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        regulator: Revert "Use driver_deferred_probe_timeout for regulator_init_complete_work"
        driver core: Ensure wait_for_device_probe() waits until the deferred_probe_timeout fires
        driver core: Use dev_warn() instead of dev_WARN() for deferred_probe_timeout warnings
        driver core: Revert default driver_deferred_probe_timeout value to 0
        component: Silence bind error on -EPROBE_DEFER
        driver core: Fix handling of fw_devlink=permissive
        coredump: fix crash when umh is disabled
        amba: Initialize dma_parms for amba devices
        driver core: platform: Initialize dma_parms for platform devices
      c61529f6
    • Linus Torvalds's avatar
      Merge tag 'staging-5.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · e7a1c733
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are three small driver fixes for 5.7-rc5.
      
        Two of these are documentation fixes:
      
         - MAINTAINERS update due to removed driver
      
         - removing Wolfram from the ks7010 driver TODO file
      
        The other patch is a real fix:
      
         - fix gasket driver to proper check the return value of a call
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-5.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: gasket: Check the return value of gasket_get_bar_index()
        staging: ks7010: remove me from CC list
        MAINTAINERS: remove entry after hp100 driver removal
      e7a1c733
  3. May 08, 2020