Files
Lucas Wei fa61e2931e Merge android-4.14-stable (4.14.285) into android-msm-pixel-4.14-tm-lts
Merge 4.14.285 into android-4.14-stable
  * UPSTREAM: lib/vsprintf: Hash printed address for netdev bits fallback
      lib/vsprintf.c
  * UPSTREAM: lib/vsprintf: Prepare for more general use of ptr_to_id()
      lib/vsprintf.c
  * UPSTREAM: lib/vsprintf: Make ptr argument conts in ptr_to_id()
      lib/vsprintf.c
  * UPSTREAM: vsprintf: Replace memory barrier with static_key for random_ptr_key update
      lib/vsprintf.c
    UPSTREAM: lib/test_printf.c: accept "ptrval" as valid result for plain 'p' tests
  * UPSTREAM: lib/vsprintf: Do not handle %pO[^F] as %px
      lib/vsprintf.c
  * BACKPORT: l2tp: fix race in pppol2tp_release with session object destroy
      net/l2tp/l2tp_ppp.c
  * BACKPORT: l2tp: don't use inet_shutdown on ppp session destroy
      net/l2tp/l2tp_ppp.c
Linux 4.14.285
  * tcp: drop the hash_32() part from the index calculation
      net/ipv4/inet_hashtables.c
  * tcp: increase source port perturb table to 2^16
      net/ipv4/inet_hashtables.c
  * tcp: dynamically allocate the perturb table used by source ports
      net/ipv4/inet_hashtables.c
  * tcp: add small random increments to the source port
      net/ipv4/inet_hashtables.c
  * tcp: use different parts of the port_offset for index and offset
      net/ipv4/inet_hashtables.c
  * tcp: add some entropy in __inet_hash_connect()
      net/ipv4/inet_hashtables.c
    xprtrdma: fix incorrect header size calculations
  * usb: gadget: u_ether: fix regression in setting fixed MAC address
      drivers/usb/gadget/function/u_ether.c
    s390/mm: use non-quiescing sske for KVM switch to keyed guest
  * l2tp: fix race in pppol2tp_release with session object destroy
      net/l2tp/l2tp_ppp.c
  * l2tp: don't use inet_shutdown on ppp session destroy
      net/l2tp/l2tp_ppp.c
    virtio-pci: Remove wrong address verification in vp_del_vqs()
  * ext4: add reserved GDT blocks check
      fs/ext4/resize.c
  * ext4: make variable "count" signed
      fs/ext4/namei.c
  * ext4: fix bug_on ext4_mb_use_inode_pa
      fs/ext4/mballoc.c
    serial: 8250: Store to lsr_save_flags after lsr read
    usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe
    usb: dwc2: Fix memory leak in dwc2_hcd_init
    USB: serial: io_ti: add Agilent E5805A support
    USB: serial: option: add support for Cinterion MV31 with new baseline
    comedi: vmk80xx: fix expression for tx buffer size
    irqchip/gic/realview: Fix refcount leak in realview_gic_of_init
    certs/blacklist_hashes.c: fix const confusion in certs blacklist
    arm64: ftrace: fix branch range checks
    net: bgmac: Fix an erroneous kfree() in bgmac_remove()
    misc: atmel-ssc: Fix IRQ check in ssc_probe
    tty: goldfish: Fix free_irq() on remove
    i40e: Fix call trace in setup_tx_descriptors
    pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE
  * random: credit cpu and bootloader seeds by default
      drivers/char/Kconfig
    net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag
  * ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg
      net/l2tp/l2tp_ip6.c
    nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred
    virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed
    scsi: pmcraid: Fix missing resource cleanup in error case
    scsi: ipr: Fix missing/incorrect resource cleanup in error case
    scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
    scsi: vmw_pvscsi: Expand vcpuHint to 16 bits
    ASoC: wm8962: Fix suspend while playing music
    ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo()
    ASoC: cs42l56: Correct typo in minimum level for SX volume controls
    ASoC: cs42l52: Correct TLV for Bypass Volume
    ASoC: cs53l30: Correct number of volume levels on SX controls
    ASoC: cs42l52: Fix TLV scales for mixer controls
  * random: account for arch randomness in bits
      drivers/char/random.c
  * random: mark bootloader randomness code as __init
      drivers/char/random.c
      include/linux/random.h
  * random: avoid checking crng_ready() twice in random_init()
      drivers/char/random.c
  * crypto: drbg - make reseeding from get_random_bytes() synchronous
      crypto/drbg.c
      drivers/char/random.c
      include/crypto/drbg.h
  * crypto: drbg - always try to free Jitter RNG instance
      crypto/drbg.c
  * crypto: drbg - move dynamic ->reseed_threshold adjustments to __drbg_seed()
      crypto/drbg.c
  * crypto: drbg - track whether DRBG was seeded with !rng_is_initialized()
      crypto/drbg.c
      include/crypto/drbg.h
  * crypto: drbg - prepare for more fine-grained tracking of seeding state
      crypto/drbg.c
      include/crypto/drbg.h
  * crypto: drbg - always seeded with SP800-90B compliant noise source
      crypto/drbg.c
      include/crypto/drbg.h
  * crypto: drbg - add FIPS 140-2 CTRNG for noise source
      crypto/drbg.c
      include/crypto/drbg.h
  * Revert "random: use static branch for crng_ready()"
      drivers/char/random.c
  * random: check for signals after page of pool writes
      drivers/char/random.c
  * random: wire up fops->splice_{read,write}_iter()
      drivers/char/random.c
  * random: convert to using fops->write_iter()
      drivers/char/random.c
  * random: move randomize_page() into mm where it belongs
      drivers/char/random.c
      include/linux/mm.h
      include/linux/random.h
      mm/util.c
  * random: move initialization functions out of hot pages
      drivers/char/random.c
  * random: use proper return types on get_random_{int,long}_wait()
      drivers/char/random.c
      include/linux/random.h
  * random: remove extern from functions in header
      include/linux/random.h
  * random: use static branch for crng_ready()
      drivers/char/random.c
  * random: credit architectural init the exact amount
      drivers/char/random.c
  * random: handle latent entropy and command line from random_init()
      drivers/char/random.c
      include/linux/random.h
      init/main.c
  * random: use proper jiffies comparison macro
      drivers/char/random.c
  * random: remove ratelimiting for in-kernel unseeded randomness
      drivers/char/random.c
      lib/Kconfig.debug
  * random: avoid initializing twice in credit race
      drivers/char/random.c
  * random: use symbolic constants for crng_init states
      drivers/char/random.c
  * siphash: use one source of truth for siphash permutations
      drivers/char/random.c
      include/linux/prandom.h
      include/linux/siphash.h
      lib/siphash.c
  * random: help compiler out with fast_mix() by using simpler arguments
      drivers/char/random.c
  * random: do not use input pool from hard IRQs
      drivers/char/random.c
  * random: order timer entropy functions below interrupt functions
      drivers/char/random.c
  * random: do not pretend to handle premature next security model
      drivers/char/random.c
  * random: do not use batches when !crng_ready()
      drivers/char/random.c
  * random: insist on random_get_entropy() existing in order to simplify
      drivers/char/random.c
    xtensa: use fallback for random_get_entropy() instead of zero
    sparc: use fallback for random_get_entropy() instead of zero
    um: use fallback for random_get_entropy() instead of zero
    x86/tsc: Use fallback for random_get_entropy() instead of zero
    nios2: use fallback for random_get_entropy() instead of zero
    arm: use fallback for random_get_entropy() instead of zero
    mips: use fallback for random_get_entropy() instead of just c0 random
    m68k: use fallback for random_get_entropy() instead of zero
  * timekeeping: Add raw clock fallback for random_get_entropy()
      include/linux/timex.h
      kernel/time/timekeeping.c
    powerpc: define get_cycles macro for arch-override
    alpha: define get_cycles macro for arch-override
    parisc: define get_cycles macro for arch-override
    s390: define get_cycles macro for arch-override
    ia64: define get_cycles macro for arch-override
  * init: call time_init() before rand_initialize()
      init/main.c
    random: fix sysctl documentation nits
  * random: document crng_fast_key_erasure() destination possibility
      drivers/char/random.c
  * random: make random_get_entropy() return an unsigned long
      drivers/char/random.c
      include/linux/timex.h
  * random: check for signals every PAGE_SIZE chunk of /dev/[u]random
      drivers/char/random.c
  * random: check for signal_pending() outside of need_resched() check
      drivers/char/random.c
  * random: do not allow user to keep crng key around on stack
      drivers/char/random.c
  * random: do not split fast init input in add_hwgenerator_randomness()
      drivers/char/random.c
  * random: mix build-time latent entropy into pool at init
      drivers/char/random.c
  * random: re-add removed comment about get_random_{u32,u64} reseeding
      drivers/char/random.c
  * random: treat bootloader trust toggle the same way as cpu trust toggle
      drivers/char/Kconfig
      drivers/char/random.c
  * random: skip fast_init if hwrng provides large chunk of entropy
      drivers/char/random.c
  * random: check for signal and try earlier when generating entropy
      drivers/char/random.c
  * random: reseed more often immediately after booting
      drivers/char/random.c
  * random: make consistent usage of crng_ready()
      drivers/char/random.c
  * random: use SipHash as interrupt entropy accumulator
      drivers/char/random.c
  * random: replace custom notifier chain with standard one
      crypto/drbg.c
      drivers/char/random.c
      include/crypto/drbg.h
      include/linux/random.h
      lib/random32.c
  * random: don't let 644 read-only sysctls be written to
      drivers/char/random.c
  * random: give sysctl_random_min_urandom_seed a more sensible value
      drivers/char/random.c
  * random: do crng pre-init loading in worker rather than irq
      drivers/char/random.c
  * random: unify cycles_t and jiffies usage and types
      drivers/char/random.c
  * random: cleanup UUID handling
      drivers/char/random.c
  * random: only wake up writers after zap if threshold was passed
      drivers/char/random.c
  * random: round-robin registers as ulong, not u32
      drivers/char/random.c
  * random: clear fast pool, crng, and batches in cpuhp bring up
      drivers/char/random.c
      include/linux/cpuhotplug.h
      include/linux/random.h
      kernel/cpu.c
  * random: pull add_hwgenerator_randomness() declaration into random.h
      drivers/char/hw_random/core.c
      include/linux/hw_random.h
      include/linux/random.h
  * random: check for crng_init == 0 in add_device_randomness()
      drivers/char/random.c
  * random: unify early init crng load accounting
      drivers/char/random.c
  * random: do not take pool spinlock at boot
      drivers/char/random.c
  * random: defer fast pool mixing to worker
      drivers/char/random.c
  * random: rewrite header introductory comment
      drivers/char/random.c
  * random: group sysctl functions
      drivers/char/random.c
  * random: group userspace read/write functions
      drivers/char/random.c
  * random: group entropy collection functions
      drivers/char/random.c
  * random: group entropy extraction functions
      drivers/char/random.c
  * random: group initialization wait functions
      drivers/char/random.c
  * random: remove whitespace and reorder includes
      drivers/char/random.c
  * random: remove useless header comment
      include/linux/random.h
  * random: introduce drain_entropy() helper to declutter crng_reseed()
      drivers/char/random.c
  * random: deobfuscate irq u32/u64 contributions
      drivers/char/random.c
  * random: add proper SPDX header
      drivers/char/random.c
  * random: remove unused tracepoints
      drivers/char/random.c
      lib/random32.c
  * random: remove ifdef'd out interrupt bench
      drivers/char/random.c
  * random: tie batched entropy generation to base_crng generation
      drivers/char/random.c
  * random: zero buffer after reading entropy from userspace
      drivers/char/random.c
  * random: remove outdated INT_MAX >> 6 check in urandom_read()
      drivers/char/random.c
  * random: use hash function for crng_slow_load()
      drivers/char/random.c
      include/linux/hw_random.h
      include/linux/random.h
  * random: absorb fast pool into input pool after fast load
      drivers/char/random.c
  * random: do not xor RDRAND when writing into /dev/random
      drivers/char/random.c
  * random: ensure early RDSEED goes through mixer on init
      drivers/char/random.c
  * random: inline leaves of rand_initialize()
      drivers/char/random.c
  * random: use RDSEED instead of RDRAND in entropy extraction
      drivers/char/random.c
  * random: fix locking in crng_fast_load()
      drivers/char/random.c
  * random: remove batched entropy locking
      drivers/char/random.c
  * random: remove use_input_pool parameter from crng_reseed()
      drivers/char/random.c
  * random: make credit_entropy_bits() always safe
      drivers/char/random.c
  * random: always wake up entropy writers after extraction
      drivers/char/random.c
  * random: use linear min-entropy accumulation crediting
      drivers/char/random.c
  * random: simplify entropy debiting
      drivers/char/random.c
  * random: use computational hash for entropy extraction
      drivers/char/random.c
  * random: only call crng_finalize_init() for primary_crng
      drivers/char/random.c
  * random: access primary_pool directly rather than through pointer
      drivers/char/random.c
  * random: continually use hwgenerator randomness
      drivers/char/random.c
  * random: simplify arithmetic function flow in account()
      drivers/char/random.c
  * random: access input_pool_data directly rather than through pointer
      drivers/char/random.c
  * random: cleanup fractional entropy shift constants
      drivers/char/random.c
  * random: prepend remaining pool constants with POOL_
      drivers/char/random.c
  * random: de-duplicate INPUT_POOL constants
      drivers/char/random.c
  * random: remove unused OUTPUT_POOL constants
      drivers/char/random.c
  * random: rather than entropy_store abstraction, use global
      drivers/char/random.c
  * random: try to actively add entropy rather than passively wait for it
      drivers/char/random.c
  * random: remove unused extract_entropy() reserved argument
      drivers/char/random.c
  * random: remove incomplete last_data logic
      drivers/char/random.c
  * random: cleanup integer types
      drivers/char/random.c
  * crypto: chacha20 - Fix chacha20_block() keystream alignment (again)
      drivers/char/random.c
  * random: cleanup poolinfo abstraction
      drivers/char/random.c
  * random: fix typo in comments
      drivers/char/random.c
  * random: don't reset crng_init_cnt on urandom_read()
      drivers/char/random.c
  * random: avoid superfluous call to RDRAND in CRNG extraction
      drivers/char/random.c
  * random: early initialization of ChaCha constants
      drivers/char/random.c
  * random: initialize ChaCha20 constants with correct endianness
      drivers/char/random.c
  * random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs
      drivers/char/random.c
  * random: harmonize "crng init done" messages
      drivers/char/random.c
  * random: mix bootloader randomness into pool
      drivers/char/random.c
  * random: do not re-init if crng_reseed completes before primary init
      drivers/char/random.c
  * random: do not sign extend bytes for rotation when mixing
      drivers/char/random.c
  * random: use BLAKE2s instead of SHA1 in extraction
      drivers/char/random.c
  * random: remove unused irq_flags argument from add_interrupt_randomness()
      drivers/char/random.c
      include/linux/random.h
      kernel/irq/handle.c
  * random: document add_hwgenerator_randomness() with other input functions
      drivers/char/random.c
  * crypto: blake2s - adjust include guard naming
      include/crypto/blake2s.h
      include/crypto/internal/blake2s.h
  * crypto: blake2s - include <linux/bug.h> instead of <asm/bug.h>
      include/crypto/blake2s.h
    MAINTAINERS: co-maintain random.c
  * random: remove dead code left over from blocking pool
      drivers/char/random.c
  * random: avoid arch_get_random_seed_long() when collecting IRQ randomness
      drivers/char/random.c
  * random: add arch_get_random_*long_early()
      drivers/char/random.c
      include/linux/random.h
    powerpc: Use bool in archrandom.h
  * linux/random.h: Mark CONFIG_ARCH_RANDOM functions __must_check
      include/linux/random.h
  * linux/random.h: Use false with bool
      include/linux/random.h
  * linux/random.h: Remove arch_has_random, arch_has_random_seed
      include/linux/random.h
    s390: Remove arch_has_random, arch_has_random_seed
    powerpc: Remove arch_has_random, arch_has_random_seed
    x86: Remove arch_has_random, arch_has_random_seed
  * random: avoid warnings for !CONFIG_NUMA builds
      drivers/char/random.c
  * random: split primary/secondary crng init paths
      drivers/char/random.c
  * random: remove some dead code of poolinfo
      drivers/char/random.c
  * random: fix typo in add_timer_randomness()
      drivers/char/random.c
  * random: Add and use pr_fmt()
      drivers/char/random.c
  * random: convert to ENTROPY_BITS for better code readability
      drivers/char/random.c
  * random: remove unnecessary unlikely()
      drivers/char/random.c
  * random: remove kernel.random.read_wakeup_threshold
      drivers/char/random.c
  * random: delete code to pull data into pools
      drivers/char/random.c
  * random: remove the blocking pool
      drivers/char/random.c
  * random: fix crash on multiple early calls to add_bootloader_randomness()
      drivers/char/random.c
  * char/random: silence a lockdep splat with printk()
      drivers/char/random.c
  * random: make /dev/random be almost like /dev/urandom
      drivers/char/random.c
  * random: ignore GRND_RANDOM in getentropy(2)
      drivers/char/random.c
      include/uapi/linux/random.h
  * random: add GRND_INSECURE to return best-effort non-cryptographic bytes
      drivers/char/random.c
      include/uapi/linux/random.h
  * random: Add a urandom_read_nowait() for random APIs that don't warn
      drivers/char/random.c
  * random: Don't wake crng_init_wait when crng_init == 1
      drivers/char/random.c
  * lib/crypto: sha1: re-roll loops to reduce code size
      lib/sha1.c
  * lib/crypto: blake2s: move hmac construction into wireguard
      include/crypto/blake2s.h
      lib/crypto/blake2s.c
  * crypto: blake2s - generic C library implementation and selftest
      include/crypto/blake2s.h
      include/crypto/internal/blake2s.h
      lib/Makefile
      lib/crypto/Makefile
      lib/crypto/blake2s-generic.c
      lib/crypto/blake2s.c
  * crypto: Deduplicate le32_to_cpu_array() and cpu_to_le32_array()
      crypto/md4.c
      crypto/md5.c
      include/linux/byteorder/generic.h
  * Revert "hwrng: core - Freeze khwrng thread during suspend"
      drivers/char/random.c
  * char/random: Add a newline at the end of the file
      drivers/char/random.c
  * random: Use wait_event_freezable() in add_hwgenerator_randomness()
      drivers/char/random.c
  * fdt: add support for rng-seed
      drivers/char/Kconfig
      drivers/char/random.c
      drivers/of/fdt.c
      include/linux/random.h
  * random: Support freezable kthreads in add_hwgenerator_randomness()
      drivers/char/random.c
  * random: fix soft lockup when trying to read from an uninitialized blocking pool
      drivers/char/random.c
  * latent_entropy: avoid build error when plugin cflags are not set
      include/linux/random.h
  * random: document get_random_int() family
      drivers/char/random.c
  * random: move rand_initialize() earlier
      drivers/char/random.c
      include/linux/random.h
      init/main.c
  * random: only read from /dev/random after its pool has received 128 bits
      drivers/char/random.c
  * drivers/char/random.c: make primary_crng static
      drivers/char/random.c
  * drivers/char/random.c: remove unused stuct poolinfo::poolbits
      drivers/char/random.c
  * drivers/char/random.c: constify poolinfo_table
      drivers/char/random.c
  * random: make CPU trust a boot parameter
      drivers/char/Kconfig
      drivers/char/random.c
  * random: Make crng state queryable
      drivers/char/random.c
      include/linux/random.h
  * random: remove preempt disabled region
      drivers/char/random.c
  * random: add a config option to trust the CPU's hwrng
      drivers/char/Kconfig
      drivers/char/random.c
  * random: Return nbytes filled from hw RNG
      drivers/char/random.c
      include/linux/random.h
  * random: Fix whitespace pre random-bytes work
      drivers/char/random.c
  * drivers/char/random.c: remove unused dont_count_entropy
      drivers/char/random.c
  * random: optimize add_interrupt_randomness
      drivers/char/random.c
  * random: always fill buffer in get_random_bytes_wait
      include/linux/random.h
  * crypto: chacha20 - Fix keystream alignment for chacha20_block()
      drivers/char/random.c
    9p: missing chunk of "fs/9p: Don't update file type when updating file attributes"
  * UPSTREAM: ext4: verify dir block before splitting it
      fs/ext4/namei.c
  * UPSTREAM: ext4: fix use-after-free in ext4_rename_dir_prepare
      fs/ext4/namei.c
  * BACKPORT: ext4: Only advertise encrypted_casefold when encryption and unicode are enabled
      fs/ext4/sysfs.c
  * BACKPORT: ext4: fix no-key deletion for encrypt+casefold
      fs/ext4/namei.c
  * BACKPORT: ext4: optimize match for casefolded encrypted dirs
      fs/ext4/ext4.h
      fs/ext4/namei.c
  * BACKPORT: ext4: handle casefolding with encryption
      fs/ext4/dir.c
      fs/ext4/ext4.h
      fs/ext4/hash.c
      fs/ext4/inline.c
      fs/ext4/namei.c
      fs/ext4/super.c
      fs/ext4/sysfs.c
  * Revert "ANDROID: ext4: Handle casefolding with encryption"
      fs/ext4/dir.c
      fs/ext4/ext4.h
      fs/ext4/hash.c
      fs/ext4/ialloc.c
      fs/ext4/inline.c
      fs/ext4/namei.c
      fs/ext4/super.c
  * Revert "ANDROID: ext4: Optimize match for casefolded encrypted dirs"
      fs/ext4/ext4.h
      fs/ext4/namei.c
    Merge 4.14.284 into android-4.14-stable
  * Revert "ext4: fix use-after-free in ext4_rename_dir_prepare"
      fs/ext4/namei.c
  * Revert "ext4: verify dir block before splitting it"
      fs/ext4/namei.c
