Files
kernel_google_redbull/Documentation/sysctl/kernel.txt
Wilson Sung 63376759a1 Merge android-4.19-stable (4.19.272) into android-msm-pixel-4.19-lts
Merge 4.19.272 into android-4.19-stable
Linux 4.19.272
  * usb: host: xhci-plat: add wakeup entry at sysfs
      drivers/usb/host/xhci-plat.c
  * ipv6: ensure sane device mtu in tunnels
      net/ipv6/ip6_tunnel.c
      net/ipv6/sit.c
  * exit: Use READ_ONCE() for all oops/warn limit reads
      kernel/exit.c
      kernel/panic.c
    docs: Fix path paste-o for /sys/kernel/warn_count
  * panic: Expose "warn_count" to sysfs
      kernel/panic.c
  * panic: Introduce warn_limit
      kernel/panic.c
  * panic: Consolidate open-coded panic_on_warn checks
      include/linux/kernel.h
      kernel/panic.c
      kernel/sched/core.c
  * exit: Allow oops_limit to be disabled
      kernel/exit.c
  * exit: Expose "oops_count" to sysfs
      kernel/exit.c
  * exit: Put an upper limit on how often we can oops
      kernel/exit.c
    ia64: make IA64_MCA_RECOVERY bool instead of tristate
    h8300: Fix build errors from do_exit() to make_task_dead() transition
    hexagon: Fix function name in die()
    objtool: Add a missing comma to avoid string concatenation
  * exit: Add and use make_task_dead.
      arch/arm64/kernel/traps.c
      arch/arm64/mm/fault.c
      include/linux/sched/task.h
      kernel/exit.c
  * panic: unset panic_on_warn inside panic()
      kernel/panic.c
  * sysctl: add a new register_sysctl_init() interface
      fs/proc/proc_sysctl.c
      include/linux/sysctl.h
    dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init
    ARM: dts: imx: Fix pca9547 i2c-mux node name
    x86/entry/64: Add instruction suffix to SYSRET
    x86/asm: Fix an assembler warning with current binutils
    drm/i915/display: fix compiler warning about array overrun
    x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL
    Revert "Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI mode"
    net/tg3: resolve deadlock in tg3_reset_task() during EEH
    net: ravb: Fix possible hang if RIS2_QFF1 happen
  * sctp: fail if no bound addresses can be used for a given scope
      net/sctp/bind_addr.c
    netrom: Fix use-after-free of a listening socket.
  * netfilter: conntrack: fix vtag checks for ABORT/SHUTDOWN_COMPLETE
      net/netfilter/nf_conntrack_proto_sctp.c
  * ipv4: prevent potential spectre v1 gadget in ip_metrics_convert()
      net/ipv4/metrics.c
  * netlink: annotate data races around sk_state
      net/netlink/af_netlink.c
  * netlink: annotate data races around dst_portid and dst_group
      net/netlink/af_netlink.c
  * netlink: annotate data races around nlk->portid
      net/netlink/af_netlink.c
  * netlink: remove hash::nelems check in netlink_insert
      net/netlink/af_netlink.c
    netfilter: nft_set_rbtree: skip elements in transaction from garbage collection
  * net: fix UaF in netns ops registration error path
      net/core/net_namespace.c
  * EDAC/device: Respect any driver-supplied workqueue polling value
      drivers/edac/edac_device.c
    ARM: 9280/1: mm: fix warning on phys_addr_t to void pointer assignment
    cifs: Fix oops due to uncleared server->smbd_conn in reconnect
    smbd: Make upper layer decide when to destroy the transport
    trace_events_hist: add check for return value of 'create_hist_field'
  * tracing: Make sure trace_printk() can output as soon as it can be used
      kernel/trace/trace.c
      kernel/trace/trace.h
      kernel/trace/trace_output.c
  * module: Don't wait for GOING modules
      kernel/module.c
    scsi: hpsa: Fix allocation size for scsi_host_alloc()
  * Bluetooth: hci_sync: cancel cmd_timer if hci_open failed
      net/bluetooth/hci_core.c
    fs: reiserfs: remove useless new_opts in reiserfs_remount
    perf env: Do not return pointers to local variables
  * block: fix and cleanup bio_check_ro
      block/blk-core.c
  * netfilter: conntrack: do not renew entry stuck in tcp SYN_SENT state
      net/netfilter/nf_conntrack_proto_tcp.c
    w1: fix WARNING after calling w1_process()
    w1: fix deadloop in __w1_remove_master_device()
  * tcp: avoid the lookup process failing to get sk in ehash table
      net/ipv4/inet_hashtables.c
      net/ipv4/inet_timewait_sock.c
    dmaengine: xilinx_dma: call of_node_put() when breaking out of for_each_child_of_node()
    dmaengine: xilinx_dma: Fix devm_platform_ioremap_resource error handling
    dmaengine: xilinx_dma: program hardware supported buffer length
    dmaengine: xilinx_dma: commonize DMA copy size calculation
    HID: betop: check shape of output reports
    net: macb: fix PTP TX timestamp failure due to packet padding
  * dmaengine: Fix double increment of client_count in dma_chan_get()
      drivers/dma/dmaengine.c
    net: mlx5: eliminate anonymous module_init & module_exit
  * usb: gadget: f_fs: Ensure ep0req is dequeued before free_request
      drivers/usb/gadget/function/f_fs.c
  * usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait
      drivers/usb/gadget/function/f_fs.c
  * HID: check empty report_list in hid_validate_values()
      drivers/hid/hid-core.c
  * net: mdio: validate parameter addr in mdiobus_get_phy()
      drivers/net/phy/mdio_bus.c
    net: usb: sr9700: Handle negative len
    wifi: rndis_wlan: Prevent buffer overflow in rndis_query_oid
    net: nfc: Fix use-after-free in local_cleanup()
    phy: rockchip-inno-usb2: Fix missing clk_disable_unprepare() in rockchip_usb2phy_power_on()
  * bpf: Fix pointer-leak due to insufficient speculative store bypass mitigation
      kernel/bpf/verifier.c
    amd-xgbe: Delay AN timeout during KR training
    amd-xgbe: TX Flow Ctrl Registers are h/w ver dependent
    affs: initialize fsdata in affs_truncate()
    IB/hfi1: Fix expected receive setup error exit issues
    IB/hfi1: Reserve user expected TIDs
    IB/hfi1: Reject a zero-length user expected buffer
    tomoyo: fix broken dependency on *.conf.default
    EDAC/highbank: Fix memory leak in highbank_mc_probe()
    HID: intel_ish-hid: Add check for ishtp_dma_tx_map
    ARM: dts: imx6qdl-gw560x: Remove incorrect 'uart-has-rtscts'
    UPSTREAM: tcp: fix tcp_rmem documentation
  * UPSTREAM: nvmem: core: skip child nodes not matching binding
      drivers/nvmem/core.c
  * BACKPORT: nvmem: core: Fix a resource leak on error in nvmem_add_cells_from_of()
      drivers/nvmem/core.c
  * UPSTREAM: sched/eas: Don't update misfit status if the task is pinned
      kernel/sched/fair.c
  * BACKPORT: arm64: link with -z norelro for LLD or aarch64-elf
      arch/arm64/Makefile
  * UPSTREAM: driver: core: Fix list corruption after device_del()
      drivers/base/core.c
  * UPSTREAM: coresight: tmc-etr: Fix barrier packet insertion for perf buffer
      drivers/hwtracing/coresight/coresight-tmc-etr.c
  * UPSTREAM: f2fs: fix double free of unicode map
      fs/f2fs/super.c
  * BACKPORT: net: xfrm: fix memory leak in xfrm_user_policy()
      net/xfrm/xfrm_state.c
    UPSTREAM: xfrm/compat: Don't allocate memory with __GFP_ZERO
    UPSTREAM: xfrm/compat: memset(0) 64-bit padding at right place
    UPSTREAM: xfrm/compat: Translate by copying XFRMA_UNSPEC attribute
  * UPSTREAM: scsi: ufs: Fix missing brace warning for old compilers
      drivers/scsi/ufs/ufshcd-crypto.c
  * UPSTREAM: arm64: vdso32: make vdso32 install conditional
      arch/arm64/Makefile
  * UPSTREAM: loop: unset GENHD_FL_NO_PART_SCAN on LOOP_CONFIGURE
      drivers/block/loop.c
    BACKPORT: drm/virtio: fix missing dma_fence_put() in virtio_gpu_execbuffer_ioctl()
  * BACKPORT: sched/uclamp: Protect uclamp fast path code with static key
      kernel/sched/core.c
      kernel/sched/cpufreq_schedutil.c
      kernel/sched/sched.h
  * BACKPORT: sched/uclamp: Fix initialization of struct uclamp_rq
      kernel/sched/core.c
  * UPSTREAM: coresight: etmv4: Fix CPU power management setup in probe() function
      drivers/hwtracing/coresight/coresight-etm4x.c
  * UPSTREAM: arm64: vdso: Add --eh-frame-hdr to ldflags
      arch/arm64/kernel/vdso/Makefile
  * BACKPORT: arm64: vdso: Add '-Bsymbolic' to ldflags
      arch/arm64/kernel/vdso/Makefile
    UPSTREAM: drm/virtio: fix a wait_event condition
  * BACKPORT: sched/topology: Don't try to build empty sched domains
      kernel/cgroup/cpuset.c
      kernel/sched/topology.c
  * BACKPORT: binder: prevent UAF read in print_binder_transaction_log_entry()
      drivers/android/binder.c
      drivers/android/binder_internal.h
  * BACKPORT: copy_process(): don't use ksys_close() on cleanups
      kernel/fork.c
  * BACKPORT: arm64: vdso: Remove unnecessary asm-offsets.c definitions
      arch/arm64/kernel/asm-offsets.c
  * UPSTREAM: locking/lockdep, cpu/hotplug: Annotate AP thread
      kernel/cpu.c
  * Revert "xhci: Add a flag to disable USB3 lpm on a xhci root port level."
      drivers/usb/host/xhci.c
      drivers/usb/host/xhci.h
    Merge 4.19.271 into android-4.19-stable
    BACKPORT: mac80211_hwsim: add concurrent channels scanning support over virtio
  * BACKPORT: mac80211_hwsim: add frame transmission support over virtio This allows communication with external entities.
      include/uapi/linux/virtio_ids.h
  * BACKPORT: driver core: Skip unnecessary work when device doesn't have sync_state()
      drivers/base/core.c
