Merge 5.4.56 into android11-5.4

Changes in 5.4.56
	crypto: ccp - Release all allocated memory if sha type is invalid
	media: rc: prevent memory leak in cx23888_ir_probe
	sunrpc: check that domain table is empty at module unload.
	ath10k: enable transmit data ack RSSI for QCA9884
	PCI/ASPM: Disable ASPM on ASMedia ASM1083/1085 PCIe-to-PCI bridge
	mm/filemap.c: don't bother dropping mmap_sem for zero size readahead
	ALSA: usb-audio: Add implicit feedback quirk for SSL2
	ALSA: hda/realtek: enable headset mic of ASUS ROG Zephyrus G15(GA502) series with ALC289
	ALSA: hda/realtek: typo_fix: enable headset mic of ASUS ROG Zephyrus G14(GA401) series with ALC289
	ALSA: hda/realtek: Fix add a "ultra_low_power" function for intel reference board (alc256)
	ALSA: hda/realtek - Fixed HP right speaker no sound
	ALSA: hda/hdmi: Fix keep_power assignment for non-component devices
	IB/rdmavt: Fix RQ counting issues causing use of an invalid RWQE
	vhost/scsi: fix up req type endian-ness
	9p/trans_fd: Fix concurrency del of req_list in p9_fd_cancelled/p9_read_work
	wireless: Use offsetof instead of custom macro.
	ARM: 8986/1: hw_breakpoint: Don't invoke overflow handler on uaccess watchpoints
	ARM: dts: imx6sx-sabreauto: Fix the phy-mode on fec2
	ARM: dts: imx6sx-sdb: Fix the phy-mode on fec2
	ARM: dts: imx6qdl-icore: Fix OTG_ID pin and sdcard detect
	virtio_balloon: fix up endian-ness for free cmd id
	Revert "drm/amdgpu: Fix NULL dereference in dpm sysfs handlers"
	drm/amd/display: Clear dm_state for fast updates
	drm/amdgpu: Prevent kernel-infoleak in amdgpu_info_ioctl()
	drm/dbi: Fix SPI Type 1 (9-bit) transfer
	drm: hold gem reference until object is no longer accessed
	rds: Prevent kernel-infoleak in rds_notify_queue_get()
	libtraceevent: Fix build with binutils 2.35
	net/x25: Fix x25_neigh refcnt leak when x25 disconnect
	net/x25: Fix null-ptr-deref in x25_disconnect
	xfrm: policy: match with both mark and mask on user interfaces
	ARM: dts sunxi: Relax a bit the CMA pool allocation range
	xfrm: Fix crash when the hold queue is used.
	ARM: dts: armada-38x: fix NETA lockup when repeatedly switching speeds
	nvme-tcp: fix possible hang waiting for icresp response
	selftests/net: rxtimestamp: fix clang issues for target arch PowerPC
	selftests/net: psock_fanout: fix clang issues for target arch PowerPC
	selftests/net: so_txtime: fix clang issues for target arch PowerPC
	sh/tlb: Fix PGTABLE_LEVELS > 2
	sh: Fix validation of system call number
	net: hns3: fix a TX timeout issue
	net: hns3: fix aRFS FD rules leftover after add a user FD rule
	net/mlx5: E-switch, Destroy TSAR when fail to enable the mode
	net/mlx5e: Fix error path of device attach
	net/mlx5: Verify Hardware supports requested ptp function on a given pin
	net/mlx5e: Modify uplink state on interface up/down
	net/mlx5e: Fix kernel crash when setting vf VLANID on a VF dev
	net: lan78xx: add missing endpoint sanity check
	net: lan78xx: fix transfer-buffer memory leak
	rhashtable: Fix unprotected RCU dereference in __rht_ptr
	mlx4: disable device on shutdown
	mlxsw: core: Increase scope of RCU read-side critical section
	mlxsw: core: Free EMAD transactions using kfree_rcu()
	ibmvnic: Fix IRQ mapping disposal in error path
	bpf: Fix map leak in HASH_OF_MAPS map
	mac80211: mesh: Free ie data when leaving mesh
	mac80211: mesh: Free pending skb when destroying a mpath
	arm64/alternatives: move length validation inside the subsection
	arm64: csum: Fix handling of bad packets
	Bluetooth: fix kernel oops in store_pending_adv_report
	net: nixge: fix potential memory leak in nixge_probe()
	net: gemini: Fix missing clk_disable_unprepare() in error path of gemini_ethernet_port_probe()
	net/mlx5e: fix bpf_prog reference count leaks in mlx5e_alloc_rq
	perf tools: Fix record failure when mixed with ARM SPE event
	vxlan: fix memleak of fdb
	usb: hso: Fix debug compile warning on sparc32
	selftests: fib_nexthop_multiprefix: fix cleanup() netns deletion
	qed: Disable "MFW indication via attention" SPAM every 5 minutes
	selftests: net: ip_defrag: modprobe missing nf_defrag_ipv6 support
	nfc: s3fwrn5: add missing release on skb in s3fwrn5_recv_frame
	scsi: core: Run queue in case of I/O resource contention failure
	parisc: add support for cmpxchg on u8 pointers
	net: ethernet: ravb: exit if re-initialization fails in tx timeout
	Revert "i2c: cadence: Fix the hold bit setting"
	x86/unwind/orc: Fix ORC for newly forked tasks
	x86/stacktrace: Fix reliable check for empty user task stacks
	cxgb4: add missing release on skb in uld_send()
	xen-netfront: fix potential deadlock in xennet_remove()
	RISC-V: Set maximum number of mapped pages correctly
	drivers/net/wan: lapb: Corrected the usage of skb_cow
	KVM: arm64: Don't inherit exec permission across page-table levels
	KVM: LAPIC: Prevent setting the tscdeadline timer if the lapic is hw disabled
	x86/i8259: Use printk_deferred() to prevent deadlock
	perf tests bp_account: Make global variable static
	perf env: Do not return pointers to local variables
	perf bench: Share some global variables to fix build with gcc 10
	Linux 5.4.56

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I06b0147860242cfcac3dd8a7acefdb211020cab1
tree: fe440fae302ce2908cb393eec87ec97da3e011b9
  1. .clang-format
  2. .cocciconfig
  3. .get_maintainer.ignore
  4. .gitattributes
  5. .gitignore
  6. .mailmap
  7. COPYING
  8. CREDITS
  9. Documentation/
  10. Kbuild
  11. Kconfig
  12. LICENSES/
  13. MAINTAINERS
  14. Makefile
  15. README
  16. README.md
  17. android/
  18. arch/
  19. block/
  20. build.config.aarch64
  21. build.config.allmodconfig
  22. build.config.allmodconfig.aarch64
  23. build.config.allmodconfig.arm
  24. build.config.allmodconfig.x86_64
  25. build.config.arm
  26. build.config.common
  27. build.config.db845c
  28. build.config.gki
  29. build.config.gki-debug.aarch64
  30. build.config.gki-debug.x86_64
  31. build.config.gki.aarch64
  32. build.config.gki.x86_64
  33. build.config.gki_kasan
  34. build.config.gki_kasan.aarch64
  35. build.config.gki_kasan.x86_64
  36. build.config.hikey960
  37. build.config.x86_64
  38. certs/
  39. crypto/
  40. drivers/
  41. fs/
  42. include/
  43. init/
  44. ipc/
  45. kernel/
  46. lib/
  47. mm/
  48. net/
  49. samples/
  50. scripts/
  51. security/
  52. sound/
  53. tools/
  54. usr/
  55. virt/