Linux 4.14.284
    x86/speculation/mmio: Print SMT warning
    KVM: x86/speculation: Disable Fill buffer clear within guests
    x86/speculation/mmio: Reuse SRBDS mitigation for SBDS
    x86/speculation/srbds: Update SRBDS mitigation selection
  * x86/speculation/mmio: Add sysfs reporting for Processor MMIO Stale Data
      drivers/base/cpu.c
      include/linux/cpu.h
    x86/speculation/mmio: Enable CPU Fill buffer clearing on idle
    x86/bugs: Group MDS, TAA & Processor MMIO Stale Data mitigations
    x86/speculation/mmio: Add mitigation for Processor MMIO Stale Data
    x86/speculation: Add a common function for MD_CLEAR mitigation update
    x86/speculation/mmio: Enumerate Processor MMIO Stale Data bug
    Documentation: Add documentation for Processor MMIO Stale Data
    x86/cpu: Add another Alder Lake CPU to the Intel family
    x86/cpu: Add Lakefield, Alder Lake and Rocket Lake models to the to Intel CPU family
    x86/cpu: Add Comet Lake to the Intel CPU models header
    x86/CPU: Add more Icelake model numbers
    x86/CPU: Add Icelake model number
    x86/cpu: Add Cannonlake to Intel family
    x86/cpu: Add Jasper Lake to Intel family
  * cpu/speculation: Add prototype for cpu_show_srbds()
      include/linux/cpu.h
    x86/cpu: Add Elkhart Lake to Intel family
    Merge 4.14.283 into android-4.14-stable