Linux 4.19.271
    x86/fpu: Use _Alignof to avoid undefined behavior in TYPE_ALIGN
  * Revert "ext4: generalize extents status tree search functions"
      fs/ext4/ext4.h
      fs/ext4/extents.c
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/inode.c
      include/trace/events/ext4.h
  * Revert "ext4: add new pending reservation mechanism"
      fs/ext4/ext4.h
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/super.c
  * Revert "ext4: fix reserved cluster accounting at delayed write time"
      fs/ext4/ext4.h
      fs/ext4/extents.c
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/inode.c
      include/trace/events/ext4.h
  * Revert "ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline"
      fs/ext4/extents.c
    gsmi: fix null-deref in gsmi_get_variable
    serial: atmel: fix incorrect baudrate setup
    serial: pch_uart: Pass correct sg to dma_unmap_sg()
    usb-storage: apply IGNORE_UAS only for HIKSEMI MD202 on RTL9210
  * usb: gadget: f_ncm: fix potential NULL ptr deref in ncm_bitrate()
      drivers/usb/gadget/function/f_ncm.c
    usb: gadget: g_webcam: Send color matching descriptor per frame
    usb: typec: altmodes/displayport: Fix pin assignment calculation
    usb: typec: altmodes/displayport: Add pin assignment helper
    usb: host: ehci-fsl: Fix module alias
    USB: serial: cp210x: add SCALANCE LPE-9000 device id
    cifs: do not include page data when checking signature
    mmc: sunxi-mmc: Fix clock refcount imbalance during unbind
    comedi: adv_pci1760: Fix PWM instruction handling
  * usb: core: hub: disable autosuspend for TI TUSB8041
      drivers/usb/core/hub.c
    USB: misc: iowarrior: fix up header size for USB_DEVICE_ID_CODEMERCS_IOW100
    USB: serial: option: add Quectel EM05CN modem
    USB: serial: option: add Quectel EM05CN (SG) modem
    USB: serial: option: add Quectel EC200U modem
    USB: serial: option: add Quectel EM05-G (RS) modem
    USB: serial: option: add Quectel EM05-G (CS) modem
    USB: serial: option: add Quectel EM05-G (GR) modem
  * prlimit: do_prlimit needs to have a speculation check
      kernel/sys.c
  * xhci: Add a flag to disable USB3 lpm on a xhci root port level.
      drivers/usb/host/xhci.c
      drivers/usb/host/xhci.h
  * xhci: Fix null pointer dereference when host dies
      drivers/usb/host/xhci.c
  * usb: xhci: Check endpoint is valid before dereferencing it
      drivers/usb/host/xhci-ring.c
  * xhci-pci: set the dma max_seg_size
      drivers/usb/host/xhci-pci.c
    nilfs2: fix general protection fault in nilfs_btree_insert()
    Add exception protection processing for vd in axi_chan_handle_err function
  * f2fs: let's avoid panic if extent_tree is not created
      fs/f2fs/extent_cache.c
    RDMA/srp: Move large values to a new enum for gcc13
  * net/ethtool/ioctl: return -EOPNOTSUPP if we have no phy stats
      net/core/ethtool.c
    pNFS/filelayout: Fix coalescing test for single DS
  * ANDROID: usb: f_accessory: Check buffer size when initialised via composite
      drivers/usb/gadget/configfs.c
      drivers/usb/gadget/function/f_accessory.c
    Merge 4.19.270 into android-4.19-stable
