1. 27 Jan, 2020 14 commits
    • Luc Van Oostenryck's avatar
      soc: aspeed: Fix snoop_file_poll()'s return type · 583bee04
      Luc Van Oostenryck authored
      commit a4e55ccd upstream.
      
      snoop_file_poll() is defined as returning 'unsigned int' but the
      .poll method is declared as returning '__poll_t', a bitwise type.
      
      Fix this by using the proper return type and using the EPOLL
      constants instead of the POLL ones, as required for __poll_t.
      
      Link: https://lore.kernel.org/r/20191121051851.268726-1-joel@jms.id.au
      Fixes: 3772e5da ("drivers/misc: Aspeed LPC snoop output using misc chardev")
      Signed-off-by: default avatarLuc Van Oostenryck <luc.vanoostenryck@gmail.com>
      Reviewed-by: default avatarJoel Stanley <joel@jms.id.au>
      Reviewed-by: default avatarAndrew Jeffery <andrew@aj.id.au>
      Signed-off-by: default avatarJoel Stanley <joel@jms.id.au>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      583bee04
    • Arnaldo Carvalho de Melo's avatar
      perf map: No need to adjust the long name of modules · cc8401ea
      Arnaldo Carvalho de Melo authored
      commit f068435d upstream.
      
      At some point in the past we needed to make sure we would get the long
      name of modules and not just what we get from /proc/modules, but that
      need, as described in the cset that introduced the adjustment function:
      
      Fixes: c03d5184 ("perf machine: Adjust dso->long_name for offline module")
      
      Without using the buildid-cache:
      
        # lsmod | grep trusted
        # insmod trusted.ko
        # lsmod | grep trusted
        trusted                24576  0
        # strace -e open,openat perf probe -m ./trusted.ko key_seal |& grep trusted
        openat(AT_FDCWD, "/sys/module/trusted/notes/.note.gnu.build-id", O_RDONLY) = 4
        openat(AT_FDCWD, "/sys/module/trusted/notes/.note.gnu.build-id", O_RDONLY) = 7
        openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
        openat(AT_FDCWD, "/root/.debug/root/trusted.ko/dd3d355d567394d540f527e093e0f64b95879584/probes", O_RDWR|O_CREAT, 0644) = 3
        openat(AT_FDCWD, "/usr/lib/debug/root/trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "/usr/lib/debug/root/trusted.ko", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "/root/.debug/trusted.ko", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
        openat(AT_FDCWD, "trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, ".debug/trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
        openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
        openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 4
        openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
          probe:key_seal       (on key_seal in trusted)
        # perf probe -l
          probe:key_seal       (on key_seal in trusted)
        #
      
      No attempt at opening '[trusted]'.
      
      Now using the build-id cache:
      
        # rmmod trusted
        # perf buildid-cache --add ./trusted.ko
        # insmod trusted.ko
        # strace -e open,openat perf probe -m ./trusted.ko key_seal |& grep trusted
        openat(AT_FDCWD, "/sys/module/trusted/notes/.note.gnu.build-id", O_RDONLY) = 4
        openat(AT_FDCWD, "/sys/module/trusted/notes/.note.gnu.build-id", O_RDONLY) = 7
        openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
        openat(AT_FDCWD, "/root/.debug/root/trusted.ko/dd3d355d567394d540f527e093e0f64b95879584/probes", O_RDWR|O_CREAT, 0644) = 3
        openat(AT_FDCWD, "/usr/lib/debug/root/trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "/usr/lib/debug/root/trusted.ko", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "/root/.debug/trusted.ko", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
        openat(AT_FDCWD, "trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, ".debug/trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
        openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
        openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 4
        openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
        #
      
      Again, no attempt at reading '[trusted]'.
      
      Finally, adding a probe to that function and then using:
      
      [root@quaco ~]# perf trace -e probe_perf:*/max-stack=16/ --max-events=2
           0.000 perf/13456 probe_perf:dso__adjust_kmod_long_name(__probe_ip: 5492263)
                                             dso__adjust_kmod_long_name (/home/acme/bin/perf)
                                             machine__process_kernel_mmap_event (/home/acme/bin/perf)
                                             machine__process_mmap_event (/home/acme/bin/perf)
                                             perf_event__process_mmap (/home/acme/bin/perf)
                                             machines__deliver_event (/home/acme/bin/perf)
                                             perf_session__deliver_event (/home/acme/bin/perf)
                                             perf_session__process_event (/home/acme/bin/perf)
                                             process_simple (/home/acme/bin/perf)
                                             reader__process_events (/home/acme/bin/perf)
                                             __perf_session__process_events (/home/acme/bin/perf)
                                             perf_session__process_events (/home/acme/bin/perf)
                                             process_buildids (/home/acme/bin/perf)
                                             record__finish_output (/home/acme/bin/perf)
                                             __cmd_record (/home/acme/bin/perf)
                                             cmd_record (/home/acme/bin/perf)
                                             run_builtin (/home/acme/bin/perf)
           0.055 perf/13456 probe_perf:dso__adjust_kmod_long_name(__probe_ip: 5492263)
                                             dso__adjust_kmod_long_name (/home/acme/bin/perf)
                                             machine__process_kernel_mmap_event (/home/acme/bin/perf)
                                             machine__process_mmap_event (/home/acme/bin/perf)
                                             perf_event__process_mmap (/home/acme/bin/perf)
                                             machines__deliver_event (/home/acme/bin/perf)
                                             perf_session__deliver_event (/home/acme/bin/perf)
                                             perf_session__process_event (/home/acme/bin/perf)
                                             process_simple (/home/acme/bin/perf)
                                             reader__process_events (/home/acme/bin/perf)
                                             __perf_session__process_events (/home/acme/bin/perf)
                                             perf_session__process_events (/home/acme/bin/perf)
                                             process_buildids (/home/acme/bin/perf)
                                             record__finish_output (/home/acme/bin/perf)
                                             __cmd_record (/home/acme/bin/perf)
                                             cmd_record (/home/acme/bin/perf)
                                             run_builtin (/home/acme/bin/perf)
        #
      
      This was the only path I could find using the perf tools that reach at this
      function, then as of november/2019, if we put a probe in the line where the
      actuall setting of the dso->long_name is done:
      
        # perf trace -e probe_perf:*
        ^C[root@quaco ~]
        # perf stat -e probe_perf:*  -I 2000
             2.000404265                  0      probe_perf:dso__adjust_kmod_long_name
             4.001142200                  0      probe_perf:dso__adjust_kmod_long_name
             6.001704120                  0      probe_perf:dso__adjust_kmod_long_name
             8.002398316                  0      probe_perf:dso__adjust_kmod_long_name
            10.002984010                  0      probe_perf:dso__adjust_kmod_long_name
            12.003597851                  0      probe_perf:dso__adjust_kmod_long_name
            14.004113303                  0      probe_perf:dso__adjust_kmod_long_name
            16.004582773                  0      probe_perf:dso__adjust_kmod_long_name
            18.005176373                  0      probe_perf:dso__adjust_kmod_long_name
            20.005801605                  0      probe_perf:dso__adjust_kmod_long_name
            22.006467540                  0      probe_perf:dso__adjust_kmod_long_name
        ^C    23.683261941                  0      probe_perf:dso__adjust_kmod_long_name
      
        #
      
      Its not being used at all.
      
      To further test this I used kvm.ko as the offline module, i.e. removed
      if from the buildid-cache by nuking it completely (rm -rf ~/.debug) and
      moved it from the normal kernel distro path, removed the modules, stoped
      the kvm guest, and then installed it manually, etc.
      
        # rmmod kvm-intel
        # rmmod kvm
        # lsmod | grep kvm
        # modprobe kvm-intel
        modprobe: ERROR: ctx=0x55d3b1722260 path=/lib/modules/5.3.8-200.fc30.x86_64/kernel/arch/x86/kvm/kvm.ko.xz error=No such file or directory
        modprobe: ERROR: ctx=0x55d3b1722260 path=/lib/modules/5.3.8-200.fc30.x86_64/kernel/arch/x86/kvm/kvm.ko.xz error=No such file or directory
        modprobe: ERROR: could not insert 'kvm_intel': Unknown symbol in module, or unknown parameter (see dmesg)
        # insmod ./kvm.ko
        # modprobe kvm-intel
        modprobe: ERROR: ctx=0x562f34026260 path=/lib/modules/5.3.8-200.fc30.x86_64/kernel/arch/x86/kvm/kvm.ko.xz error=No such file or directory
        modprobe: ERROR: ctx=0x562f34026260 path=/lib/modules/5.3.8-200.fc30.x86_64/kernel/arch/x86/kvm/kvm.ko.xz error=No such file or directory
        # lsmod | grep kvm
        kvm_intel             299008  0
        kvm                   765952  1 kvm_intel
        irqbypass              16384  1 kvm
        #
        # perf probe -x ~/bin/perf machine__findnew_module_map:12 mname=m.name:string filename=filename:string 'dso_long_name=map->dso->long_name:string' 'dso_name=map->dso->name:string'
        # perf probe -l
          probe_perf:machine__findnew_module_map (on machine__findnew_module_map:12@util/machine.c in /home/acme/bin/perf with mname filename dso_long_name dso_name)
        # perf record
        ^C[ perf record: Woken up 2 times to write data ]
        [ perf record: Captured and wrote 3.416 MB perf.data (33956 samples) ]
        # perf trace -e probe_perf:machine*
        <SNIP>
             6.322 perf/23099 probe_perf:machine__findnew_module_map(__probe_ip: 5492493, mname: "[salsa20_generic]", filename: "/lib/modules/5.3.8-200.fc30.x86_64/kernel/crypto/salsa20_generic.ko.xz", dso_long_name: "/lib/modules/5.3.8-200.fc30.x86_64/kernel/crypto/salsa20_generic.ko.xz", dso_name: "[salsa20_generic]")
             6.375 perf/23099 probe_perf:machine__findnew_module_map(__probe_ip: 5492493, mname: "[kvm]", filename: "[kvm]", dso_long_name: "[kvm]", dso_name: "[kvm]")
        <SNIP>
      
      The filename doesn't come with the path, no point in trying to set the dso->long_name.
      
        [root@quaco ~]# strace -e open,openat perf probe -m ./kvm.ko kvm_apic_local_deliver |& egrep 'open.*kvm'
        openat(AT_FDCWD, "/sys/module/kvm_intel/notes/.note.gnu.build-id", O_RDONLY) = 4
        openat(AT_FDCWD, "/sys/module/kvm/notes/.note.gnu.build-id", O_RDONLY) = 4
        openat(AT_FDCWD, "/lib/modules/5.3.8-200.fc30.x86_64/kernel/arch/x86/kvm", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 7
        openat(AT_FDCWD, "/sys/module/kvm_intel/notes/.note.gnu.build-id", O_RDONLY) = 8
        openat(AT_FDCWD, "/root/kvm.ko", O_RDONLY) = 3
        openat(AT_FDCWD, "/root/.debug/root/kvm.ko/5955f426cb93f03f30f3e876814be2db80ab0b55/probes", O_RDWR|O_CREAT, 0644) = 3
        openat(AT_FDCWD, "/usr/lib/debug/root/kvm.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "/usr/lib/debug/root/kvm.ko", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "/root/.debug/kvm.ko", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "/root/kvm.ko", O_RDONLY) = 3
        openat(AT_FDCWD, "kvm.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, ".debug/kvm.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "kvm.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
        openat(AT_FDCWD, "/root/kvm.ko", O_RDONLY) = 3
        openat(AT_FDCWD, "/root/kvm.ko", O_RDONLY) = 3
        openat(AT_FDCWD, "/root/kvm.ko", O_RDONLY) = 4
        openat(AT_FDCWD, "/root/kvm.ko", O_RDONLY) = 3
        [root@quaco ~]#
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: https://lkml.kernel.org/n/tip-jlfew3lyb24d58egrp0o72o2@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cc8401ea
    • Corentin Labbe's avatar
      crypto: sun4i-ss - fix big endian issues · 5040823a
      Corentin Labbe authored
      commit d1d787bc upstream.
      
      When testing BigEndian kernel, the sun4i-ss was failling all crypto
      tests.
      This patch fix endian issues with it.
      
      Fixes: 6298e948 ("crypto: sunxi-ss - Add Allwinner Security System crypto accelerator")
      Signed-off-by: default avatarCorentin Labbe <clabbe.montjoie@gmail.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5040823a
    • Lorenzo Bianconi's avatar
      mt7601u: fix bbp version check in mt7601u_wait_bbp_ready · 496ce0ee
      Lorenzo Bianconi authored
      commit 15e14f76 upstream.
      
      Fix bbp ready check in mt7601u_wait_bbp_ready. The issue is reported by
      coverity with the following error:
      
      Logical vs. bitwise operator
      The expression's value does not depend on the operands; inadvertent use
      of the wrong operator is a likely logic error.
      
      Addresses-Coverity-ID: 1309441 ("Logical vs. bitwise operator")
      Fixes: c869f77d ("add mt7601u driver")
      Acked-by: default avatarJakub Kicinski <kubakici@wp.pl>
      Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      496ce0ee
    • Tung Nguyen's avatar
      tipc: fix wrong timeout input for tipc_wait_for_cond() · b8f60290
      Tung Nguyen authored
      commit 12db3c80 upstream.
      
      In function __tipc_shutdown(), the timeout value passed to
      tipc_wait_for_cond() is not jiffies.
      
      This commit fixes it by converting that value from milliseconds
      to jiffies.
      
      Fixes: 365ad353 ("tipc: reduce risk of user starvation during link congestion")
      Signed-off-by: default avatarTung Nguyen <tung.q.nguyen@dektech.com.au>
      Acked-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b8f60290
    • Hoang Le's avatar
      tipc: update mon's self addr when node addr generated · 295c9b55
      Hoang Le authored
      commit 46cb01ee upstream.
      
      In commit 25b0b9c4 ("tipc: handle collisions of 32-bit node address
      hash values"), the 32-bit node address only generated after one second
      trial period expired. However the self's addr in struct tipc_monitor do
      not update according to node address generated. This lead to it is
      always zero as initial value. As result, sorting algorithm using this
      value does not work as expected, neither neighbor monitoring framework.
      
      In this commit, we add a fix to update self's addr when 32-bit node
      address generated.
      
      Fixes: 25b0b9c4 ("tipc: handle collisions of 32-bit node address hash values")
      Acked-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: default avatarHoang Le <hoang.h.le@dektech.com.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      295c9b55
    • Ard Biesheuvel's avatar
      powerpc/archrandom: fix arch_get_random_seed_int() · d3c00489
      Ard Biesheuvel authored
      commit b6afd123 upstream.
      
      Commit 01c9348c
      
        powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_*
      
      updated arch_get_random_[int|long]() to be NOPs, and moved the hardware
      RNG backing to arch_get_random_seed_[int|long]() instead. However, it
      failed to take into account that arch_get_random_int() was implemented
      in terms of arch_get_random_long(), and so we ended up with a version
      of the former that is essentially a NOP as well.
      
      Fix this by calling arch_get_random_seed_long() from
      arch_get_random_seed_int() instead.
      
      Fixes: 01c9348c ("powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_*")
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20191204115015.18015-1-ardb@kernel.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d3c00489
    • Tyrel Datwyler's avatar
      powerpc/pseries: Enable support for ibm,drc-info property · 648e2a48
      Tyrel Datwyler authored
      commit 0a87ccd3 upstream.
      
      Advertise client support for the PAPR architected ibm,drc-info device
      tree property during CAS handshake.
      
      Fixes: c7a3275e ("powerpc/pseries: Revert support for ibm,drc-info devtree property")
      Signed-off-by: default avatarTyrel Datwyler <tyreld@linux.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/1573449697-5448-11-git-send-email-tyreld@linux.ibm.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      648e2a48
    • Chuck Lever's avatar
      SUNRPC: Fix svcauth_gss_proxy_init() · 66ed7b41
      Chuck Lever authored
      commit 5866efa8 upstream.
      
      gss_read_proxy_verf() assumes things about the XDR buffer containing
      the RPC Call that are not true for buffers generated by
      svc_rdma_recv().
      
      RDMA's buffers look more like what the upper layer generates for
      sending: head is a kmalloc'd buffer; it does not point to a page
      whose contents are contiguous with the first page in the buffers'
      page array. The result is that ACCEPT_SEC_CONTEXT via RPC/RDMA has
      stopped working on Linux NFS servers that use gssproxy.
      
      This does not affect clients that use only TCP to send their
      ACCEPT_SEC_CONTEXT operation (that's all Linux clients). Other
      clients, like Solaris NFS clients, send ACCEPT_SEC_CONTEXT on the
      same transport as they send all other NFS operations. Such clients
      can send ACCEPT_SEC_CONTEXT via RPC/RDMA.
      
      I thought I had found every direct reference in the server RPC code
      to the rqstp->rq_pages field.
      
      Bug found at the 2019 Westford NFS bake-a-thon.
      
      Fixes: 3316f063 ("svcrdma: Persistently allocate and DMA- ... ")
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      Tested-by: default avatarBill Baker <bill.baker@oracle.com>
      Reviewed-by: default avatarSimo Sorce <simo@redhat.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      66ed7b41
    • Jarkko Nikula's avatar
      mfd: intel-lpss: Add default I2C device properties for Gemini Lake · 1b046747
      Jarkko Nikula authored
      commit 3f31bc67 upstream.
      
      It turned out Intel Gemini Lake doesn't use the same I2C timing
      parameters as Broxton.
      
      I got confirmation from the Windows team that Gemini Lake systems should
      use updated timing parameters that differ from those used in Broxton
      based systems.
      
      Fixes: f80e78aa ("mfd: intel-lpss: Add Intel Gemini Lake PCI IDs")
      Tested-by: default avatarChris Chiu <chiu@endlessm.com>
      Signed-off-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
      Acked-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1b046747
    • Alain Volmat's avatar
      i2c: i2c-stm32f7: fix 10-bits check in slave free id search loop · 1dff7034
      Alain Volmat authored
      commit 7787657d upstream.
      
      Fix a typo in the free slave id search loop. Instead of I2C_CLIENT_PEC,
      it should have been I2C_CLIENT_TEN. The slave id 1 can only handle 7-bit
      addresses and thus is not eligible in case of 10-bit addresses.
      As a matter of fact none of the slave id support I2C_CLIENT_PEC, overall
      check is performed at the beginning of the stm32f7_i2c_reg_slave function.
      
      Fixes: 60d609f3 ("i2c: i2c-stm32f7: Add slave support")
      Signed-off-by: default avatarAlain Volmat <alain.volmat@st.com>
      Reviewed-by: default avatarPierre-Yves MORDRET <pierre-yves.mordret@st.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1dff7034
    • Alain Volmat's avatar
      i2c: stm32f7: rework slave_id allocation · 6cded58a
      Alain Volmat authored
      commit 52d3be71 upstream.
      
      The IP can handle two slave addresses. One address can either be
      7 bits or 10 bits while the other can only be 7 bits.
      In order to ensure that a 10 bits address can always be allocated
      (assuming there is only one 7 bits address already allocated),
      pick up the 7-bits only address slot in priority when performing a 7-bits
      address allocation.
      
      Fixes: 60d609f3 ("i2c: i2c-stm32f7: Add slave support")
      Signed-off-by: default avatarAlain Volmat <alain.volmat@st.com>
      Reviewed-by: default avatarPierre-Yves MORDRET <pierre-yves.mordret@st.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6cded58a
    • Jan Kara's avatar
      xfs: Sanity check flags of Q_XQUOTARM call · 2708c4cd
      Jan Kara authored
      commit 3dd4d40b upstream.
      
      Flags passed to Q_XQUOTARM were not sanity checked for invalid values.
      Fix that.
      
      Fixes: 9da93f9b ("xfs: fix Q_XQUOTARM ioctl")
      Reported-by: default avatarYang Xu <xuyang2018.jy@cn.fujitsu.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Reviewed-by: default avatarEric Sandeen <sandeen@redhat.com>
      Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2708c4cd
    • Greg Kroah-Hartman's avatar
      Revert "efi: Fix debugobjects warning on 'efi_rts_work'" · 0a19f053
      Greg Kroah-Hartman authored
      This reverts commit 3e6b472f which is
      commit ef1491e7 upstream.
      
      Chris reports that this commit has problems and should not have been
      backported to 4.19.y
      Reported-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Waiman Long <longman@redhat.com>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-efi@vger.kernel.org
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Sasha Levin <sashal@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      0a19f053
  2. 23 Jan, 2020 26 commits