Linux 4.14.283
  * tcp: fix tcp_mtup_probe_success vs wrong snd_cwnd
      net/ipv4/tcp_input.c
    PCI: qcom: Fix unbalanced PHY init on probe errors
    mtd: cfi_cmdset_0002: Use chip_ready() for write on S29GL064N
    mtd: cfi_cmdset_0002: Move and rename chip_check/chip_ready/chip_good_for_write
    md/raid0: Ignore RAID0 layout if the second zone has only one device
    powerpc/32: Fix overread/overwrite of thread_struct via ptrace
    Input: bcm5974 - set missing URB_NO_TRANSFER_DMA_MAP urb flag
    ixgbe: fix unexpected VLAN Rx in promisc mode on VF
    ixgbe: fix bcast packets Rx on VF after promisc removal
    nfc: st21nfca: fix memory leaks in EVT_TRANSACTION handling
    nfc: st21nfca: fix incorrect validating logic in EVT_TRANSACTION
    ata: libata-transport: fix {dma|pio|xfer}_mode sysfs files
    cifs: return errors during session setup during reconnects
    ALSA: hda/conexant - Fix loopback issue with CX20632
    vringh: Fix loop descriptors check in the indirect cases
  * nodemask: Fix return values to be unsigned
      include/linux/nodemask.h
      lib/nodemask.c
    nbd: fix io hung while disconnecting device
    nbd: fix race between nbd_alloc_config() and module removal
    nbd: call genl_unregister_family() first in nbd_cleanup()
  * modpost: fix undefined behavior of is_arm_mapping_symbol()
      scripts/mod/modpost.c
    drm/radeon: fix a possible null pointer dereference
  * Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process"
      net/key/af_key.c
    md: protect md_unregister_thread from reentrancy
  * kernfs: Separate kernfs_pr_cont_buf and rename_lock.
      fs/kernfs/dir.c
    serial: msm_serial: disable interrupts in __msm_console_write()
    staging: rtl8712: fix uninit-value in r871xu_drv_init()
    clocksource/drivers/sp804: Avoid error on multiple instances
  * extcon: Modify extcon device to be created after driver data is set
      drivers/extcon/extcon.c
    misc: rtsx: set NULL intfdata when probe fails
    usb: dwc2: gadget: don't reset gadget's driver->bus
  * USB: hcd-pci: Fully suspend across freeze/thaw cycle
      drivers/usb/core/hcd-pci.c
    drivers: usb: host: Fix deadlock in oxu_bus_suspend()
    drivers: tty: serial: Fix deadlock in sa1100_set_termios()
    USB: host: isp116x: check return value after calling platform_get_resource()
    drivers: staging: rtl8192e: Fix deadlock in rtllib_beacons_stop()
    tty: Fix a possible resource leak in icom_probe
    tty: synclink_gt: Fix null-pointer-dereference in slgt_clean()
    lkdtm/usercopy: Expand size of "out of frame" object
    iio: dummy: iio_simple_dummy: check the return value of kstrdup()
    drm: imx: fix compiler warning with gcc-12
    net: altera: Fix refcount leak in altera_tse_mdio_create
    net: ipv6: unexport __init-annotated seg6_hmac_init()
  * net: xfrm: unexport __init-annotated xfrm4_protocol_init()
      net/ipv4/xfrm4_protocol.c
  * net: mdio: unexport __init-annotated mdio_bus_init()
      drivers/net/phy/mdio_bus.c
    SUNRPC: Fix the calculation of xdr->end in xdr_get_next_encode_buffer()
    net/mlx4_en: Fix wrong return value on ioctl EEPROM query failure
    ata: pata_octeon_cf: Fix refcount leak in octeon_cf_probe
    xprtrdma: treat all calls not a bcall when bc_serv is NULL
    video: fbdev: pxa3xx-gcu: release the resources correctly in pxa3xx_gcu_probe/remove()
    m68knommu: fix undefined reference to `_init_sp'
    m68knommu: set ZERO_PAGE() to the allocated zeroed page
    i2c: cadence: Increase timeout per message if necessary
  * tracing: Avoid adding tracer option before update_tracer_options
      kernel/trace/trace.c
  * tracing: Fix sleeping function called from invalid context on RT kernel
      kernel/trace/trace.c
    mips: cpc: Fix refcount leak in mips_cpc_default_phys_base
    perf c2c: Fix sorting in percent_rmt_hitm_cmp()
  * tcp: tcp_rtx_synack() can be called from process context
      net/ipv4/tcp_output.c
    ubi: ubi_create_volume: Fix use-after-free when volume creation failed
    jffs2: fix memory leak in jffs2_do_fill_super
  * modpost: fix removing numeric suffixes
      scripts/mod/modpost.c
    net: dsa: mv88e6xxx: Fix refcount leak in mv88e6xxx_mdios_register
    net: ethernet: mtk_eth_soc: out of bounds read in mtk_hwlro_get_fdir_entry()
    clocksource/drivers/oxnas-rps: Fix irq_of_parse_and_map() return value
    firmware: dmi-sysfs: Fix memory leak in dmi_sysfs_register_handle
    serial: st-asc: Sanitize CSIZE and correct PARENB for CS7
    serial: sh-sci: Don't allow CS5-6
    serial: txx9: Don't allow CS5-6
    serial: digicolor-usart: Don't allow CS5-6
    serial: meson: acquire port->lock in startup()
    rtc: mt6397: check return value after calling platform_get_resource()
    soc: rockchip: Fix refcount leak in rockchip_grf_init
    coresight: cpu-debug: Replace mutex with mutex_trylock on panic notifier
    rpmsg: qcom_smd: Fix irq_of_parse_and_map() return value
    pwm: lp3943: Fix duty calculation in case period was clamped
    USB: storage: karma: fix rio_karma_init return
    usb: usbip: add missing device lock on tweak configuration cmd
    usb: usbip: fix a refcount leak in stub_probe()
    tty: goldfish: Use tty_port_destroy() to destroy port
    staging: greybus: codecs: fix type confusion of list iterator variable
    pcmcia: db1xxx_ss: restrict to MIPS_DB1XXX boards
    netfilter: nf_tables: disallow non-stateful expression in sets earlier
    MIPS: IP27: Remove incorrect `cpu_has_fpu' override
    RDMA/rxe: Generate a completion for unsupported/invalid opcode
    phy: qcom-qmp: fix reset-controller leak on probe errors
    dt-bindings: gpio: altera: correct interrupt-cells
    docs/conf.py: Cope with removal of language=None in Sphinx 5.0.0
    phy: qcom-qmp: fix struct clk leak on probe errors
    arm64: dts: qcom: ipq8074: fix the sleep clock frequency
    gma500: fix an incorrect NULL check on list iterator
    carl9170: tx: fix an incorrect use of list iterator
  * ASoC: rt5514: Fix event generation for "DSP Voice Wake Up" control
      sound/soc/codecs/rt5514.c
    rtl818x: Prevent using not initialized queues
    hugetlb: fix huge_pmd_unshare address update
  * nodemask.h: fix compilation error with GCC12
      include/linux/nodemask.h
    iommu/msm: Fix an incorrect NULL check on list iterator
    um: Fix out-of-bounds read in LDT setup
    um: chan_user: Fix winch_tramp() return value
    mac80211: upgrade passive scan to active scan on DFS channels after beacon rx
    irqchip: irq-xtensa-mx: fix initial IRQ affinity
    irqchip/armada-370-xp: Do not touch Performance Counter Overflow on A375, A38x, A39x
    RDMA/hfi1: Fix potential integer multiplication overflow errors
    md: fix an incorrect NULL check in md_reload_sb
    md: fix an incorrect NULL check in does_sb_need_changing
    drm/bridge: analogix_dp: Grab runtime PM reference for DP-AUX
    drm/nouveau/clk: Fix an incorrect NULL check on list iterator
    drm/amdgpu/cs: make commands with 0 chunks illegal behaviour.
  * scsi: ufs: qcom: Add a readl() to make sure ref_clk gets enabled
      drivers/scsi/ufs/ufs-qcom.c
    scsi: dc395x: Fix a missing check on list iterator
    ocfs2: dlmfs: fix error handling of user_dlm_destroy_lock
    dlm: fix missing lkb refcount handling
    dlm: fix plock invalid read
  * ext4: avoid cycles in directory h-tree
      fs/ext4/namei.c
  * ext4: verify dir block before splitting it
      fs/ext4/namei.c
  * ext4: fix bug_on in ext4_writepages
      fs/ext4/inline.c
  * ext4: fix use-after-free in ext4_rename_dir_prepare
      fs/ext4/namei.c
  * fs-writeback: writeback_sb_inodes:Recalculate 'wrote' according skipped pages
      fs/fs-writeback.c
    iwlwifi: mvm: fix assert 1F04 upon reconfig
    wifi: mac80211: fix use-after-free in chanctx code
    perf jevents: Fix event syntax error caused by ExtSel
    perf c2c: Use stdio interface if slang is not supported
    iommu/amd: Increase timeout waiting for GA log enablement
    video: fbdev: clcdfb: Fix refcount leak in clcdfb_of_vram_setup
    iommu/mediatek: Add list_del in mtk_iommu_remove
  * mailbox: forward the hrtimer if not queued and under a lock
      drivers/mailbox/mailbox.c
      include/linux/mailbox_controller.h
    powerpc/fsl_rio: Fix refcount leak in fsl_rio_setup
    powerpc/perf: Fix the threshold compare group constraint for power9
    Input: sparcspkr - fix refcount leak in bbc_beep_probe
  * tty: fix deadlock caused by calling printk() under tty_port->lock
      drivers/tty/tty_buffer.c
    powerpc/4xx/cpm: Fix return value of __setup() handler
    powerpc/idle: Fix return value of __setup() handler
    powerpc/8xx: export 'cpm_setbrg' for modules
    drivers/base/node.c: fix compaction sysfs file leak
    pinctrl: mvebu: Fix irq_of_parse_and_map() return value
    scsi: fcoe: Fix Wstringop-overflow warnings in fcoe_wwn_from_mac()
    mfd: ipaq-micro: Fix error check return value of platform_get_irq()
    ARM: dts: bcm2835-rpi-b: Fix GPIO line names
    ARM: dts: bcm2835-rpi-zero-w: Fix GPIO line name for Wifi/BT
    soc: qcom: smsm: Fix missing of_node_put() in smsm_parse_ipc
  * soc: qcom: smp2p: Fix missing of_node_put() in smp2p_parse_ipc
      drivers/soc/qcom/smp2p.c
    rxrpc: Don't try to resend the request if we're receiving the reply
    rxrpc: Fix listen() setting the bar too high for the prealloc rings
    ASoC: wm2000: fix missing clk_disable_unprepare() on error in wm2000_anc_transition()
  * sctp: read sk->sk_bound_dev_if once in sctp_rcv()
      net/sctp/input.c
    m68k: math-emu: Fix dependencies of math emulation support
  * Bluetooth: fix dangling sco_conn and use-after-free in sco_sock_timeout
      net/bluetooth/sco.c
    media: pvrusb2: fix array-index-out-of-bounds in pvr2_i2c_core_init
    media: exynos4-is: Change clk_disable to clk_disable_unprepare
    media: st-delta: Fix PM disable depth imbalance in delta_probe
    regulator: pfuze100: Fix refcount leak in pfuze_parse_regulators_dt
    ASoC: mxs-saif: Fix refcount leak in mxs_saif_probe
  * media: uvcvideo: Fix missing check to determine if element is found in list
      drivers/media/usb/uvc/uvc_v4l2.c
  * drm/msm: return an error pointer in msm_gem_prime_get_sg_table()
      drivers/gpu/drm/msm/msm_gem_prime.c
    x86/mm: Cleanup the control_va_addr_alignment() __setup handler
    irqchip/aspeed-i2c-ic: Fix irq_of_parse_and_map() return value
    x86: Fix return value of __setup handlers
    drm/rockchip: vop: fix possible null-ptr-deref in vop_bind()
    drm/msm/hdmi: check return value after calling platform_get_resource_byname()
    drm/msm/dsi: fix error checks and return values for DSI xmit functions
    x86/pm: Fix false positive kmemleak report in msr_build_context()
  * fsnotify: fix wrong lockdep annotations
      fs/notify/mark.c
  * inotify: show inotify mask flags in proc fdinfo
      fs/notify/fdinfo.c
      fs/notify/inotify/inotify.h
      fs/notify/inotify/inotify_user.c
    ath9k_htc: fix potential out of bounds access with invalid rxstatus->rs_keyix
    spi: img-spfi: Fix pm_runtime_get_sync() error checking
    HID: hid-led: fix maximum brightness for Dream Cheeky
  * efi: Add missing prototype for efi_capsule_setup_info
      include/linux/efi.h
    NFC: NULL out the dev->rfkill to prevent UAF
    spi: spi-ti-qspi: Fix return value handling of wait_for_completion_timeout
    drm/mediatek: Fix mtk_cec_mask()
    x86/delay: Fix the wrong asm constraint in delay_loop()
    ASoC: mediatek: Fix missing of_node_put in mt2701_wm8960_machine_probe
    ASoC: mediatek: Fix error handling in mt8173_max98090_dev_probe
    ath9k: fix ar9003_get_eepmisc
  * drm: fix EDID struct for old ARM OABI format
      include/drm/drm_edid.h
    RDMA/hfi1: Prevent panic when SDMA is disabled
  * macintosh/via-pmu: Fix build failure when CONFIG_INPUT is disabled
      drivers/macintosh/Kconfig
      drivers/macintosh/Makefile
    powerpc/xics: fix refcount leak in icp_opal_init()
  * tracing: incorrect isolate_mote_t cast in mm_vmscan_lru_isolate
      include/trace/events/vmscan.h
  * PCI: Avoid pci_dev_lock() AB/BA deadlock with sriov_numvfs_store()
      drivers/pci/pci.c
    ARM: hisi: Add missing of_node_put after of_find_compatible_node
    ARM: dts: exynos: add atmel,24c128 fallback to Samsung EEPROM
    ARM: versatile: Add missing of_node_put in dcscb_init
  * fat: add ratelimit to fat*_ent_bread()
      fs/fat/fatent.c
    ARM: OMAP1: clock: Fix UART rate reporting algorithm
    fs: jfs: fix possible NULL pointer dereference in dbFree()
    ARM: dts: ox820: align interrupt controller node name with dtschema
  * eth: tg3: silence the GCC 12 array-bounds warning
      drivers/net/ethernet/broadcom/Makefile
    rxrpc: Return an error to sendmsg if call failed
    media: exynos4-is: Fix compile warning
  * net: phy: micrel: Allow probing without .driver_data
      drivers/net/phy/micrel.c
    ASoC: rt5645: Fix errorenous cleanup order
    nvme-pci: fix a NULL pointer dereference in nvme_alloc_admin_tags
    openrisc: start CPU timer early in boot
    rtlwifi: Use pr_warn instead of WARN_ONCE
    ipmi:ssif: Check for NULL msg when handling events and messages
    dma-debug: change allocation mode from GFP_NOWAIT to GFP_ATIOMIC
    s390/preempt: disable __preempt_count_add() optimization for PROFILE_ALL_BRANCHES
  * ASoC: dapm: Don't fold register value changes into notifications
      sound/soc/soc-dapm.c
  * ipv6: Don't send rs packets to the interface of ARPHRD_TUNNEL
      net/ipv6/addrconf.c
    drm/amd/pm: fix the compile warning
    scsi: megaraid: Fix error check return value of register_chrdev()
    media: cx25821: Fix the warning when removing the module
    media: pci: cx23885: Fix the error handling in cx23885_initdev()
    media: venus: hfi: avoid null dereference in deinit
    ath9k: fix QCA9561 PA bias level
    drm/amd/pm: fix double free in si_parse_power_table()
  * ALSA: jack: Access input_dev under mutex
      include/sound/jack.h
      sound/core/jack.c
    ACPICA: Avoid cache flush inside virtual machines
    ipw2x00: Fix potential NULL dereference in libipw_xmit()
    b43: Fix assigning negative value to unsigned variable
    b43legacy: Fix assigning negative value to unsigned variable
    mwifiex: add mutex lock for call in mwifiex_dfs_chan_sw_work_queue
    drm/virtio: fix NULL pointer dereference in virtio_gpu_conn_get_modes
    btrfs: repair super block num_devices automatically
    btrfs: add "0x" prefix for unsupported optional features
  * ptrace: Reimplement PTRACE_KILL by always sending SIGKILL
      kernel/ptrace.c
  * ptrace/xtensa: Replace PT_SINGLESTEP with TIF_SINGLESTEP
      include/linux/ptrace.h
  * USB: new quirk for Dell Gen 2 devices
      drivers/usb/core/quirks.c
    USB: serial: option: add Quectel BG95 modem
    binfmt_flat: do not stop relocating GOT entries prematurely on riscv
  * BACKPORT: psi: Fix uaf issue when psi trigger is destroyed while being polled
      include/linux/psi.h
      include/linux/psi_types.h
      kernel/cgroup/cgroup.c
      kernel/sched/psi.c
  * FROMGIT: Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process"
      net/key/af_key.c
    ANDROID: android-verity: Prevent double-freeing metadata
    Merge 4.14.282 into android-4.14-stable