Linux 4.19.270
    serial: tegra: Change lower tolerance baud rate limit for tegra20 and tegra30
    serial: tegra: Only print FIFO error message when an error occurs
    tty: serial: tegra: Handle RX transfer in PIO mode if DMA wasn't started
    Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout"
    efi: fix NULL-deref in init error path
  * arm64: cmpxchg_double*: hazard against entire exchange variable
      arch/arm64/include/asm/atomic_ll_sc.h
      arch/arm64/include/asm/atomic_lse.h
    drm/virtio: Fix GEM handle creation UAF
    x86/resctrl: Fix task CLOSID/RMID update race
    x86/resctrl: Use task_curr() instead of task_struct->on_cpu to prevent unnecessary IPI
    iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe()
    iommu/mediatek-v1: Add error handle for mtk_iommu_probe
    net/mlx5: Fix ptp max frequency adjustment range
    net/mlx5: Rename ptp clock info
    nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame()
    hvc/xen: lock console list traversal
    regulator: da9211: Use irq handler when ready
  * EDAC/device: Fix period calculation in edac_device_reset_delay_period()
      drivers/edac/edac_device.c
      drivers/edac/edac_module.h
    x86/boot: Avoid using Intel mnemonics in AT&T syntax asm
    netfilter: ipset: Fix overflow before widen in the bitmap_ip_create() function.
  * ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline
      fs/ext4/exten Conflicts:
	drivers/edac/edac_device.c
	drivers/hwtracing/coresight/coresight-etm4x.c
	drivers/usb/core/hub.c
	drivers/usb/gadget/function/f_fs.c
	drivers/usb/gadget/function/f_hid.c
	kernel/panic.c
	mm/kasan/report.cts.c
  * ext4: fix reserved cluster accounting at delayed write time
      fs/ext4/ext4.h
      fs/ext4/extents.c
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/inode.c
      include/trace/events/ext4.h
  * ext4: add new pending reservation mechanism
      fs/ext4/ext4.h
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/super.c
  * ext4: generalize extents status tree search functions
      fs/ext4/ext4.h
      fs/ext4/extents.c
      fs/ext4/extents_status.c
      fs/ext4/extents_status.h
      fs/ext4/inode.c
      include/trace/events/ext4.h
  * ext4: fix uninititialized value in 'ext4_evict_inode'
      fs/ext4/super.c
  * ext4: fix use-after-free in ext4_orphan_cleanup
      fs/ext4/inode.c
  * ext4: lost matching-pair of trace in ext4_truncate
      fs/ext4/inode.c
  * ext4: fix bug_on in __es_tree_search caused by bad quota inode
      fs/quota/dquot.c
  * quota: Factor out setup of quota inode
      fs/quota/dquot.c
      include/linux/quotaops.h
    usb: ulpi: defer ulpi_register on ulpi_read_id timeout
    kest.pl: Fix grub2 menu handling for rebooting
    ktest.pl: Fix incorrect reboot for grub2bls
    ktest: introduce grub2bls REBOOT_TYPE option
    ktest: cleanup get_grub_index
    ktest: introduce _get_grub_index
    ktest: Add support for meta characters in GRUB_MENU
    ALSA: hda/hdmi: fix failures at PCM open on Intel ICL and later
    wifi: wilc1000: sdio: fix module autoloading
  * ipv6: raw: Deduct extension header length in rawv6_push_pending_frames
      net/ipv6/raw.c
    platform/x86: sony-laptop: Don't turn off 0x153 keyboard backlight during probe
    cifs: Fix uninitialized memory read for smb311 posix symlink create
  * ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF
      sound/core/control_compat.c
  * net/ulp: prevent ULP without clone op from entering the LISTEN status
      net/ipv4/inet_connection_sock.c
    s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple()
    perf auxtrace: Fix address filter duplicate symbol selection
    docs: Fix the docs build with Sphinx 6.0
  * net: sched: disallow noqueue for qdisc classes
      net/sched/sch_api.c
  * driver core: Fix bus_type.match() error handling in __driver_attach()
      drivers/base/dd.c
    parisc: Align parisc MADV_XXX constants with all other architectures
  * mbcache: Avoid nesting of cache->c_list_lock under bit locks
      fs/mbcache.c
    hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling
    hfs/hfsplus: use WARN_ON for sanity check
  * ext4: don't allow journal inode to have encrypt flag
      fs/ext4/super.c
    riscv: uaccess: fix type of 0 variable on error in get_user()
    nfsd: fix handling of readdir in v4root vs. mount upcall timeout
    x86/bugs: Flush IBP in ib_prctl_set()
    ASoC: Intel: bytcr_rt5640: Add quirk for the Advantech MICA-071 tablet
    udf: Fix extension of the last extent in the file
    caif: fix memory leak in cfctrl_linkup_request()
    usb: rndis_host: Secure rndis_query check against int overflow
    net: sched: atm: dont intepret cls results when asked to drop
    RDMA/mlx5: Fix validation of max_rd_atomic caps for DC
    net: phy: xgmiitorgmii: Fix refcount leak in xgmiitorgmii_probe
    net: amd-xgbe: add missed tasklet_kill
    nfc: Fix potential resource leaks
    qlcnic: prevent ->dcb use-after-free on qlcnic_dcb_enable() failure
  * bpf: pull before calling skb_postpull_rcsum()
      net/core/filter.c
  * SUNRPC: ensure the matching upcall is in-flight upon downcall
      include/linux/sunrpc/rpc_pipe_fs.h
  * ext4: fix deadlock due to mbcache entry corruption
      fs/ext4/xattr.c
      fs/mbcache.c
      include/linux/mbcache.h
  * mbcache: automatically delete entries from cache on freeing
      fs/mbcache.c
      include/linux/mbcache.h
  * ext4: fix race when reusing xattr blocks
      fs/ext4/xattr.c
  * ext4: unindent codeblock in ext4_xattr_block_set()
      fs/ext4/xattr.c
  * ext4: remove EA inode entry from mbcache on inode eviction
      fs/ext4/inode.c
      fs/ext4/xattr.c
      fs/ext4/xattr.h
  * mbcache: add functions to delete entry if unused
      fs/mbcache.c
      include/linux/mbcache.h
  * mbcache: don't reclaim used entries
      fs/mbcache.c
  * ext4: use kmemdup() to replace kmalloc + memcpy
      fs/ext4/xattr.c
  * ext4: correct inconsistent error msg in nojournal mode
      fs/ext4/super.c
  * ext4: goto right label 'failed_mount3a'
      fs/ext4/super.c
  * driver core: Set deferred_probe_timeout to a longer default if CONFIG_MODULES is set
      drivers/base/dd.c
    ravb: Fix "failed to switch device to config mode" message during unbind
    perf probe: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged data
    perf probe: Use dwarf_attr_integrate as generic DWARF attr accessor
    dm thin: resume even if in FAIL mode
    media: s5p-mfc: Fix in register read and write for H264
    media: s5p-mfc: Clear workbit to handle error condition
    media: s5p-mfc: Fix to handle reference queue during finishing
    btrfs: replace strncpy() with strscpy()
    btrfs: send: avoid unnecessary backref lookups when finding clone source
  * ext4: allocate extended attribute value in vmalloc area
      fs/ext4/xattr.c
  * ext4: avoid unaccounted block allocation when expanding inode
      fs/ext4/inode.c
  * ext4: initialize quota before expanding inode in setproject ioctl
      fs/ext4/ioctl.c
  * ext4: fix inode leak in ext4_xattr_inode_create() on an error path
      fs/ext4/xattr.c
  * ext4: avoid BUG_ON when creating xattrs
      fs/ext4/xattr.c
  * ext4: fix error code return to user-space in ext4_get_branch()
      fs/ext4/indirect.c
  * ext4: fix corruption when online resizing a 1K bigalloc fs
      fs/ext4/resize.c
  * ext4: init quota for 'old.inode' in 'ext4_rename'
      fs/ext4/namei.c
  * ext4: fix bug_on in __es_tree_search caused by bad boot loader inode
      fs/ext4/ioctl.c
  * ext4: add helper to check quota inums
      fs/ext4/super.c
  * ext4: fix undefined behavior in bit shift for ext4_check_flag_values
      fs/ext4/ext4.h
  * ext4: add inode table check in __ext4_get_inode_loc to aovid possible infinite loop
      fs/ext4/inode.c
    drm/vmwgfx: Validate the box size for the snooped cursor
  * drm/connector: send hotplug uevent on connector cleanup
      drivers/gpu/drm/drm_connector.c
    device_cgroup: Roll back to original exceptions after copy failure
    parisc: led: Fix potential null-ptr-deref in start_task()
    iommu/amd: Fix ivrs_acpihid cmdline parsing code
    crypto: n2 - add missing hash statesize
  * PCI/sysfs: Fix double free in error path
      drivers/pci/pci-sysfs.c
  * PCI: Fix pci_device_is_present() for VFs by checking PF
      drivers/pci/pci.c
    ipmi: fix use after free in _ipmi_destroy_user()
    ima: Fix a potential NULL pointer access in ima_restore_measurement_list
    ipmi: fix long wait in unload when IPMI disconnect
    md/bitmap: Fix bitmap chunk size overflow issues
    cifs: fix confusing debug message
    media: dvb-core: Fix UAF due to refcount races at releasing
    media: dvb-core: Fix double free in dvb_register_device()
    ARM: 9256/1: NWFPE: avoid compiler-generated __aeabi_uldivmod
  * tracing: Fix infinite loop in tracing_read_pipe on overflowed print_trace_line
      kernel/trace/trace.c
    x86/microcode/intel: Do not retry microcode reloading on the APs
    dm cache: set needs_check flag after aborting metadata
    dm cache: Fix UAF in destroy()
    dm thin: Fix UAF in run_timer_softirq()
    dm thin: Use last transaction's pmd->root when commit failed
    dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort
    binfmt: Fix error return code in load_elf_fdpic_binary()
    binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf
    selftests: Use optional USERCFLAGS and USERLDFLAGS
    ARM: ux500: do not directly dereference __iomem
    ktest.pl minconfig: Unset configs instead of just removing them
  * soc: qcom: Select REMAP_MMIO for LLCC driver
      drivers/soc/qcom/Kconfig
    media: stv0288: use explicitly signed char
    SUNRPC: Don't leak netobj memory when gss_read_proxy_verf() fails
    tpm: tpm_tis: Add the missed acpi_put_table() to fix memory leak
    tpm: tpm_crb: Add the missed acpi_put_table() to fix memory leak
    mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING
    md: fix a crash in mempool_free
  * pnode: terminate at peers of source
      fs/pnode.c
    ALSA: line6: fix stack overflow in line6_midi_transmit
    ALSA: line6: correct midi status byte when receiving data from podxt
  * ovl: Use ovl mounter's fsuid and fsgid in ovl_link()
      fs/overlayfs/dir.c
    hfsplus: fix bug causing custom uid and gid being unable to be assigned with mount
  * HID: plantronics: Additional PIDs for double volume key presses quirk
      drivers/hid/hid-ids.h
      drivers/hid/hid-plantronics.c
    powerpc/rtas: avoid scheduling in rtas_os_term()
    powerpc/rtas: avoid device tree lookups in rtas_os_term()
    ata: ahci: Fix PCS quirk application for suspend
    media: dvbdev: fix refcnt bug
  * media: dvbdev: fix build warning due to comments
      include/media/dvbdev.h
    gcov: add support for checksum field
    iio: adc: ad_sigma_delta: do not use internal iio_dev lock
    reiserfs: Add missing calls to reiserfs_security_free()
  * HID: wacom: Ensure bootloader PID is usable in hidraw mode
      drivers/hid/wacom_sys.c
      drivers/hid/wacom_wac.c
      drivers/hid/wacom_wac.h
  * usb: dwc3: core: defer probe on ulpi_read_id timeout
      drivers/usb/dwc3/core.c
  * pstore: Make sure CONFIG_PSTORE_PMSG selects CONFIG_RT_MUTEXES
      fs/pstore/Kconfig
  * pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion
      fs/pstore/pmsg.c
    ASoC: rt5670: Remove unbalanced pm_runtime_put()
    ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in rk_spdif_runtime_resume()
    ASoC: wm8994: Fix potential deadlock
    ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in rockchip_pdm_runtime_resume()
    ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in mt8173_rt5650_rt5514_dev_probe()
    orangefs: Fix kmemleak in orangefs_prepare_debugfs_help_string()
    drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()
    drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid()
    clk: st: Fix memory leak in st_of_quadfs_setup()
    media: si470x: Fix use-after-free in si470x_int_in_callback()
    mmc: f-sdh30: Add quirks for broken timeout clock capability
  * regulator: core: fix use_count leakage when handling boot-on
      drivers/regulator/core.c
  * blk-mq: fix possible memleak when register 'hctx' failed
      block/blk-mq-sysfs.c
    media: dvb-usb: fix memory leak in dvb_usb_adapter_init()
  * media: dvbdev: adopts refcnt to avoid UAF
      include/media/dvbdev.h
    media: dvb-frontends: fix leak of memory fw
  * ppp: associate skb with a device at tx
      drivers/net/ppp/ppp_generic.c
  * mrp: introduce active flags to prevent UAF when applicant uninit
      include/net/mrp.h
    md/raid1: stop mdx_raid1 thread when raid1 array run failed
    drivers/md/md-bitmap: check the return value of md_bitmap_get_counter()
    drm/sti: Use drm_mode_copy()
    s390/lcs: Fix return type of lcs_start_xmit()
    s390/netiucv: Fix return type of netiucv_tx()
    s390/ctcm: Fix return type of ctc{mp,}m_tx()
    drm/amdgpu: Fix type of second parameter in trans_msg() callback
    igb: Do not free q_vector unless new one was allocated
    wifi: brcmfmac: Fix potential shift-out-of-bounds in brcmf_fw_alloc_request()
    hamradio: baycom_epp: Fix return type of baycom_send_packet()
    net: ethernet: ti: Fix return type of netcp_ndo_start_xmit()
  * bpf: make sure skb->len != 0 when redirecting to a tunneling device
      net/core/filter.c
    ipmi: fix memleak when unload ipmi driver
    ASoC: codecs: rt298: Add quirk for KBL-R RVP platform
    wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out
    wifi: ath9k: verify the expected usb_endpoints are present
    hfs: fix OOB Read in __hfs_brec_find
    acct: fix potential integer overflow in encode_comp_t()
    nilfs2: fix shift-out-of-bounds/overflow in nilfs_sb2_bad_offset()
    ACPICA: Fix error code path in acpi_ds_call_control_method()
    fs: jfs: fix shift-out-of-bounds in dbDiscardAG
    udf: Avoid double brelse() in udf_rename()
    fs: jfs: fix shift-out-of-bounds in dbAllocAG
    binfmt_misc: fix shift-out-of-bounds in check_special_flags
  * net: stream: purge sk_error_queue in sk_stream_kill_queues()
      net/core/stream.c
    myri10ge: Fix an error handling path in myri10ge_probe()
    rxrpc: Fix missing unlock in rxrpc_do_sendmsg()
  * net_sched: reject TCF_EM_SIMPLE case for complex ematch module
      net/sched/ematch.c
  * skbuff: Account for tail adjustment during pull operations
      net/core/skbuff.c
    openvswitch: Fix flow lookup to use unmasked key
    rtc: mxc_v2: Add missing clk_disable_unprepare()
    r6040: Fix kmemleak in probe and remove
    nfc: pn533: Clear nfc_target before being used
    mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
    mISDN: hfcpci: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
    mISDN: hfcsusb: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
    nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure
    rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe()
    selftests/powerpc: Fix resource leaks
    powerpc/hv-gpci: Fix hv_gpci event list
    powerpc/83xx/mpc832x_rdb: call platform_device_put() in error case in of_fsl_spi_probe()
    powerpc/perf: callchain validate kernel stack pointer bounds
    powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data()
    cxl: Fix refcount leak in cxl_calc_capp_routing
    powerpc/52xx: Fix a resource leak in an error handling path
    macintosh/macio-adb: check the return value of ioremap()
    macintosh: fix possible memory leak in macio_add_one_device()
    iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe()
    iommu/amd: Fix pci device refcount leak in ppr_notifier()
    rtc: snvs: Allow a time difference on clock register read
  * include/uapi/linux/swab: Fix potentially missing __always_inline
      include/uapi/linux/swab.h
    HSI: omap_ssi_core: Fix error handling in ssi_init()
    perf symbol: correction while adjusting symbol
  * power: supply: fix residue sysfs file in error handle route of __power_supply_register()
      drivers/power/supply/power_supply_core.c
    HSI: omap_ssi_core: fix possible memory leak in ssi_probe()
    HSI: omap_ssi_core: fix unbalanced pm_runtime_disable()
    fbdev: uvesafb: Fixes an error handling path in uvesafb_probe()
    fbdev: vermilion: decrease reference count in error path
    fbdev: via: Fix error in via_core_init()
    fbdev: pm2fb: fix missing pci_disable_device()
  * fbdev: ssd1307fb: Drop optional dependency
      drivers/video/fbdev/Kconfig
    samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe()
    tracing/hist: Fix issue of losting command info in error_log
    usb: storage: Add check for kcalloc
    i2c: ismt: Fix an out-of-bounds bug in ismt_access()
    vme: Fix error not catched in fake_init()
    staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor()
    staging: rtl8192u: Fix use after free in ieee80211_rx()
    i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe
  * chardev: fix error handling in cdev_device_add()
      fs/char_dev.c
    mcb: mcb-parse: fix error handing in chameleon_parse_gdd()
    drivers: mcb: fix resource leak in mcb_probe()
  * usb: gadget: f_hid: fix refcount leak on error path
      drivers/usb/gadget/function/f_hid.c
  * usb: gadget: f_hid: fix f_hidg lifetime vs cdev
      drivers/usb/gadget/function/f_hid.c
  * usb: gadget: f_hid: optional SETUP/SET_REPORT mode
      drivers/usb/gadget/function/f_hid.c
      drivers/usb/gadget/function/u_hid.h
    cxl: fix possible null-ptr-deref in cxl_pci_init_afu|adapter()
    cxl: fix possible null-ptr-deref in cxl_guest_init_afu|adapter()
    misc: sgi-gru: fix use-after-free error in gru_set_context_option, gru_fault and gru_handle_user_call_os
    misc: tifm: fix possible memory leak in tifm_7xx1_switch_media()
    test_firmware: fix memory leak in test_firmware_init()
    serial: sunsab: Fix error handling in sunsab_init()
    serial: altera_uart: fix locking in polling mode
    tty: serial: altera_uart_{r,t}x_chars() need only uart_port
    tty: serial: clean up stop-tx part in altera_uart_tx_chars()
    serial: pch: Fix PCI device refcount leak in pch_request_dma()
    serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle.
    serial: amba-pl011: avoid SBSA UART accessing DMACR register
  * usb: typec: Check for ops->exit instead of ops->enter in altmode_exit
      drivers/usb/typec/bus.c
    staging: vme_user: Fix possible UAF in tsi148_dma_list_add
    usb: fotg210-udc: Fix ages old endianness issues
    uio: uio_dmem_genirq: Fix deadlock between irq config and handling
    uio: uio_dmem_genirq: Fix missing unlock in irq configuration
    vfio: platform: Do not pass return buffer to ACPI _RST method
  * class: fix possible memory leak in __class_register()
      drivers/base/class.c
    serial: tegra: Read DMA status before terminating
    tty: serial: tegra: Activate RX DMA transfer by request
    serial: tegra: Add PIO mode support
    serial: tegra: report clk rate errors
    serial: tegra: add support to adjust baud rate
    serial: tegra: add support to use 8 bytes trigger
    serial: tegra: set maximum num of uart ports to 8
    serial: tegra: check for FIFO mode enabled status
    serial: tegra: avoid reg access when clk disabled
    drivers: dio: fix possible memory leak in dio_init()
    IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces
    hwrng: geode - Fix PCI device refcount leak
    hwrng: amd - Fix PCI device refcount leak
    crypto: img-hash - Fix variable dereferenced before check 'hdev->req'
    orangefs: Fix sysfs not cleanup when dev init failed
    RDMA/hfi1: Fix error return code in parse_platform_config()
    scsi: snic: Fix possible UAF in snic_tgt_create()
    scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails
    scsi: ipr: Fix WARNING in ipr_init()
    scsi: fcoe: Fix possible name leak when device_register() fails
    scsi: hpsa: Fix possible memory leak in hpsa_add_sas_device()
    scsi: hpsa: Fix error handling in hpsa_add_sas_host()
    crypto: tcrypt - Fix multibuffer skcipher speed test mem leak
    scsi: hpsa: Fix possible memory leak in hpsa_init_one()
    scsi: hpsa: use local workqueues instead of system workqueues
    RDMA/rxe: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create failed
    crypto: ccree - Make cc_debugfs_global_fini() available for module init function
    RDMA/hfi: Decrease PCI device reference count in error path
  * PCI: Check for alloc failure in pci_request_irq()
      drivers/pci/irq.c
    scsi: scsi_debug: Fix a warning in resp_write_scat()
    RDMA/nldev: Return "-EAGAIN" if the cm_id isn't from expected port
  * f2fs: fix normal discard process
      fs/f2fs/segment.c
    apparmor: Fix abi check to include v8 abi
    apparmor: fix lockdep warning when removing a namespace
    apparmor: fix a memleak in multi_transaction_new()
    stmmac: fix potential division by 0
    Bluetooth: RFCOMM: don't call kfree_skb() under spin_lock_irqsave()
  * Bluetooth: hci_core: don't call kfree_skb() under spin_lock_irqsave()
      net/bluetooth/hci_core.c
    Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave()
    Bluetooth: hci_h5: don't call kfree_skb() under spin_lock_irqsave()
    Bluetooth: hci_qca: don't call kfree_skb() under spin_lock_irqsave()
    Bluetooth: btusb: don't call kfree_skb() under spin_lock_irqsave()
    ntb_netdev: Use dev_kfree_skb_any() in interrupt context
    net: lan9303: Fix read error execution path
    net: amd-xgbe: Check only the minimum speed for active/passive cables
    net: amd-xgbe: Fix logic around active and passive cables
    net: amd: lance: don't call dev_kfree_skb() under spin_lock_irqsave()
    hamradio: don't call dev_kfree_skb() under spin_lock_irqsave()
    net: ethernet: dnet: don't call dev_kfree_skb() under spin_lock_irqsave()
    net: emaclite: don't call dev_kfree_skb() under spin_lock_irqsave()
    net: apple: bmac: don't call dev_kfree_skb() under spin_lock_irqsave()
    net: apple: mace: don't call dev_kfree_skb() under spin_lock_irqsave()
  * net/tunnel: wait until all sk_user_data reader finish before releasing the sock
      net/ipv4/udp_tunnel.c
    net: farsync: Fix kmemleak when rmmods farsync
    ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave()
    drivers: net: qlcnic: Fix potential memory leak in qlcnic_sriov_init()
    net: defxx: Fix missing err handling in dfx_init()
    net: vmw_vsock: vmci: Check memcpy_from_msg()
    clk: socfpga: use clk_hw_register for a5/c5
    clk: socfpga: clk-pll: Remove unused variable 'rc'
  * blktrace: Fix output non-blktrace event when blk_classic option enabled
      kernel/trace/blktrace.c
    wifi: brcmfmac: Fix error return code in brcmf_sdio_download_firmware()
    rtl8xxxu: add enumeration for channel bandwidth
    wifi: rtl8xxxu: Add __packed to struct rtl8723bu_c2h
    clk: samsung: Fix memory leak in _samsung_clk_register_pll()
    media: coda: Add check for kmalloc
    media: coda: Add check for dcoda_iram_alloc
    media: c8sectpfe: Add of_node_put() when breaking out of loop
    mmc: mmci: fix return value check of mmc_add_host()
    mmc: wbsd: fix return value check of mmc_add_host()
    mmc: via-sdmmc: fix return value check of mmc_add_host()
    mmc: meson-gx: fix return value check of mmc_add_host()
    mmc: atmel-mci: fix return value check of mmc_add_host()
    mmc: wmt-sdmmc: fix return value check of mmc_add_host()
    mmc: vub300: fix return value check of mmc_add_host()
    mmc: toshsd: fix return value check of mmc_add_host()
    mmc: rtsx_usb_sdmmc: fix return value check of mmc_add_host()
    mmc: mxcmmc: fix return value check of mmc_add_host()
    mmc: moxart: fix return value check of mmc_add_host()
    NFSv4.x: Fail client initialisation if state manager thread can't run
    SUNRPC: Fix missing release socket in rpc_sockname()
    ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt
    media: saa7164: fix missing pci_disable_device()
  * regulator: core: fix module refcount leak in set_supply()
      drivers/regulator/core.c
  * wifi: cfg80211: Fix not unregister reg_pdev when load_builtin_regdb_keys() fails
      net/wireless/reg.c
  * bonding: uninitialized variable in bond_miimon_inspect()
      drivers/net/bonding/bond_main.c
    ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe
    drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios()
    drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios()
    ALSA: asihpi: fix missing pci_disable_device()
    NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn
    NFSv4.2: Fix a memory stomp in decode_attr_security_label
    drm/tegra: Add missing clk_disable_unprepare() in tegra_dc_probe()
    media: s5p-mfc: Add variant data for MFC v7 hardware for Exynos 3250 SoC
    media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()
    media: dvb-core: Fix ignored return value in dvb_register_frontend()
  * pinctrl: pinconf-generic: add missing of_node_put()
      drivers/pinctrl/pinconf-generic.c
    media: imon: fix a race condition in send_packet()
    drbd: remove call to memset before free device/resource/connection
    mtd: maps: pxa2xx-flash: fix memory leak in probe
  * bonding: Export skip slave logic to function
      drivers/net/bonding/bond_main.c
    clk: rockchip: Fix memory leak in rockchip_clk_register_pll()
  * ALSA: seq: fix undefined behavior in bit shift for SNDRV_SEQ_FILTER_USE_EVENT
      include/uapi/sound/asequencer.h
    HID: hid-sensor-custom: set fixed size for custom attributes
    media: platform: exynos4-is: Fix error handling in fimc_md_init()
    media: solo6x10: fix possible memory leak in solo_sysfs_init()
    Input: elants_i2c - properly handle the reset GPIO when power is off
    mtd: lpddr2_nvm: Fix possible null-ptr-deref
    wifi: ath10k: Fix return value in ath10k_pci_init()
    ima: Fix misuse of dereference of pointer in template_desc_init_fields()
  * regulator: core: fix unbalanced of node refcount in regulator_dev_lookup()
      drivers/regulator/core.c
    ASoC: pxa: fix null-pointer dereference in filter()
    drm/radeon: Add the missed acpi_put_table() to fix memory leak
  * net, proc: Provide PROC_FS=n fallback for proc_create_net_single_write()
      include/linux/proc_fs.h
    media: camss: Clean up received buffers on failed start of streaming
    wifi: rsi: Fix handling of 802.3 EAPOL frames sent via control port
    mtd: Fix device name leak when register device failed in add_mtd_device()
    media: vivid: fix compose size exceed boundary
    spi: Update reference to struct spi_controller
    can: kvaser_usb: Compare requested bittiming parameters with actual parameters in do_set_{,data}_bittiming
    can: kvaser_usb: Add struct kvaser_usb_busparams
    can: kvaser_usb_leaf: Fix bogus restart events
    can: kvaser_usb_leaf: Fix wrong CAN state after stopping
    can: kvaser_usb_leaf: Fix improved state not being reported
    can: kvaser_usb_leaf: Set Warning state even without bus errors
    can: kvaser_usb: kvaser_usb_leaf: Handle CMD_ERROR_EVENT
    can: kvaser_usb: kvaser_usb_leaf: Rename {leaf,usbcan}_cmd_error_event to {leaf,usbcan}_cmd_can_error_event
    can: kvaser_usb: kvaser_usb_leaf: Get capabilities from device
    can: kvaser_usb: do not increase tx statistics when sending error message frames
    media: i2c: ad5820: Fix error path
    pata_ipx4xx_cf: Fix unsigned comparison with less than zero
    wifi: rtl8xxxu: Fix reading the vendor of combo chips
    wifi: ath9k: hif_usb: Fix use-after-free in ath9k_hif_usb_reg_in_cb()
    wifi: ath9k: hif_usb: fix memory leak of urbs in ath9k_hif_usb_dealloc_tx_urbs()
    rapidio: devices: fix missing put_device in mport_cdev_open
    hfs: Fix OOB Write in hfs_asc2mac
    relay: fix type mismatch when allocating memory in relay_create_buf()
  * eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD
      include/linux/eventfd.h
    rapidio: fix possible UAF when kfifo_alloc() fails
    fs: sysv: Fix sysv_nblocks() returns wrong value
    MIPS: BCM63xx: Add check for NULL for clk in clk_enable
    platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]()
  * PM: runtime: Do not call __rpm_callback() from rpm_idle()
      drivers/base/power/runtime.c
  * PM: runtime: Improve path in rpm_idle() when no callback
      drivers/base/power/runtime.c
    xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource()
    x86/xen: Fix memory leak in xen_init_lock_cpu()
    x86/xen: Fix memory leak in xen_smp_intr_init{_pv}()
    xen/events: only register debug interrupt for 2-level events
    uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix
    ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage()
    clocksource/drivers/sh_cmt: Make sure channel clock supply is enabled
    rapidio: rio: fix possible name leak in rio_register_mport()
    rapidio: fix possible name leaks when rio_add_device() fails
  * debugfs: fix error when writing negative value to atomic_t debugfs file
      fs/debugfs/file.c
      include/linux/debugfs.h
    lib/notifier-error-inject: fix error when writing -errno to debugfs file
  * libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value
      fs/libfs.c
      include/linux/fs.h
    cpufreq: amd_freq_sensitivity: Add missing pci_dev_put()
    irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe()
    perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox()
    PNP: fix name memory leak in pnp_alloc_dev()
    MIPS: vpe-cmp: fix possible memory leak while module exiting
    MIPS: vpe-mt: fix possible memory leak while module exiting
    ocfs2: fix memory leak in ocfs2_stack_glue_init()
    proc: fixup uptime selftest
  * timerqueue: Use rb_entry_safe() in timerqueue_getnext()
      include/linux/timerqueue.h
  * perf: Fix possible memleak in pmu_dev_alloc()
      kernel/events/core.c
    selftests/ftrace: event_triggers: wait longer for test_event_enable
  * fs: don't audit the capability check in simple_xattr_list()
      fs/xattr.c
    alpha: fix syscall entry in !AUDUT_SYSCALL case
  * cpuidle: dt: Return the correct numbers of parsed idle states
      drivers/cpuidle/dt_idle_states.c
    tpm/tpm_crb: Fix error message in __crb_relinquish_locality()
  * pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP
      fs/pstore/ram_core.c
    ARM: mmp: fix timer_read delay
  * pstore/ram: Fix error return code in ramoops_probe()
      fs/pstore/ram.c
    ARM: dts: turris-omnia: Add switch port 6 node
    ARM: dts: turris-omnia: Add ethernet aliases
    ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port
    ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port
    arm64: dts: mediatek: mt6797: Fix 26M oscillator unit name
    arm64: dts: mt2712-evb: Fix vproc fixed regulators unit names
    arm64: dts: mt2712e: Fix unit address for pinctrl node
    arm64: dts: mt2712e: Fix unit_address_vs_reg warning for oscillators
    perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init()
    soc: ti: smartreflex: Fix PM disable depth imbalance in omap_sr_probe
    arm: dts: spear600: Fix clcd interrupt
    drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as static
    ARM: dts: qcom: apq8064: fix coresight compatible
    usb: musb: remove extra check in musb_gadget_vbus_draw
  * net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
      drivers/net/loopback.c
  * Bluetooth: L2CAP: Fix u8 overflow
      net/bluetooth/l2cap_core.c
    igb: Initialize mailbox message for VF reset
    USB: serial: f81534: fix division by zero on line-speed change
    USB: serial: cp210x: add Kamstrup RF sniffer PIDs
    USB: serial: option: add Quectel EM05-G modem
    usb: gadget: uvc: Prevent buffer overflow in setup handler
    udf: Fix extending file within last block
    udf: Do not bother looking for prealloc extents if i_lenExtents matches i_size
    udf: Fix preallocation discarding at indirect extent boundary
    udf: Discard preallocation before extending file with a hole
    perf script python: Remove explicit shebang from tests/attr.c
  * ASoC: ops: Correct bounds check for second channel on SX controls
      sound/soc/soc-ops.c
    can: mcba_usb: Fix termination command argument
  * can: sja1000: fix size of OCR_MODE_MASK define
      include/linux/can/platform/sja1000.h
    pinctrl: meditatek: Startup with the IRQs disabled
  * ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx()
      sound/soc/soc-ops.c
    nfp: fix use-after-free in area_cache_get()
  * block: unhash blkdev part inode when the part is deleted
      block/partition-generic.c
    mm/khugepaged: invoke MMU notifiers in shmem/file collapse paths
  * mm/khugepaged: fix GUP-fast interaction by sending IPI
      include/asm-generic/tlb.h
      mm/memory.c
    ANDROID: Add more hvc devices for virtio-console.
    ANDROID: Add allowed symbols required from Qualcomm drivers
  * BACKPORT: lib: introduce copy_struct_from_user() helper
      include/linux/bitops.h
      include/linux/uaccess.h
      lib/strnlen_user.c
      lib/usercopy.c
  * ANDROID: fix BIT() redefinition
      include/linux/bits.h
      include/vdso/bits.h

