Kernel for Galaxy S24, rebased on CLO sources (WIP)
Go to file
Greg Kroah-Hartman 51b8218413 Merge 6.1.29 into android14-6.1-lts
Changes in 6.1.29
	USB: dwc3: gadget: drop dead hibernation code
	usb: dwc3: gadget: Execute gadget stop after halting the controller
	drm/vmwgfx: Remove explicit and broken vblank handling
	drm/vmwgfx: Fix Legacy Display Unit atomic drm support
	crypto: ccp - Clear PSP interrupt status register before calling handler
	perf/x86/core: Zero @lbr instead of returning -1 in x86_perf_get_lbr() stub
	KVM: x86: Track supported PERF_CAPABILITIES in kvm_caps
	KVM: x86/pmu: Disallow legacy LBRs if architectural LBRs are available
	mtd: spi-nor: spansion: Remove NO_SFDP_FLAGS from s28hs512t info
	mtd: spi-nor: add SFDP fixups for Quad Page Program
	mtd: spi-nor: Add a RWW flag
	mtd: spi-nor: spansion: Enable JFFS2 write buffer for Infineon s28hx SEMPER flash
	qcom: llcc/edac: Support polling mode for ECC handling
	soc: qcom: llcc: Do not create EDAC platform device on SDM845
	mailbox: zynq: Switch to flexible array to simplify code
	mailbox: zynqmp: Fix counts of child nodes
	mtd: spi-nor: spansion: Enable JFFS2 write buffer for Infineon s25hx SEMPER flash
	fs/ntfs3: Fix null-ptr-deref on inode->i_op in ntfs_lookup()
	drm/amd/display: Ext displays with dock can't recognized after resume
	KVM: x86/mmu: Avoid indirect call for get_cr3
	KVM: x86: Do not unload MMU roots when only toggling CR0.WP with TDP enabled
	KVM: x86: Make use of kvm_read_cr*_bits() when testing bits
	KVM: VMX: Make CR0.WP a guest owned bit
	KVM: x86/mmu: Refresh CR0.WP prior to checking for emulated permission faults
	ASoC: Intel: soc-acpi-byt: Fix "WM510205" match no longer working
	scsi: qedi: Fix use after free bug in qedi_remove()
	drm/amd/display: Remove FPU guards from the DML folder
	drm/amd/display: Add missing WA and MCLK validation
	drm/amd/display: Return error code on DSC atomic check failure
	drm/amd/display: Fixes for dcn32_clk_mgr implementation
	drm/amd/display: Reset OUTBOX0 r/w pointer on DMUB reset
	drm/amd/display: Do not clear GPINT register when releasing DMUB from reset
	drm/amd/display: Update bounding box values for DCN321
	ixgbe: Fix panic during XDP_TX with > 64 CPUs
	octeonxt2-af: mcs: Fix per port bypass config
	octeontx2-af: mcs: Write TCAM_DATA and TCAM_MASK registers at once
	octeontx2-af: mcs: Config parser to skip 8B header
	octeontx2-af: mcs: Fix MCS block interrupt
	octeontx2-pf: mcs: Fix NULL pointer dereferences
	octeontx2-pf: mcs: Match macsec ethertype along with DMAC
	octeontx2-pf: mcs: Clear stats before freeing resource
	octeontx2-pf: mcs: Fix shared counters logic
	octeontx2-pf: mcs: Do not reset PN while updating secy
	net/ncsi: clear Tx enable mode when handling a Config required AEN
	tcp: fix skb_copy_ubufs() vs BIG TCP
	net/sched: cls_api: remove block_cb from driver_list before freeing
	sit: update dev->needed_headroom in ipip6_tunnel_bind_dev()
	selftests: srv6: make srv6_end_dt46_l3vpn_test more robust
	net: ipv6: fix skb hash for some RST packets
	net: dsa: mv88e6xxx: add mv88e6321 rsvd2cpu
	writeback: fix call of incorrect macro
	block: Skip destroyed blkg when restart in blkg_destroy_all()
	watchdog: dw_wdt: Fix the error handling path of dw_wdt_drv_probe()
	RISC-V: mm: Enable huge page support to kernel_page_present() function
	i2c: tegra: Fix PEC support for SMBUS block read
	net/sched: act_mirred: Add carrier check
	r8152: fix flow control issue of RTL8156A
	r8152: fix the poor throughput for 2.5G devices
	r8152: move setting r8153b_rx_agg_chg_indicate()
	sfc: Fix module EEPROM reporting for QSFP modules
	rxrpc: Fix hard call timeout units
	riscv: compat_syscall_table: Fixup compile warning
	drm/i915/mtl: Add the missing CPU transcoder mask in intel_device_info
	selftests: netfilter: fix libmnl pkg-config usage
	octeontx2-af: Secure APR table update with the lock
	octeontx2-af: Fix start and end bit for scan config
	octeontx2-af: Fix depth of cam and mem table.
	octeontx2-pf: Increase the size of dmac filter flows
	octeontx2-af: Allow mkex profile without DMAC and add L2M/L2B header extraction support
	octeontx2-pf: Add additional checks while configuring ucast/bcast/mcast rules
	octeontx2-af: Update/Fix NPC field hash extract feature
	octeontx2-af: Fix issues with NPC field hash extract
	octeontx2-af: Skip PFs if not enabled
	octeontx2-pf: Disable packet I/O for graceful exit
	octeontx2-vf: Detach LF resources on probe cleanup
	ionic: remove noise from ethtool rxnfc error msg
	ethtool: Fix uninitialized number of lanes
	ionic: catch failure from devlink_alloc
	af_packet: Don't send zero-byte data in packet_sendmsg_spkt().
	drm/amdgpu: add a missing lock for AMDGPU_SCHED
	ALSA: caiaq: input: Add error handling for unsupported input methods in `snd_usb_caiaq_input_init`
	KVM: s390: fix race in gmap_make_secure()
	net: dsa: mt7530: fix corrupt frames using trgmii on 40 MHz XTAL MT7621
	net: dsa: mt7530: split-off common parts from mt7531_setup
	net: dsa: mt7530: fix network connectivity with multiple CPU ports
	ice: block LAN in case of VF to VF offload
	virtio_net: suppress cpu stall when free_unused_bufs
	net: enetc: check the index of the SFI rather than the handle
	perf record: Fix "read LOST count failed" msg with sample read
	perf scripts intel-pt-events.py: Fix IPC output for Python 2
	perf vendor events s390: Remove UTF-8 characters from JSON file
	perf tests record_offcpu.sh: Fix redirection of stderr to stdin
	perf ftrace: Make system wide the default target for latency subcommand
	perf vendor events power9: Remove UTF-8 characters from JSON files
	perf pmu: zfree() expects a pointer to a pointer to zero it after freeing its contents
	perf map: Delete two variable initialisations before null pointer checks in sort__sym_from_cmp()
	perf cs-etm: Fix timeless decode mode detection
	crypto: sun8i-ss - Fix a test in sun8i_ss_setup_ivs()
	crypto: api - Add scaffolding to change completion function signature
	crypto: engine - Use crypto_request_complete
	crypto: engine - fix crypto_queue backlog handling
	perf symbols: Fix return incorrect build_id size in elf_read_build_id()
	perf tracepoint: Fix memory leak in is_valid_tracepoint()
	perf stat: Separate bperf from bpf_profiler
	RISC-V: take text_mutex during alternative patching
	RISC-V: fix taking the text_mutex twice during sifive errata patching
	x86/retbleed: Fix return thunk alignment
	btrfs: fix btrfs_prev_leaf() to not return the same key twice
	btrfs: zoned: fix wrong use of bitops API in btrfs_ensure_empty_zones
	btrfs: properly reject clear_cache and v1 cache for block-group-tree
	btrfs: fix assertion of exclop condition when starting balance
	btrfs: fix encoded write i_size corruption with no-holes
	btrfs: don't free qgroup space unless specified
	btrfs: zero the buffer before marking it dirty in btrfs_redirty_list_add
	btrfs: make clear_cache mount option to rebuild FST without disabling it
	btrfs: print-tree: parent bytenr must be aligned to sector size
	btrfs: fix space cache inconsistency after error loading it from disk
	btrfs: zoned: zone finish data relocation BG with last IO
	btrfs: zoned: fix full zone super block reading on ZNS
	cifs: fix pcchunk length type in smb2_copychunk_range
	cifs: release leases for deferred close handles when freezing
	platform/x86/intel-uncore-freq: Return error on write frequency
	platform/x86: touchscreen_dmi: Add upside-down quirk for GDIX1002 ts on the Juno Tablet
	platform/x86: thinkpad_acpi: Fix platform profiles on T490
	platform/x86: touchscreen_dmi: Add info for the Dexp Ursus KX210i
	platform/x86: thinkpad_acpi: Add profile force ability
	inotify: Avoid reporting event with invalid wd
	smb3: fix problem remounting a share after shutdown
	SMB3: force unmount was failing to close deferred close files
	sh: math-emu: fix macro redefined warning
	sh: mcount.S: fix build error when PRINTK is not enabled
	sh: init: use OF_EARLY_FLATTREE for early init
	sh: nmi_debug: fix return value of __setup handler
	proc_sysctl: update docs for __register_sysctl_table()
	proc_sysctl: enhance documentation
	remoteproc: stm32: Call of_node_put() on iteration error
	remoteproc: st: Call of_node_put() on iteration error
	remoteproc: imx_dsp_rproc: Call of_node_put() on iteration error
	remoteproc: imx_rproc: Call of_node_put() on iteration error
	remoteproc: rcar_rproc: Call of_node_put() on iteration error
	sysctl: clarify register_sysctl_init() base directory order
	ARM: dts: aspeed: asrock: Correct firmware flash SPI clocks
	ARM: dts: exynos: fix WM8960 clock name in Itop Elite
	ARM: dts: s5pv210: correct MIPI CSIS clock name
	ARM: dts: aspeed: romed8hm3: Fix GPIO polarity of system-fault LED
	drm/msm/adreno: fix runtime PM imbalance at gpu load
	drm/bridge: lt8912b: Fix DSI Video Mode
	drm/i915/color: Fix typo for Plane CSC indexes
	drm/msm: fix NULL-deref on snapshot tear down
	drm/msm: fix NULL-deref on irq uninstall
	drm/msm: fix drm device leak on bind errors
	drm/msm: fix vram leak on bind errors
	drm/msm: fix workqueue leak on bind errors
	drm/i915/dsi: Use unconditional msleep() instead of intel_dsi_msleep()
	f2fs: fix null pointer panic in tracepoint in __replace_atomic_write_block
	f2fs: fix potential corruption when moving a directory
	irqchip/loongson-pch-pic: Fix pch_pic_acpi_init calling
	irqchip/loongson-eiointc: Fix returned value on parsing MADT
	drm/panel: otm8009a: Set backlight parent to panel device
	drm/amd/display: Add NULL plane_state check for cursor disable logic
	drm/amd/display: Fix 4to1 MPC black screen with DPP RCO
	drm/amd/display: filter out invalid bits in pipe_fuses
	drm/amd/display: fix flickering caused by S/G mode
	drm/amdgpu: fix amdgpu_irq_put call trace in gmc_v10_0_hw_fini
	drm/amdgpu: fix an amdgpu_irq_put() issue in gmc_v9_0_hw_fini()
	drm/amdgpu: fix amdgpu_irq_put call trace in gmc_v11_0_hw_fini
	drm/amdgpu/gfx: disable gfx9 cp_ecc_error_irq only when enabling legacy gfx ras
	drm/amdgpu/jpeg: Remove harvest checking for JPEG3
	drm/amdgpu: change gfx 11.0.4 external_id range
	drm/amdgpu: Fix vram recover doesn't work after whole GPU reset (v2)
	drm/amd/display: Enforce 60us prefetch for 200Mhz DCFCLK modes
	drm/amd/pm: parse pp_handle under appropriate conditions
	drm/amdgpu: disable sdma ecc irq only when sdma RAS is enabled in suspend
	drm/amd/pm: avoid potential UBSAN issue on legacy asics
	drm/amdgpu: remove deprecated MES version vars
	drm/amd: Load MES microcode during early_init
	drm/amd: Add a new helper for loading/validating microcode
	drm/amd: Use `amdgpu_ucode_*` helpers for MES
	HID: wacom: Set a default resolution for older tablets
	HID: wacom: insert timestamp to packed Bluetooth (BT) events
	fs/ntfs3: Refactoring of various minor issues
	drm/msm/adreno: adreno_gpu: Use suspend() instead of idle() on load error
	f2fs: specify extent cache for read explicitly
	f2fs: move internal functions into extent_cache.c
	f2fs: remove unnecessary __init_extent_tree
	f2fs: refactor extent_cache to support for read and more
	f2fs: allocate the extent_cache by default
	f2fs: factor out victim_entry usage from general rb_tree use
	drm/msm/adreno: Simplify read64/write64 helpers
	drm/msm: Hangcheck progress detection
	drm/msm: fix missing wq allocation error handling
	irqchip/loongarch: Adjust acpi_cascade_irqdomain_init() and sub-routines
	irqchip/loongson-eiointc: Fix incorrect use of acpi_get_vec_parent
	irqchip/loongson-eiointc: Fix registration of syscore_ops
	wifi: rtw88: rtw8821c: Fix rfe_option field width
	drm/i915/mtl: update scaler source and destination limits for MTL
	drm/i915: Check pipe source size when using skl+ scalers
	drm/amd/display: Refactor eDP PSR codes
	drm/amd/display: Add Z8 allow states to z-state support list
	drm/amd/display: Add debug option to skip PSR CRTC disable
	drm/amd/display: Fix Z8 support configurations
	drm/amd/display: Add minimum Z8 residency debug option
	drm/amd/display: Update minimum stutter residency for DCN314 Z8
	drm/amd/display: Lowering min Z8 residency time
	ASoC: rt1318: Add RT1318 SDCA vendor-specific driver
	ASoC: codecs: constify static sdw_slave_ops struct
	ASoC: codecs: wcd938x: fix accessing regmap on unattached devices
	drm/amd/display: Update Z8 watermarks for DCN314
	drm/amd/display: Update Z8 SR exit/enter latencies
	drm/amd/display: Change default Z8 watermark values
	ksmbd: Implements sess->ksmbd_chann_list as xarray
	ksmbd: fix racy issue from session setup and logoff
	ksmbd: destroy expired sessions
	ksmbd: block asynchronous requests when making a delay on session setup
	ksmbd: fix racy issue from smb2 close and logoff with multichannel
	drm: Add missing DP DSC extended capability definitions.
	drm/dsc: fix drm_edp_dsc_sink_output_bpp() DPCD high byte usage
	locking/rwsem: Add __always_inline annotation to __down_read_common() and inlined callers
	ext4: fix WARNING in mb_find_extent
	ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum
	ext4: fix data races when using cached status extents
	ext4: check iomap type only if ext4_iomap_begin() does not fail
	ext4: improve error recovery code paths in __ext4_remount()
	ext4: improve error handling from ext4_dirhash()
	ext4: fix deadlock when converting an inline directory in nojournal mode
	ext4: add bounds checking in get_max_inline_xattr_value_size()
	ext4: bail out of ext4_xattr_ibody_get() fails for any reason
	ext4: fix lockdep warning when enabling MMP
	ext4: remove a BUG_ON in ext4_mb_release_group_pa()
	ext4: fix invalid free tracking in ext4_xattr_move_to_block()
	drm/dsc: fix DP_DSC_MAX_BPP_DELTA_* macro values
	f2fs: fix to do sanity check on extent cache correctly
	f2fs: inode: fix to do sanity check on extent cache correctly
	x86/amd_nb: Add PCI ID for family 19h model 78h
	x86: fix clear_user_rep_good() exception handling annotation
	spi: fsl-spi: Re-organise transfer bits_per_word adaptation
	spi: fsl-cpm: Use 16 bit mode for large transfers with even size
	drm/amd/display: Fix hang when skipping modeset
	Linux 6.1.29