Linux 4.14.282
  * bpf: Enlarge offset check value to INT_MAX in bpf_skb_{load,store}_bytes
      net/core/filter.c
    NFSD: Fix possible sleep during nfsd4_release_lockowner()
    docs: submitting-patches: Fix crossref to 'The canonical patch format'
    tpm: ibmvtpm: Correct the return value in tpm_ibmvtpm_probe()
  * dm verity: set DM_TARGET_IMMUTABLE feature flag
      drivers/md/dm-verity-target.c
  * dm stats: add cond_resched when looping over entries
      drivers/md/dm-stats.c
  * dm crypt: make printing of the key constant-time
      drivers/md/dm-crypt.c
    dm integrity: fix error code in dm_integrity_ctr()
  * zsmalloc: fix races between asynchronous zspage free and page migration
      mm/zsmalloc.c
  * netfilter: conntrack: re-fetch conntrack after insertion
      include/net/netfilter/nf_conntrack_core.h
  * exec: Force single empty string when argv is empty
      fs/exec.c
  * block-map: add __GFP_ZERO flag for alloc_page in function bio_copy_kern
      block/bio.c
    drm/i915: Fix -Wstringop-overflow warning in call to intel_read_wm_latency()
  * assoc_array: Fix BUG_ON during garbage collect
      lib/assoc_array.c
    drivers: i2c: thunderx: Allow driver to work with ACPI defined TWSI controllers
    net: ftgmac100: Disable hardware checksum on AST2600
  * net: af_key: check encryption module availability consistency
      net/key/af_key.c
    ACPI: sysfs: Fix BERT error region memory mapping
    ACPI: sysfs: Make sparse happy about address space in use
  * secure_seq: use the 64 bits of the siphash for port offset calculation
      include/net/inet_hashtables.h
      include/net/secure_seq.h
      net/core/secure_seq.c
      net/ipv4/inet_hashtables.c
      net/ipv6/inet6_hashtables.c
  * tcp: change source port randomizarion at connect() time
      net/ipv4/inet_hashtables.c
    staging: rtl8723bs: prevent ->Ssid overflow in rtw_wx_set_scan()
    x86/pci/xen: Disable PCI/MSI[-X] masking for XEN_HVM guests