README.md

How do I submit patches to Android Common Kernels

  1. BEST: Make all of your changes to upstream Linux. If appropriate, backport to the stable releases. These patches will be merged automatically in the corresponding common kernels. If the patch is already in upstream Linux, post a backport of the patch that conforms to the patch requirements below.

  2. LESS GOOD: Develop your patches out-of-tree (from an upstream Linux point-of-view). Unless these are fixing an Android-specific bug, these are very unlikely to be accepted unless they have been coordinated with kernel-team@android.com. If you want to proceed, post a patch that conforms to the patch requirements below.

Common Kernel patch requirements

  • All patches must conform to the Linux kernel coding standards and pass script/checkpatch.pl
  • Patches shall not break gki_defconfig or allmodconfig builds for arm, arm64, x86, x86_64 architectures (see https://source.android.com/setup/build/building-kernels)
  • If the patch is not merged from an upstream branch, the subject must be tagged with the type of patch: UPSTREAM:, BACKPORT:, FROMGIT:, FROMLIST:, or ANDROID:.
  • All patches must have a Change-Id: tag (see https://gerrit-review.googlesource.com/Documentation/user-changeid.html)
  • If an Android bug has been assigned, there must be a Bug: tag.
  • All patches must have a Signed-off-by: tag by the author and the submitter

Additional requirements are listed below based on patch type

Requirements for backports from mainline Linux: UPSTREAM:, BACKPORT:

  • If the patch is a cherry-pick from Linux mainline with no changes at all
    • tag the patch subject with UPSTREAM:.
    • add upstream commit information with a (cherry-picked from ...) line
    • Example:
      • if the upstream commit message is
        important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>
    - then Joe Smith would upload the patch for the common kernel as
        UPSTREAM: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        (cherry-picked from c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch requires any changes from the upstream version, tag the patch with BACKPORT: instead of UPSTREAM:.
    • use the same tags as UPSTREAM:
    • add comments about the changes under the (cherry-picked from ...) line
    • Example:
        BACKPORT: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        (cherry-picked from c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        [ Resolved minor conflict in drivers/foo/bar.c ]
        Signed-off-by: Joe Smith <joe.smith@foo.org>

Requirements for other backports: FROMGIT:, FROMLIST:,

  • If the patch has been merged into an upstream maintainer tree, but has not yet been merged into Linux mainline
    • tag the patch subject with FROMGIT:
    • add info on where the patch came from as (cherry picked from commit <sha1> <repo> <branch>). This must be a stable maintainer branch (not rebased, so don't use linux-next for example).
    • if changes were required, use BACKPORT: FROMGIT:
    • Example:
      • if the commit message in the maintainer tree is
        important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>
    - then Joe Smith would upload the patch for the common kernel as
        FROMGIT: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        (cherry picked from commit 878a2fd9de10b03d11d2f622250285c7e63deace
         https://git.kernel.org/pub/scm/linux/kernel/git/foo/bar.git test-branch)
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch has been submitted to LKML, but not accepted into any maintainer tree
    • tag the patch subject with FROMLIST:
    • add a Link: tag with a link to the submittal on lore.kernel.org
    • if changes were required, use BACKPORT: FROMLIST:
    • Example:
        FROMLIST: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Link: https://lore.kernel.org/lkml/20190619171517.GA17557@someone.com/
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>

Requirements for Android-specific patches: ANDROID:

  • If the patch is fixing a bug to Android-specific code
    • tag the patch subject with ANDROID:
    • add a Fixes: tag that cites the patch with the bug
    • Example:
        ANDROID: fix android-specific bug in foobar.c

        This is the detailed description of the important fix

        Fixes: 1234abcd2468 ("foobar: add cool feature")
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch is a new feature
    • tag the patch subject with ANDROID:
    • add a Bug: tag with the Android bug (required for android-specific features)