Change-Id: I576de3e4ff6a12decefda8ca0014ca600da837dd
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-06-12 17:53:47 +00:00
android ANDROID: add memset32 to db835c list of exported symbols needed. 2023-06-12 17:48:19 +00:00
arch Merge 6.1.29 into android14-6.1-lts 2023-06-12 17:53:47 +00:00
block Merge 6.1.29 into android14-6.1-lts 2023-06-12 17:53:47 +00:00
certs This is the 6.1.11 stable release 2023-02-09 13:29:55 +00:00
crypto Merge 6.1.29 into android14-6.1-lts 2023-06-12 17:53:47 +00:00
Documentation Merge 6.1.28 into android14-6.1-lts 2023-06-09 20:20:52 +00:00
drivers Merge 6.1.29 into android14-6.1-lts 2023-06-12 17:53:47 +00:00
fs Merge 6.1.29 into android14-6.1-lts 2023-06-12 17:53:47 +00:00
include Merge 6.1.29 into android14-6.1-lts 2023-06-12 17:53:47 +00:00
init UPSTREAM: gcc: disable '-Warray-bounds' for gcc-13 too 2023-05-16 17:26:14 +00:00
io_uring io_uring/rsrc: use nospec'ed indexes 2023-05-11 23:03:24 +09:00
ipc ipc: fix memory leak in init_mqueue_fs() 2022-12-31 13:32:01 +01:00
kernel Revert "posix-cpu-timers: Implement the missing timer_wait_running callback" 2023-06-10 08:31:56 +00:00
lib Merge 6.1.28 into android14-6.1-lts 2023-06-09 20:20:52 +00:00
LICENSES LICENSES/LGPL-2.1: Add LGPL-2.1-or-later as valid identifiers 2021-12-16 14:33:10 +01:00
mm Merge 6.1.28 into android14-6.1-lts 2023-06-09 20:20:52 +00:00
net Merge 6.1.29 into android14-6.1-lts 2023-06-12 17:53:47 +00:00
rust rust: kernel: Mark rust_fmt_argument as extern "C" 2023-04-26 14:28:38 +02:00
samples ANDROID: gunyah: Sync remaining gunyah drivers with latest 2023-05-16 20:35:28 +00:00
scripts Merge 6.1.28 into android14-6.1-lts 2023-06-09 20:20:52 +00:00
security Merge 6.1.28 into android14-6.1-lts 2023-06-09 20:20:52 +00:00
sound Merge 6.1.29 into android14-6.1-lts 2023-06-12 17:53:47 +00:00
tools Merge 6.1.29 into android14-6.1-lts 2023-06-12 17:53:47 +00:00
usr usr/gen_init_cpio.c: remove unnecessary -1 values from int file 2022-10-03 14:21:44 -07:00
virt KVM: Register /dev/kvm as the _very_ last thing during initialization 2023-03-10 09:34:11 +01:00
.clang-format inet: ping: use hlist_nulls rcu iterator during lookup 2022-12-01 12:42:46 +01:00
.cocciconfig
.get_maintainer.ignore get_maintainer: add Alan to .get_maintainer.ignore 2022-08-20 15:17:44 -07:00
.gitattributes .gitattributes: use 'dts' diff driver for dts files 2019-12-04 19:44:11 -08:00
.gitignore ANDROID: add Android KABI build files to root .gitignore file 2023-06-09 13:12:00 +00:00
.mailmap 9 hotfixes. 6 for MM, 3 for other areas. Four of these patches address 2022-12-10 17:10:52 -08:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
BUILD.bazel ANDROID: GKI: update symbol list file for honor 2023-05-17 21:26:09 +00:00
build.config.aarch64 ANDROID: Move NDK_TRIPLE to build.config.constants. 2023-02-14 14:13:51 -08:00
build.config.allmodconfig ANDROID: Disable AF_RXRPC for allmodconfig. 2023-03-15 14:09:33 +00:00
build.config.allmodconfig.aarch64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.allmodconfig.arm ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.allmodconfig.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.amlogic ANDROID: Unnest MAKE_GOALS from build configs 2023-05-02 13:37:21 +00:00
build.config.arm ANDROID: kleaf: move NDK_TRIPLE for arm to build.config.constants. 2023-05-09 22:36:11 +00:00
build.config.common ANDROID: 6/7/2023 KMI update 2023-06-07 14:35:22 +00:00
build.config.constants ANDROID: clang: update to 17.0.2 2023-05-15 18:53:36 +00:00
build.config.db845c ANDROID: db845c: Remove MAKE_GOALS from build.config 2023-05-15 07:01:39 +00:00
build.config.gki ANDROID: GKI: Source GKI_BUILD_CONFIG_FRAGMENT after setting all variables 2022-12-27 13:52:08 -08:00
build.config.gki_kasan ANDROID: build.config: re-disable LTO properly for KASAN 2022-03-24 12:41:35 -07:00
build.config.gki_kasan.aarch64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.gki_kasan.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.gki_kprobes ANDROID: build.configs: migrate away from CC_LD_ARG 2021-07-02 09:49:23 +00:00
build.config.gki_kprobes.aarch64 ANDROID: Adding kprobes build configs for Cuttlefish 2021-03-01 15:29:45 +00:00
build.config.gki_kprobes.x86_64 ANDROID: Adding kprobes build configs for Cuttlefish 2021-03-01 15:29:45 +00:00
build.config.gki-debug.aarch64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.gki-debug.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.gki.aarch64 ANDROID: GKI: Remove MAKE_GOALS from build.config 2023-05-10 17:05:37 +00:00
build.config.gki.aarch64.16k ANDROID: 16k target: don't write defconfig to source tree 2022-10-03 11:24:35 -07:00
build.config.gki.aarch64.fips140 ANDROID: fips140: add kernel crypto module 2023-01-09 21:33:43 +00:00
build.config.gki.riscv64 ANDROID: GKI: Remove MAKE_GOALS from build.config 2023-05-10 17:05:37 +00:00
build.config.gki.x86_64 ANDROID: GKI: Source GKI_BUILD_CONFIG_FRAGMENT after setting all variables 2022-12-27 13:52:08 -08:00
build.config.khwasan ANDROID: Add a build config fragment for KHWASan. 2021-10-13 19:44:44 +00:00
build.config.riscv64 ANDROID: GKI: Add 64-bit RISC-V config 2022-12-08 20:01:15 +00:00
build.config.rockpi4 ANDROID: db845c: Remove MAKE_GOALS from build.config 2023-05-15 07:01:39 +00:00
build.config.x86_64 ANDROID: Move NDK_TRIPLE to build.config.constants. 2023-02-14 14:13:51 -08:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: Remove Michal Marek from Kbuild maintainers 2022-11-16 14:53:00 +09:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig ANDROID: kbuild: add Kconfig support for external modules 2021-12-13 18:33:18 +00:00
Kconfig.ext ANDROID: kbuild: add Kconfig support for external modules 2021-12-13 18:33:18 +00:00
MAINTAINERS ANDROID: Revert "mm: remove cleancache" 2023-04-26 17:01:50 +00:00
Makefile Merge 6.1.29 into android14-6.1-lts 2023-06-12 17:53:47 +00:00
modules.bzl ANDROID: GKI: cfg/mac 80211 as vendor modules 2023-05-11 05:22:29 +00:00
OWNERS ANDROID: add smuckle to OWNERS 2022-06-18 10:41:40 -07:00
OWNERS_DrNo ANDROID: Updating OWNERS_DrNo 2022-08-22 16:34:52 +00:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00
README.md ANDROID: README.md: fix checkpatch.pl path typo 2021-04-07 23:16:50 +00:00

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.

    • Do not send patches upstream that contain only symbol exports. To be considered for upstream Linux, additions of EXPORT_SYMBOL_GPL() require an in-tree modular driver that uses the symbol -- so include the new driver or changes to an existing driver in the same patchset as the export.
    • When sending patches upstream, the commit message must contain a clear case for why the patch is needed and beneficial to the community. Enabling out-of-tree drivers or functionality is not not a persuasive case.
  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 scripts/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 commit ...) 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 commit 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 commit ...) 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 commit c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        [joe: 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
    • add a Bug: tag with the Android bug (required for patches not accepted into a maintainer tree)
    • 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)