Bug: 237729727
Change-Id: I47053f037f09ce3b44fb4ca21dd80f8b6371d3aa
Signed-off-by: Lucas Wei <lucaswei@google.com>
2022-07-25 15:26:14 +08:00

275 lines
8.6 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0
#
# Makefile for some libs needed in the kernel.
#
ifdef CONFIG_FUNCTION_TRACER
ORIG_CFLAGS := $(KBUILD_CFLAGS)
KBUILD_CFLAGS = $(subst $(CC_FLAGS_FTRACE),,$(ORIG_CFLAGS))
endif
# These files are disabled because they produce lots of non-interesting and/or
# flaky coverage that is not a function of syscall inputs. For example,
# rbtree can be global and individual rotations don't correlate with inputs.
KCOV_INSTRUMENT_string.o := n
KCOV_INSTRUMENT_rbtree.o := n
KCOV_INSTRUMENT_list_debug.o := n
KCOV_INSTRUMENT_debugobjects.o := n
KCOV_INSTRUMENT_dynamic_debug.o := n
# Early boot use of cmdline, don't instrument it
ifdef CONFIG_AMD_MEM_ENCRYPT
KASAN_SANITIZE_string.o := n
ifdef CONFIG_FUNCTION_TRACER
CFLAGS_REMOVE_string.o = -pg
endif
CFLAGS_string.o := $(call cc-option, -fno-stack-protector)
endif
lib-y := ctype.o string.o vsprintf.o cmdline.o \
rbtree.o radix-tree.o dump_stack.o timerqueue.o\
idr.o int_sqrt.o extable.o \
sha1.o chacha.o irq_regs.o argv_split.o \
flex_proportions.o ratelimit.o show_mem.o \
is_single_threaded.o plist.o decompress.o kobject_uevent.o \
earlycpio.o seq_buf.o siphash.o \
nmi_backtrace.o nodemask.o win_minmax.o
lib-$(CONFIG_MMU) += ioremap.o
lib-$(CONFIG_SMP) += cpumask.o
lib-$(CONFIG_DMA_NOOP_OPS) += dma-noop.o
lib-$(CONFIG_DMA_VIRT_OPS) += dma-virt.o
lib-y += kobject.o klist.o
obj-y += lockref.o
KASAN_SANITIZE_find_bit.o := n
obj-y += bcd.o div64.o sort.o parser.o debug_locks.o random32.o \
bust_spinlocks.o kasprintf.o bitmap.o scatterlist.o \
gcd.o lcm.o list_sort.o uuid.o flex_array.o iov_iter.o clz_ctz.o \
bsearch.o find_bit.o llist.o memweight.o kfifo.o \
percpu-refcount.o percpu_ida.o rhashtable.o reciprocal_div.o \
once.o refcount.o usercopy.o errseq.o
obj-y += string_helpers.o
obj-$(CONFIG_TEST_STRING_HELPERS) += test-string_helpers.o
obj-y += hexdump.o
obj-$(CONFIG_TEST_HEXDUMP) += test_hexdump.o
obj-y += kstrtox.o
obj-$(CONFIG_TEST_BPF) += test_bpf.o
obj-$(CONFIG_TEST_FIRMWARE) += test_firmware.o
obj-$(CONFIG_TEST_SYSCTL) += test_sysctl.o
obj-$(CONFIG_TEST_HASH) += test_hash.o test_siphash.o
obj-$(CONFIG_TEST_KASAN) += test_kasan.o
CFLAGS_test_kasan.o += -fno-builtin
obj-$(CONFIG_TEST_KSTRTOX) += test-kstrtox.o
obj-$(CONFIG_TEST_LIST_SORT) += test_list_sort.o
obj-$(CONFIG_TEST_LKM) += test_module.o
obj-$(CONFIG_TEST_RHASHTABLE) += test_rhashtable.o
obj-$(CONFIG_TEST_SORT) += test_sort.o
obj-$(CONFIG_TEST_USER_COPY) += test_user_copy.o
obj-$(CONFIG_TEST_STATIC_KEYS) += test_static_keys.o
obj-$(CONFIG_TEST_STATIC_KEYS) += test_static_key_base.o
obj-$(CONFIG_TEST_PRINTF) += test_printf.o
obj-$(CONFIG_TEST_BITMAP) += test_bitmap.o
obj-$(CONFIG_TEST_UUID) += test_uuid.o
obj-$(CONFIG_TEST_PARMAN) += test_parman.o
obj-$(CONFIG_TEST_KMOD) += test_kmod.o
obj-$(CONFIG_TEST_DEBUG_VIRTUAL) += test_debug_virtual.o
obj-$(CONFIG_TEST_MEMCAT_P) += test_memcat_p.o
obj-$(CONFIG_TEST_OBJAGG) += test_objagg.o
CFLAGS_test_stackinit.o += $(call cc-disable-warning, switch-unreachable)
obj-$(CONFIG_TEST_STACKINIT) += test_stackinit.o
obj-$(CONFIG_TEST_MEMINIT) += test_meminit.o
ifeq ($(CONFIG_DEBUG_KOBJECT),y)
CFLAGS_kobject.o += -DDEBUG
CFLAGS_kobject_uevent.o += -DDEBUG
endif
obj-$(CONFIG_DEBUG_INFO_REDUCED) += debug_info.o
CFLAGS_debug_info.o += $(call cc-option, -femit-struct-debug-detailed=any)
obj-$(CONFIG_GENERIC_IOMAP) += iomap.o
obj-$(CONFIG_GENERIC_PCI_IOMAP) += pci_iomap.o
obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o
obj-$(CONFIG_CHECK_SIGNATURE) += check_signature.o
obj-$(CONFIG_DEBUG_LOCKING_API_SELFTESTS) += locking-selftest.o
obj-$(CONFIG_GENERIC_HWEIGHT) += hweight.o
obj-$(CONFIG_BTREE) += btree.o
obj-$(CONFIG_INTERVAL_TREE) += interval_tree.o
obj-$(CONFIG_ASSOCIATIVE_ARRAY) += assoc_array.o
obj-$(CONFIG_DEBUG_PREEMPT) += smp_processor_id.o
obj-$(CONFIG_DEBUG_LIST) += list_debug.o
obj-$(CONFIG_DEBUG_OBJECTS) += debugobjects.o
ifneq ($(CONFIG_HAVE_DEC_LOCK),y)
lib-y += dec_and_lock.o
endif
obj-$(CONFIG_BITREVERSE) += bitrev.o
obj-$(CONFIG_RATIONAL) += rational.o
obj-$(CONFIG_CRC_CCITT) += crc-ccitt.o
obj-$(CONFIG_CRC16) += crc16.o
obj-$(CONFIG_CRC_T10DIF)+= crc-t10dif.o
obj-$(CONFIG_CRC_ITU_T) += crc-itu-t.o
obj-$(CONFIG_CRC32) += crc32.o
obj-$(CONFIG_CRC32_SELFTEST) += crc32test.o
obj-$(CONFIG_CRC4) += crc4.o
obj-$(CONFIG_CRC7) += crc7.o
obj-$(CONFIG_LIBCRC32C) += libcrc32c.o
obj-$(CONFIG_CRC8) += crc8.o
obj-$(CONFIG_XXHASH) += xxhash.o
obj-$(CONFIG_GENERIC_ALLOCATOR) += genalloc.o
obj-$(CONFIG_842_COMPRESS) += 842/
obj-$(CONFIG_842_DECOMPRESS) += 842/
obj-$(CONFIG_ZLIB_INFLATE) += zlib_inflate/
obj-$(CONFIG_ZLIB_DEFLATE) += zlib_deflate/
obj-$(CONFIG_REED_SOLOMON) += reed_solomon/
obj-$(CONFIG_BCH) += bch.o
obj-$(CONFIG_LZO_COMPRESS) += lzo/
obj-$(CONFIG_LZO_DECOMPRESS) += lzo/
obj-$(CONFIG_LZ4_COMPRESS) += lz4/
obj-$(CONFIG_LZ4HC_COMPRESS) += lz4/
obj-$(CONFIG_LZ4_DECOMPRESS) += lz4/
obj-$(CONFIG_ZSTD_COMPRESS) += zstd/
obj-$(CONFIG_ZSTD_DECOMPRESS) += zstd/
obj-$(CONFIG_XZ_DEC) += xz/
obj-$(CONFIG_RAID6_PQ) += raid6/
lib-$(CONFIG_DECOMPRESS_GZIP) += decompress_inflate.o
lib-$(CONFIG_DECOMPRESS_BZIP2) += decompress_bunzip2.o
lib-$(CONFIG_DECOMPRESS_LZMA) += decompress_unlzma.o
lib-$(CONFIG_DECOMPRESS_XZ) += decompress_unxz.o
lib-$(CONFIG_DECOMPRESS_LZO) += decompress_unlzo.o
lib-$(CONFIG_DECOMPRESS_LZ4) += decompress_unlz4.o
obj-$(CONFIG_TEXTSEARCH) += textsearch.o
obj-$(CONFIG_TEXTSEARCH_KMP) += ts_kmp.o
obj-$(CONFIG_TEXTSEARCH_BM) += ts_bm.o
obj-$(CONFIG_TEXTSEARCH_FSM) += ts_fsm.o
obj-$(CONFIG_SMP) += percpu_counter.o
obj-$(CONFIG_AUDIT_GENERIC) += audit.o
obj-$(CONFIG_AUDIT_COMPAT_GENERIC) += compat_audit.o
obj-$(CONFIG_SWIOTLB) += swiotlb.o
obj-$(CONFIG_IOMMU_HELPER) += iommu-helper.o iommu-common.o
obj-$(CONFIG_FAULT_INJECTION) += fault-inject.o
obj-$(CONFIG_NOTIFIER_ERROR_INJECTION) += notifier-error-inject.o
obj-$(CONFIG_PM_NOTIFIER_ERROR_INJECT) += pm-notifier-error-inject.o
obj-$(CONFIG_NETDEV_NOTIFIER_ERROR_INJECT) += netdev-notifier-error-inject.o
obj-$(CONFIG_MEMORY_NOTIFIER_ERROR_INJECT) += memory-notifier-error-inject.o
obj-$(CONFIG_OF_RECONFIG_NOTIFIER_ERROR_INJECT) += \
of-reconfig-notifier-error-inject.o
lib-$(CONFIG_GENERIC_BUG) += bug.o
obj-$(CONFIG_HAVE_ARCH_TRACEHOOK) += syscall.o
obj-$(CONFIG_DYNAMIC_DEBUG) += dynamic_debug.o
obj-$(CONFIG_NLATTR) += nlattr.o
obj-$(CONFIG_LRU_CACHE) += lru_cache.o
obj-$(CONFIG_DMA_API_DEBUG) += dma-debug.o
obj-$(CONFIG_GENERIC_CSUM) += checksum.o
obj-$(CONFIG_GENERIC_ATOMIC64) += atomic64.o
obj-$(CONFIG_ATOMIC64_SELFTEST) += atomic64_test.o
obj-$(CONFIG_CPU_RMAP) += cpu_rmap.o
obj-$(CONFIG_CORDIC) += cordic.o
obj-$(CONFIG_DQL) += dynamic_queue_limits.o
obj-$(CONFIG_GLOB) += glob.o
obj-$(CONFIG_GLOB_SELFTEST) += globtest.o
obj-$(CONFIG_MPILIB) += mpi/
obj-$(CONFIG_SIGNATURE) += digsig.o
lib-$(CONFIG_CLZ_TAB) += clz_tab.o
obj-$(CONFIG_DDR) += jedec_ddr_data.o
obj-$(CONFIG_GENERIC_STRNCPY_FROM_USER) += strncpy_from_user.o
obj-$(CONFIG_GENERIC_STRNLEN_USER) += strnlen_user.o
obj-$(CONFIG_GENERIC_NET_UTILS) += net_utils.o
obj-$(CONFIG_SG_SPLIT) += sg_split.o
obj-$(CONFIG_SG_POOL) += sg_pool.o
obj-$(CONFIG_STMP_DEVICE) += stmp_device.o
obj-$(CONFIG_IRQ_POLL) += irq_poll.o
obj-$(CONFIG_STACKDEPOT) += stackdepot.o
KASAN_SANITIZE_stackdepot.o := n
KCOV_INSTRUMENT_stackdepot.o := n
libfdt_files = fdt.o fdt_ro.o fdt_wip.o fdt_rw.o fdt_sw.o fdt_strerror.o \
fdt_empty_tree.o
$(foreach file, $(libfdt_files), \
$(eval CFLAGS_$(file) = -I$(src)/../scripts/dtc/libfdt))
lib-$(CONFIG_LIBFDT) += $(libfdt_files)
obj-$(CONFIG_RBTREE_TEST) += rbtree_test.o
obj-$(CONFIG_INTERVAL_TREE_TEST) += interval_tree_test.o
obj-$(CONFIG_PERCPU_TEST) += percpu_test.o
obj-$(CONFIG_ASN1) += asn1_decoder.o
obj-$(CONFIG_FONT_SUPPORT) += fonts/
obj-$(CONFIG_PRIME_NUMBERS) += prime_numbers.o
hostprogs-y := gen_crc32table
clean-files := crc32table.h
$(obj)/crc32.o: $(obj)/crc32table.h
quiet_cmd_crc32 = GEN $@
cmd_crc32 = $< > $@
$(obj)/crc32table.h: $(obj)/gen_crc32table
$(call cmd,crc32)
#
# Build a fast OID lookip registry from include/linux/oid_registry.h
#
obj-$(CONFIG_OID_REGISTRY) += oid_registry.o
$(obj)/oid_registry.o: $(obj)/oid_registry_data.c
$(obj)/oid_registry_data.c: $(srctree)/include/linux/oid_registry.h \
$(src)/build_OID_registry
$(call cmd,build_OID_registry)
quiet_cmd_build_OID_registry = GEN $@
cmd_build_OID_registry = perl $(srctree)/$(src)/build_OID_registry $< $@
clean-files += oid_registry_data.c
obj-$(CONFIG_UCS2_STRING) += ucs2_string.o
ifneq ($(CONFIG_UBSAN_TRAP),y)
obj-$(CONFIG_UBSAN) += ubsan.o
endif
UBSAN_SANITIZE_ubsan.o := n
KASAN_SANITIZE_ubsan.o := n
CFLAGS_ubsan.o := $(call cc-option, -fno-stack-protector) $(DISABLE_STACKLEAK_PLUGIN)
obj-$(CONFIG_SBITMAP) += sbitmap.o
obj-$(CONFIG_PARMAN) += parman.o
obj-y += crypto/