Bug: 268137599
Change-Id: I1ae5c7cfdd0387ced375d87341327c27bd3ae454
Signed-off-by: JohnnLee <johnnlee@google.com>
2023-02-20 03:23:16 +00:00

1215 lines
42 KiB
Plaintext

Documentation for /proc/sys/kernel/* kernel version 2.2.10
(c) 1998, 1999, Rik van Riel <riel@nl.linux.org>
(c) 2009, Shen Feng<shen@cn.fujitsu.com>
For general info and legal blurb, please look in README.
==============================================================
This file contains documentation for the sysctl files in
/proc/sys/kernel/ and is valid for Linux kernel version 2.2.
The files in this directory can be used to tune and monitor
miscellaneous and general things in the operation of the Linux
kernel. Since some of the files _can_ be used to screw up your
system, it is advisable to read both documentation and source
before actually making adjustments.
Currently, these files might (depending on your configuration)
show up in /proc/sys/kernel:
- acct
- acpi_video_flags
- auto_msgmni
- bootloader_type [ X86 only ]
- bootloader_version [ X86 only ]
- boot_reason [ ARM and ARM64 only ]
- callhome [ S390 only ]
- cap_last_cap
- cold_boot [ ARM and ARM64 only ]
- core_pattern
- core_pipe_limit
- core_uses_pid
- ctrl-alt-del
- dmesg_restrict
- domainname
- hostname
- hotplug
- hardlockup_all_cpu_backtrace
- hardlockup_panic
- hung_task_panic
- hung_task_check_count
- hung_task_timeout_secs
- hung_task_check_interval_secs
- hung_task_warnings
- hyperv_record_panic_msg
- kexec_load_disabled
- kptr_restrict
- l2cr [ PPC only ]
- modprobe ==> Documentation/debugging-modules.txt
- modules_disabled
- msg_next_id [ sysv ipc ]
- msgmax
- msgmnb
- msgmni
- nmi_watchdog
- oops_limit
- osrelease
- ostype
- overflowgid
- overflowuid
- panic
- panic_on_oops
- panic_on_stackoverflow
- panic_on_unrecovered_nmi
- panic_on_warn
- panic_on_rcu_stall
- perf_cpu_time_max_percent
- perf_event_paranoid
- perf_event_max_stack
- perf_event_mlock_kb
- perf_event_max_contexts_per_stack
- pid_max
- powersave-nap [ PPC only ]
- printk
- printk_delay
- printk_ratelimit
- printk_ratelimit_burst
- pty ==> Documentation/filesystems/devpts.txt
- randomize_va_space
- real-root-dev ==> Documentation/admin-guide/initrd.rst
- reboot-cmd [ SPARC only ]
- rtsig-max
- rtsig-nr
- sched_energy_aware
- seccomp/ ==> Documentation/userspace-api/seccomp_filter.rst
- sem
- sem_next_id [ sysv ipc ]
- sg-big-buff [ generic SCSI device (sg) ]
- shm_next_id [ sysv ipc ]
- shm_rmid_forced
- shmall
- shmmax [ sysv ipc ]
- shmmni
- softlockup_all_cpu_backtrace
- soft_watchdog
- stop-a [ SPARC only ]
- sysrq ==> Documentation/admin-guide/sysrq.rst
- sysctl_writes_strict
- tainted
- threads-max
- unprivileged_bpf_disabled
- unknown_nmi_panic
- warn_limit
- watchdog
- watchdog_thresh
- version
==============================================================
acct:
highwater lowwater frequency
If BSD-style process accounting is enabled these values control
its behaviour. If free space on filesystem where the log lives
goes below <lowwater>% accounting suspends. If free space gets
above <highwater>% accounting resumes. <Frequency> determines
how often do we check the amount of free space (value is in
seconds). Default:
4 2 30
That is, suspend accounting if there left <= 2% free; resume it
if we got >=4%; consider information about amount of free space
valid for 30 seconds.
==============================================================
acpi_video_flags:
flags
See Doc*/kernel/power/video.txt, it allows mode of video boot to be
set during run time.
==============================================================
auto_msgmni:
This variable has no effect and may be removed in future kernel
releases. Reading it always returns 0.
Up to Linux 3.17, it enabled/disabled automatic recomputing of msgmni
upon memory add/remove or upon ipc namespace creation/removal.
Echoing "1" into this file enabled msgmni automatic recomputing.
Echoing "0" turned it off. auto_msgmni default value was 1.
==============================================================
bootloader_type:
x86 bootloader identification
This gives the bootloader type number as indicated by the bootloader,
shifted left by 4, and OR'd with the low four bits of the bootloader
version. The reason for this encoding is that this used to match the
type_of_loader field in the kernel header; the encoding is kept for
backwards compatibility. That is, if the full bootloader type number
is 0x15 and the full version number is 0x234, this file will contain
the value 340 = 0x154.
See the type_of_loader and ext_loader_type fields in
Documentation/x86/boot.txt for additional information.
==============================================================
bootloader_version:
x86 bootloader version
The complete bootloader version number. In the example above, this
file will contain the value 564 = 0x234.
See the type_of_loader and ext_loader_ver fields in
Documentation/x86/boot.txt for additional information.
==============================================================
boot_reason:
ARM and ARM64 -- reason for device boot
A single bit will be set in the unsigned integer value to identify the
reason the device was booted / powered on. The value will be zero if this
feature is not supported on the ARM device being booted.
See the power-on-status field definitions in
Documentation/arm/msm/boot.txt for Qualcomm Technologies, Inc. family of
devices.
==============================================================
callhome:
Controls the kernel's callhome behavior in case of a kernel panic.
The s390 hardware allows an operating system to send a notification
to a service organization (callhome) in case of an operating system panic.
When the value in this file is 0 (which is the default behavior)
nothing happens in case of a kernel panic. If this value is set to "1"
the complete kernel oops message is send to the IBM customer service
organization in case the mainframe the Linux operating system is running
on has a service contract with IBM.
==============================================================
cap_last_cap
Highest valid capability of the running kernel. Exports
CAP_LAST_CAP from the kernel.
===============================================================
cold_boot
ARM and ARM64 -- indicator for system cold boot
A single bit will be set in the unsigned integer value to identify
whether the device was booted from a cold or warm state. Zero
indicating a warm boot and one indicating a cold boot.
==============================================================
core_pattern:
core_pattern is used to specify a core dumpfile pattern name.
. max length 128 characters; default value is "core"
. core_pattern is used as a pattern template for the output filename;
certain string patterns (beginning with '%') are substituted with
their actual values.
. backward compatibility with core_uses_pid:
If core_pattern does not include "%p" (default does not)
and core_uses_pid is set, then .PID will be appended to
the filename.
. corename format specifiers:
%<NUL> '%' is dropped
%% output one '%'
%p pid
%P global pid (init PID namespace)
%i tid
%I global tid (init PID namespace)
%u uid (in initial user namespace)
%g gid (in initial user namespace)
%d dump mode, matches PR_SET_DUMPABLE and
/proc/sys/fs/suid_dumpable
%s signal number
%t UNIX time of dump
%h hostname
%e executable filename (may be shortened)
%E executable path
%<OTHER> both are dropped
. If the first character of the pattern is a '|', the kernel will treat
the rest of the pattern as a command to run. The core dump will be
written to the standard input of that program instead of to a file.
==============================================================
core_pipe_limit:
This sysctl is only applicable when core_pattern is configured to pipe
core files to a user space helper (when the first character of
core_pattern is a '|', see above). When collecting cores via a pipe
to an application, it is occasionally useful for the collecting
application to gather data about the crashing process from its
/proc/pid directory. In order to do this safely, the kernel must wait
for the collecting process to exit, so as not to remove the crashing
processes proc files prematurely. This in turn creates the
possibility that a misbehaving userspace collecting process can block
the reaping of a crashed process simply by never exiting. This sysctl
defends against that. It defines how many concurrent crashing
processes may be piped to user space applications in parallel. If
this value is exceeded, then those crashing processes above that value
are noted via the kernel log and their cores are skipped. 0 is a
special value, indicating that unlimited processes may be captured in
parallel, but that no waiting will take place (i.e. the collecting
process is not guaranteed access to /proc/<crashing pid>/). This
value defaults to 0.
==============================================================
core_uses_pid:
The default coredump filename is "core". By setting
core_uses_pid to 1, the coredump filename becomes core.PID.
If core_pattern does not include "%p" (default does not)
and core_uses_pid is set, then .PID will be appended to
the filename.
==============================================================
ctrl-alt-del:
When the value in this file is 0, ctrl-alt-del is trapped and
sent to the init(1) program to handle a graceful restart.
When, however, the value is > 0, Linux's reaction to a Vulcan
Nerve Pinch (tm) will be an immediate reboot, without even
syncing its dirty buffers.
Note: when a program (like dosemu) has the keyboard in 'raw'
mode, the ctrl-alt-del is intercepted by the program before it
ever reaches the kernel tty layer, and it's up to the program
to decide what to do with it.
==============================================================
dmesg_restrict:
This toggle indicates whether unprivileged users are prevented
from using dmesg(8) to view messages from the kernel's log buffer.
When dmesg_restrict is set to (0) there are no restrictions. When
dmesg_restrict is set set to (1), users must have CAP_SYSLOG to use
dmesg(8).
The kernel config option CONFIG_SECURITY_DMESG_RESTRICT sets the
default value of dmesg_restrict.
==============================================================
domainname & hostname:
These files can be used to set the NIS/YP domainname and the
hostname of your box in exactly the same way as the commands
domainname and hostname, i.e.:
# echo "darkstar" > /proc/sys/kernel/hostname
# echo "mydomain" > /proc/sys/kernel/domainname
has the same effect as
# hostname "darkstar"
# domainname "mydomain"
Note, however, that the classic darkstar.frop.org has the
hostname "darkstar" and DNS (Internet Domain Name Server)
domainname "frop.org", not to be confused with the NIS (Network
Information Service) or YP (Yellow Pages) domainname. These two
domain names are in general different. For a detailed discussion
see the hostname(1) man page.
==============================================================
hardlockup_all_cpu_backtrace:
This value controls the hard lockup detector behavior when a hard
lockup condition is detected as to whether or not to gather further
debug information. If enabled, arch-specific all-CPU stack dumping
will be initiated.
0: do nothing. This is the default behavior.
1: on detection capture more debug information.
==============================================================
hardlockup_panic:
This parameter can be used to control whether the kernel panics
when a hard lockup is detected.
0 - don't panic on hard lockup
1 - panic on hard lockup
See Documentation/lockup-watchdogs.txt for more information. This can
also be set using the nmi_watchdog kernel parameter.
==============================================================
hotplug:
Path for the hotplug policy agent.
Default value is "/sbin/hotplug".
==============================================================
hung_task_panic:
Controls the kernel's behavior when a hung task is detected.
This file shows up if CONFIG_DETECT_HUNG_TASK is enabled.
0: continue operation. This is the default behavior.
1: panic immediately.
==============================================================
hung_task_check_count:
The upper bound on the number of tasks that are checked.
This file shows up if CONFIG_DETECT_HUNG_TASK is enabled.
==============================================================
hung_task_timeout_secs:
When a task in D state did not get scheduled
for more than this value report a warning.
This file shows up if CONFIG_DETECT_HUNG_TASK is enabled.
0: means infinite timeout - no checking done.
Possible values to set are in range {0..LONG_MAX/HZ}.
==============================================================
hung_task_check_interval_secs:
Hung task check interval. If hung task checking is enabled
(see hung_task_timeout_secs), the check is done every
hung_task_check_interval_secs seconds.
This file shows up if CONFIG_DETECT_HUNG_TASK is enabled.
0 (default): means use hung_task_timeout_secs as checking interval.
Possible values to set are in range {0..LONG_MAX/HZ}.
==============================================================
hung_task_warnings:
The maximum number of warnings to report. During a check interval
if a hung task is detected, this value is decreased by 1.
When this value reaches 0, no more warnings will be reported.
This file shows up if CONFIG_DETECT_HUNG_TASK is enabled.
-1: report an infinite number of warnings.
==============================================================
hyperv_record_panic_msg:
Controls whether the panic kmsg data should be reported to Hyper-V.
0: do not report panic kmsg data.
1: report the panic kmsg data. This is the default behavior.
==============================================================
kexec_load_disabled:
A toggle indicating if the kexec_load syscall has been disabled. This
value defaults to 0 (false: kexec_load enabled), but can be set to 1
(true: kexec_load disabled). Once true, kexec can no longer be used, and
the toggle cannot be set back to false. This allows a kexec image to be
loaded before disabling the syscall, allowing a system to set up (and
later use) an image without it being altered. Generally used together
with the "modules_disabled" sysctl.
==============================================================
kptr_restrict:
This toggle indicates whether restrictions are placed on
exposing kernel addresses via /proc and other interfaces.
When kptr_restrict is set to 0 (the default) the address is hashed before
printing. (This is the equivalent to %p.)
When kptr_restrict is set to (1), kernel pointers printed using the %pK
format specifier will be replaced with 0's unless the user has CAP_SYSLOG
and effective user and group ids are equal to the real ids. This is
because %pK checks are done at read() time rather than open() time, so
if permissions are elevated between the open() and the read() (e.g via
a setuid binary) then %pK will not leak kernel pointers to unprivileged
users. Note, this is a temporary solution only. The correct long-term
solution is to do the permission checks at open() time. Consider removing
world read permissions from files that use %pK, and using dmesg_restrict
to protect against uses of %pK in dmesg(8) if leaking kernel pointer
values to unprivileged users is a concern.
When kptr_restrict is set to (2), kernel pointers printed using
%pK will be replaced with 0's regardless of privileges.
==============================================================
l2cr: (PPC only)
This flag controls the L2 cache of G3 processor boards. If
0, the cache is disabled. Enabled if nonzero.
==============================================================
modules_disabled:
A toggle value indicating if modules are allowed to be loaded
in an otherwise modular kernel. This toggle defaults to off
(0), but can be set true (1). Once true, modules can be
neither loaded nor unloaded, and the toggle cannot be set back
to false. Generally used with the "kexec_load_disabled" toggle.
==============================================================
msg_next_id, sem_next_id, and shm_next_id:
These three toggles allows to specify desired id for next allocated IPC
object: message, semaphore or shared memory respectively.
By default they are equal to -1, which means generic allocation logic.
Possible values to set are in range {0..INT_MAX}.
Notes:
1) kernel doesn't guarantee, that new object will have desired id. So,
it's up to userspace, how to handle an object with "wrong" id.
2) Toggle with non-default value will be set back to -1 by kernel after
successful IPC object allocation. If an IPC object allocation syscall
fails, it is undefined if the value remains unmodified or is reset to -1.
==============================================================
nmi_watchdog:
This parameter can be used to control the NMI watchdog
(i.e. the hard lockup detector) on x86 systems.
0 - disable the hard lockup detector
1 - enable the hard lockup detector
The hard lockup detector monitors each CPU for its ability to respond to
timer interrupts. The mechanism utilizes CPU performance counter registers
that are programmed to generate Non-Maskable Interrupts (NMIs) periodically
while a CPU is busy. Hence, the alternative name 'NMI watchdog'.
The NMI watchdog is disabled by default if the kernel is running as a guest
in a KVM virtual machine. This default can be overridden by adding
nmi_watchdog=1
to the guest kernel command line (see Documentation/admin-guide/kernel-parameters.rst).
==============================================================
numa_balancing
Enables/disables automatic page fault based NUMA memory
balancing. Memory is moved automatically to nodes
that access it often.
Enables/disables automatic NUMA memory balancing. On NUMA machines, there
is a performance penalty if remote memory is accessed by a CPU. When this
feature is enabled the kernel samples what task thread is accessing memory
by periodically unmapping pages and later trapping a page fault. At the
time of the page fault, it is determined if the data being accessed should
be migrated to a local memory node.
The unmapping of pages and trapping faults incur additional overhead that
ideally is offset by improved memory locality but there is no universal
guarantee. If the target workload is already bound to NUMA nodes then this
feature should be disabled. Otherwise, if the system overhead from the
feature is too high then the rate the kernel samples for NUMA hinting
faults may be controlled by the numa_balancing_scan_period_min_ms,
numa_balancing_scan_delay_ms, numa_balancing_scan_period_max_ms,
numa_balancing_scan_size_mb, and numa_balancing_settle_count sysctls.
==============================================================
numa_balancing_scan_period_min_ms, numa_balancing_scan_delay_ms,
numa_balancing_scan_period_max_ms, numa_balancing_scan_size_mb
Automatic NUMA balancing scans tasks address space and unmaps pages to
detect if pages are properly placed or if the data should be migrated to a
memory node local to where the task is running. Every "scan delay" the task
scans the next "scan size" number of pages in its address space. When the
end of the address space is reached the scanner restarts from the beginning.
In combination, the "scan delay" and "scan size" determine the scan rate.
When "scan delay" decreases, the scan rate increases. The scan delay and
hence the scan rate of every task is adaptive and depends on historical
behaviour. If pages are properly placed then the scan delay increases,
otherwise the scan delay decreases. The "scan size" is not adaptive but
the higher the "scan size", the higher the scan rate.
Higher scan rates incur higher system overhead as page faults must be
trapped and potentially data must be migrated. However, the higher the scan
rate, the more quickly a tasks memory is migrated to a local node if the
workload pattern changes and minimises performance impact due to remote
memory accesses. These sysctls control the thresholds for scan delays and
the number of pages scanned.
numa_balancing_scan_period_min_ms is the minimum time in milliseconds to
scan a tasks virtual memory. It effectively controls the maximum scanning
rate for each task.
numa_balancing_scan_delay_ms is the starting "scan delay" used for a task
when it initially forks.
numa_balancing_scan_period_max_ms is the maximum time in milliseconds to
scan a tasks virtual memory. It effectively controls the minimum scanning
rate for each task.
numa_balancing_scan_size_mb is how many megabytes worth of pages are
scanned for a given scan.
==============================================================
oops_limit:
Number of kernel oopses after which the kernel should panic when
``panic_on_oops`` is not set. Setting this to 0 disables checking
the count. Setting this to 1 has the same effect as setting
``panic_on_oops=1``. The default value is 10000.
==============================================================
osrelease, ostype & version:
# cat osrelease
2.1.88
# cat ostype
Linux
# cat version
#5 Wed Feb 25 21:49:24 MET 1998
The files osrelease and ostype should be clear enough. Version
needs a little more clarification however. The '#5' means that
this is the fifth kernel built from this source base and the
date behind it indicates the time the kernel was built.
The only way to tune these values is to rebuild the kernel :-)
==============================================================
overflowgid & overflowuid:
if your architecture did not always support 32-bit UIDs (i.e. arm,
i386, m68k, sh, and sparc32), a fixed UID and GID will be returned to
applications that use the old 16-bit UID/GID system calls, if the
actual UID or GID would exceed 65535.
These sysctls allow you to change the value of the fixed UID and GID.
The default is 65534.
==============================================================
panic:
The value in this file represents the number of seconds the kernel
waits before rebooting on a panic. When you use the software watchdog,
the recommended setting is 60.
==============================================================
panic_on_io_nmi:
Controls the kernel's behavior when a CPU receives an NMI caused by
an IO error.
0: try to continue operation (default)
1: panic immediately. The IO error triggered an NMI. This indicates a
serious system condition which could result in IO data corruption.
Rather than continuing, panicking might be a better choice. Some
servers issue this sort of NMI when the dump button is pushed,
and you can use this option to take a crash dump.
==============================================================
panic_on_oops:
Controls the kernel's behaviour when an oops or BUG is encountered.
0: try to continue operation
1: panic immediately. If the `panic' sysctl is also non-zero then the
machine will be rebooted.
==============================================================
panic_on_stackoverflow:
Controls the kernel's behavior when detecting the overflows of
kernel, IRQ and exception stacks except a user stack.
This file shows up if CONFIG_DEBUG_STACKOVERFLOW is enabled.
0: try to continue operation.
1: panic immediately.
==============================================================
panic_on_unrecovered_nmi:
The default Linux behaviour on an NMI of either memory or unknown is
to continue operation. For many environments such as scientific
computing it is preferable that the box is taken out and the error
dealt with than an uncorrected parity/ECC error get propagated.
A small number of systems do generate NMI's for bizarre random reasons
such as power management so the default is off. That sysctl works like
the existing panic controls already in that directory.
==============================================================
panic_on_warn:
Calls panic() in the WARN() path when set to 1. This is useful to avoid
a kernel rebuild when attempting to kdump at the location of a WARN().
0: only WARN(), default behaviour.
1: call panic() after printing out WARN() location.
==============================================================
panic_on_rcu_stall:
When set to 1, calls panic() after RCU stall detection messages. This
is useful to define the root cause of RCU stalls using a vmcore.
0: do not panic() when RCU stall takes place, default behavior.
1: panic() after printing RCU stall messages.
==============================================================
perf_cpu_time_max_percent:
Hints to the kernel how much CPU time it should be allowed to
use to handle perf sampling events. If the perf subsystem
is informed that its samples are exceeding this limit, it
will drop its sampling frequency to attempt to reduce its CPU
usage.
Some perf sampling happens in NMIs. If these samples
unexpectedly take too long to execute, the NMIs can become
stacked up next to each other so much that nothing else is
allowed to execute.
0: disable the mechanism. Do not monitor or correct perf's
sampling rate no matter how CPU time it takes.
1-100: attempt to throttle perf's sample rate to this
percentage of CPU. Note: the kernel calculates an
"expected" length of each sample event. 100 here means
100% of that expected length. Even if this is set to
100, you may still see sample throttling if this
length is exceeded. Set to 0 if you truly do not care
how much CPU is consumed.
==============================================================
perf_event_paranoid:
Controls use of the performance events system by unprivileged
users (without CAP_SYS_ADMIN). The default value is 2.
-1: Allow use of (almost) all events by all users
Ignore mlock limit after perf_event_mlock_kb without CAP_IPC_LOCK
>=0: Disallow ftrace function tracepoint by users without CAP_SYS_ADMIN
Disallow raw tracepoint access by users without CAP_SYS_ADMIN
>=1: Disallow CPU event access by users without CAP_SYS_ADMIN
>=2: Disallow kernel profiling by users without CAP_SYS_ADMIN
==============================================================
perf_event_max_stack:
Controls maximum number of stack frames to copy for (attr.sample_type &
PERF_SAMPLE_CALLCHAIN) configured events, for instance, when using
'perf record -g' or 'perf trace --call-graph fp'.
This can only be done when no events are in use that have callchains
enabled, otherwise writing to this file will return -EBUSY.
The default value is 127.
==============================================================
perf_event_mlock_kb:
Control size of per-cpu ring buffer not counted agains mlock limit.
The default value is 512 + 1 page
==============================================================
perf_event_max_contexts_per_stack:
Controls maximum number of stack frame context entries for
(attr.sample_type & PERF_SAMPLE_CALLCHAIN) configured events, for
instance, when using 'perf record -g' or 'perf trace --call-graph fp'.
This can only be done when no events are in use that have callchains
enabled, otherwise writing to this file will return -EBUSY.
The default value is 8.
==============================================================
pid_max:
PID allocation wrap value. When the kernel's next PID value
reaches this value, it wraps back to a minimum PID value.
PIDs of value pid_max or larger are not allocated.
==============================================================
ns_last_pid:
The last pid allocated in the current (the one task using this sysctl
lives in) pid namespace. When selecting a pid for a next task on fork
kernel tries to allocate a number starting from this one.
==============================================================
powersave-nap: (PPC only)
If set, Linux-PPC will use the 'nap' mode of powersaving,
otherwise the 'doze' mode will be used.
==============================================================
printk:
The four values in printk denote: console_loglevel,
default_message_loglevel, minimum_console_loglevel and
default_console_loglevel respectively.
These values influence printk() behavior when printing or
logging error messages. See 'man 2 syslog' for more info on
the different loglevels.
- console_loglevel: messages with a higher priority than
this will be printed to the console
- default_message_loglevel: messages without an explicit priority
will be printed with this priority
- minimum_console_loglevel: minimum (highest) value to which
console_loglevel can be set
- default_console_loglevel: default value for console_loglevel
==============================================================
printk_delay:
Delay each printk message in printk_delay milliseconds
Value from 0 - 10000 is allowed.
==============================================================
printk_ratelimit:
Some warning messages are rate limited. printk_ratelimit specifies
the minimum length of time between these messages (in jiffies), by
default we allow one every 5 seconds.
A value of 0 will disable rate limiting.
==============================================================
printk_ratelimit_burst:
While long term we enforce one message per printk_ratelimit
seconds, we do allow a burst of messages to pass through.
printk_ratelimit_burst specifies the number of messages we can
send before ratelimiting kicks in.
==============================================================
printk_devkmsg:
Control the logging to /dev/kmsg from userspace:
ratelimit: default, ratelimited
on: unlimited logging to /dev/kmsg from userspace
off: logging to /dev/kmsg disabled
The kernel command line parameter printk.devkmsg= overrides this and is
a one-time setting until next reboot: once set, it cannot be changed by
this sysctl interface anymore.
pty
===
See Documentation/filesystems/devpts.rst.
random
======
This is a directory, with the following entries:
* ``boot_id``: a UUID generated the first time this is retrieved, and
unvarying after that;
* ``uuid``: a UUID generated every time this is retrieved (this can
thus be used to generate UUIDs at will);
* ``entropy_avail``: the pool's entropy count, in bits;
* ``poolsize``: the entropy pool size, in bits;
* ``urandom_min_reseed_secs``: obsolete (used to determine the minimum
number of seconds between urandom pool reseeding). This file is
writable for compatibility purposes, but writing to it has no effect
on any RNG behavior;
* ``write_wakeup_threshold``: when the entropy count drops below this
(as a number of bits), processes waiting to write to ``/dev/random``
are woken up. This file is writable for compatibility purposes, but
writing to it has no effect on any RNG behavior.
randomize_va_space
==================
This option can be used to select the type of process address
space randomization that is used in the system, for architectures
that support this feature.
0 - Turn the process address space randomization off. This is the
default for architectures that do not support this feature anyways,
and kernels that are booted with the "norandmaps" parameter.
1 - Make the addresses of mmap base, stack and VDSO page randomized.
This, among other things, implies that shared libraries will be
loaded to random addresses. Also for PIE-linked binaries, the
location of code start is randomized. This is the default if the
CONFIG_COMPAT_BRK option is enabled.
2 - Additionally enable heap randomization. This is the default if
CONFIG_COMPAT_BRK is disabled.
There are a few legacy applications out there (such as some ancient
versions of libc.so.5 from 1996) that assume that brk area starts
just after the end of the code+bss. These applications break when
start of the brk area is randomized. There are however no known
non-legacy applications that would be broken this way, so for most
systems it is safe to choose full randomization.
Systems with ancient and/or broken binaries should be configured
with CONFIG_COMPAT_BRK enabled, which excludes the heap from process
address space randomization.
==============================================================
reboot-cmd: (Sparc only)
??? This seems to be a way to give an argument to the Sparc
ROM/Flash boot loader. Maybe to tell it what to do after
rebooting. ???
==============================================================
rtsig-max & rtsig-nr:
The file rtsig-max can be used to tune the maximum number
of POSIX realtime (queued) signals that can be outstanding
in the system.
rtsig-nr shows the number of RT signals currently queued.
==============================================================
sched_energy_aware:
Enables/disables Energy Aware Scheduling (EAS). EAS starts
automatically on platforms where it can run (that is,
platforms with asymmetric CPU topologies and having an Energy
Model available). If your platform happens to meet the
requirements for EAS but you do not want to use it, change
this value to 0.
==============================================================
sched_schedstats:
Enables/disables scheduler statistics. Enabling this feature
incurs a small amount of overhead in the scheduler but is
useful for debugging and performance tuning.
==============================================================
sg-big-buff:
This file shows the size of the generic SCSI (sg) buffer.
You can't tune it just yet, but you could change it on
compile time by editing include/scsi/sg.h and changing
the value of SG_BIG_BUFF.
There shouldn't be any reason to change this value. If
you can come up with one, you probably know what you
are doing anyway :)
==============================================================
shmall:
This parameter sets the total amount of shared memory pages that
can be used system wide. Hence, SHMALL should always be at least
ceil(shmmax/PAGE_SIZE).
If you are not sure what the default PAGE_SIZE is on your Linux
system, you can run the following command:
# getconf PAGE_SIZE
==============================================================
shmmax:
This value can be used to query and set the run time limit
on the maximum shared memory segment size that can be created.
Shared memory segments up to 1Gb are now supported in the
kernel. This value defaults to SHMMAX.
==============================================================
shm_rmid_forced:
Linux lets you set resource limits, including how much memory one
process can consume, via setrlimit(2). Unfortunately, shared memory
segments are allowed to exist without association with any process, and
thus might not be counted against any resource limits. If enabled,
shared memory segments are automatically destroyed when their attach
count becomes zero after a detach or a process termination. It will
also destroy segments that were created, but never attached to, on exit
from the process. The only use left for IPC_RMID is to immediately
destroy an unattached segment. Of course, this breaks the way things are
defined, so some applications might stop working. Note that this
feature will do you no good unless you also configure your resource
limits (in particular, RLIMIT_AS and RLIMIT_NPROC). Most systems don't
need this.
Note that if you change this from 0 to 1, already created segments
without users and with a dead originative process will be destroyed.
==============================================================
sysctl_writes_strict:
Control how file position affects the behavior of updating sysctl values
via the /proc/sys interface:
-1 - Legacy per-write sysctl value handling, with no printk warnings.
Each write syscall must fully contain the sysctl value to be
written, and multiple writes on the same sysctl file descriptor
will rewrite the sysctl value, regardless of file position.
0 - Same behavior as above, but warn about processes that perform writes
to a sysctl file descriptor when the file position is not 0.
1 - (default) Respect file position when writing sysctl strings. Multiple
writes will append to the sysctl value buffer. Anything past the max
length of the sysctl value buffer will be ignored. Writes to numeric
sysctl entries must always be at file position 0 and the value must
be fully contained in the buffer sent in the write syscall.
==============================================================
softlockup_all_cpu_backtrace:
This value controls the soft lockup detector thread's behavior
when a soft lockup condition is detected as to whether or not
to gather further debug information. If enabled, each cpu will
be issued an NMI and instructed to capture stack trace.
This feature is only applicable for architectures which support
NMI.
0: do nothing. This is the default behavior.
1: on detection capture more debug information.
==============================================================
soft_watchdog
This parameter can be used to control the soft lockup detector.
0 - disable the soft lockup detector
1 - enable the soft lockup detector
The soft lockup detector monitors CPUs for threads that are hogging the CPUs
without rescheduling voluntarily, and thus prevent the 'watchdog/N' threads
from running. The mechanism depends on the CPUs ability to respond to timer
interrupts which are needed for the 'watchdog/N' threads to be woken up by
the watchdog timer function, otherwise the NMI watchdog - if enabled - can
detect a hard lockup condition.
==============================================================
tainted:
Non-zero if the kernel has been tainted. Numeric values, which can be
ORed together. The letters are seen in "Tainted" line of Oops reports.
1 (P): A module with a non-GPL license has been loaded, this
includes modules with no license.
Set by modutils >= 2.4.9 and module-init-tools.
2 (F): A module was force loaded by insmod -f.
Set by modutils >= 2.4.9 and module-init-tools.
4 (S): Unsafe SMP processors: SMP with CPUs not designed for SMP.
8 (R): A module was forcibly unloaded from the system by rmmod -f.
16 (M): A hardware machine check error occurred on the system.
32 (B): A bad page was discovered on the system.
64 (U): The user has asked that the system be marked "tainted". This
could be because they are running software that directly modifies
the hardware, or for other reasons.
128 (D): The system has died.
256 (A): The ACPI DSDT has been overridden with one supplied by the user
instead of using the one provided by the hardware.
512 (W): A kernel warning has occurred.
1024 (C): A module from drivers/staging was loaded.
2048 (I): The system is working around a severe firmware bug.
4096 (O): An out-of-tree module has been loaded.
8192 (E): An unsigned module has been loaded in a kernel supporting module
signature.
16384 (L): A soft lockup has previously occurred on the system.
32768 (K): The kernel has been live patched.
65536 (X): Auxiliary taint, defined and used by for distros.
131072 (T): The kernel was built with the struct randomization plugin.
==============================================================
threads-max
This value controls the maximum number of threads that can be created
using fork().
During initialization the kernel sets this value such that even if the
maximum number of threads is created, the thread structures occupy only
a part (1/8th) of the available RAM pages.
The minimum value that can be written to threads-max is 20.
The maximum value that can be written to threads-max is given by the
constant FUTEX_TID_MASK (0x3fffffff).
If a value outside of this range is written to threads-max an error
EINVAL occurs.
The value written is checked against the available RAM pages. If the
thread structures would occupy too much (more than 1/8th) of the
available RAM pages threads-max is reduced accordingly.
==============================================================
unprivileged_bpf_disabled:
Writing 1 to this entry will disable unprivileged calls to bpf();
once disabled, calling bpf() without CAP_SYS_ADMIN will return
-EPERM. Once set to 1, this can't be cleared from the running kernel
anymore.
Writing 2 to this entry will also disable unprivileged calls to bpf(),
however, an admin can still change this setting later on, if needed, by
writing 0 or 1 to this entry.
If BPF_UNPRIV_DEFAULT_OFF is enabled in the kernel config, then this
entry will default to 2 instead of 0.
0 - Unprivileged calls to bpf() are enabled
1 - Unprivileged calls to bpf() are disabled without recovery
2 - Unprivileged calls to bpf() are disabled
==============================================================
unknown_nmi_panic:
The value in this file affects behavior of handling NMI. When the
value is non-zero, unknown NMI is trapped and then panic occurs. At
that time, kernel debugging information is displayed on console.
NMI switch that most IA32 servers have fires unknown NMI up, for
example. If a system hangs up, try pressing the NMI switch.
==============================================================
warn_limit:
Number of kernel warnings after which the kernel should panic when
``panic_on_warn`` is not set. Setting this to 0 disables checking
the warning count. Setting this to 1 has the same effect as setting
``panic_on_warn=1``. The default value is 0.
==============================================================
watchdog:
This parameter can be used to disable or enable the soft lockup detector
_and_ the NMI watchdog (i.e. the hard lockup detector) at the same time.
0 - disable both lockup detectors
1 - enable both lockup detectors
The soft lockup detector and the NMI watchdog can also be disabled or
enabled individually, using the soft_watchdog and nmi_watchdog parameters.
If the watchdog parameter is read, for example by executing
cat /proc/sys/kernel/watchdog
the output of this command (0 or 1) shows the logical OR of soft_watchdog
and nmi_watchdog.
==============================================================
watchdog_cpumask:
This value can be used to control on which cpus the watchdog may run.
The default cpumask is all possible cores, but if NO_HZ_FULL is
enabled in the kernel config, and cores are specified with the
nohz_full= boot argument, those cores are excluded by default.
Offline cores can be included in this mask, and if the core is later
brought online, the watchdog will be started based on the mask value.
Typically this value would only be touched in the nohz_full case
to re-enable cores that by default were not running the watchdog,
if a kernel lockup was suspected on those cores.
The argument value is the standard cpulist format for cpumasks,
so for example to enable the watchdog on cores 0, 2, 3, and 4 you
might say:
echo 0,2-4 > /proc/sys/kernel/watchdog_cpumask
==============================================================
watchdog_thresh:
This value can be used to control the frequency of hrtimer and NMI
events and the soft and hard lockup thresholds. The default threshold
is 10 seconds.
The softlockup threshold is (2 * watchdog_thresh). Setting this
tunable to zero will disable lockup detection altogether.
==============================================================