Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wont boot on N976x #213

Open
wants to merge 455 commits into
base: cruel-HVE5-v5.2
Choose a base branch
from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Dec 15, 2022

  1. bcmdhd_101_16/dhd_rtt.c: fix uninit var

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    65e9886 View commit details
    Browse the repository at this point in the history
  2. drivers/ccic/max77705_usbc: fix multiple assignments warning

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    1a20104 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    95deeb0 View commit details
    Browse the repository at this point in the history
  4. drivers/samsung/sec_dump_sink: check kstrtouint() result

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    624639c View commit details
    Browse the repository at this point in the history
  5. drivers/sensorhub/brcm/ssp: use int instead of bool

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    7cb4f65 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    9bf8849 View commit details
    Browse the repository at this point in the history
  7. drivers/soc/samsung/exynos_cpu_perf/exynos_perf_cpufreq: cast buf to …

    …char *
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    73c7023 View commit details
    Browse the repository at this point in the history
  8. drivers/sensorhub/brcm/sx9330: fix regist, val type to unsigned

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    a1e43fc View commit details
    Browse the repository at this point in the history
  9. drivers/video/fbdev/exynos/dpu20/dpp_drv: fix reduntant arg check

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    b2640aa View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0c21a3b View commit details
    Browse the repository at this point in the history
  11. drivers/sensorhub/brcm/sx9330: fix strncpy() call warning

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    34af7cf View commit details
    Browse the repository at this point in the history
  12. drivers/net/wireless/broadcom/bcmdhd_100_15/wl_android: fix adps_mode…

    … check
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    d08a1ad View commit details
    Browse the repository at this point in the history
  13. mmap/rmap: fix pointer cast to enum warning

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    836374d View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    d3fc220 View commit details
    Browse the repository at this point in the history
  15. drivers/scsi/ufs/ufshcd: fix out-of-bounds buffer write

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    9a13795 View commit details
    Browse the repository at this point in the history
  16. drivers/media/platform/exynos/fimc-is2/vendor/mcd/fimc-is-sysfs: supp…

    …ress clang warning
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    007ee1c View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    c2bece8 View commit details
    Browse the repository at this point in the history
  18. drivers/media/tdmb/fc8080/ficdecoder: use unsigned 0x7fU constant to …

    …suppress the warning
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    36212da View commit details
    Browse the repository at this point in the history
  19. drivers/media/platform/exynos/fimc-is2/vendor/mcd/fimc-is-sysfs: fix …

    …sscanf format
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    59eedff View commit details
    Browse the repository at this point in the history
  20. drivers/battery_v2/mfc_s2miw04_charger: fix scanf format

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    8de904e View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    7113bfa View commit details
    Browse the repository at this point in the history
  22. drivers/sensorhub/brcm/sx9360: fix strncpy() call warning

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    9ee804e View commit details
    Browse the repository at this point in the history
  23. drivers/input/touchscreen/sec_ts/y771_d/sec_ts: check regulator_enabl…

    …e() result
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    24e64d8 View commit details
    Browse the repository at this point in the history
  24. drivers/net/wireless/broadcom/bcmdhd_100_15/wl_bigdata: fix initializ…

    …ation warning
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    cf97dce View commit details
    Browse the repository at this point in the history
  25. init/main: use __initdata_or_module for initcall_sec_debug

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    2511116 View commit details
    Browse the repository at this point in the history
  26. security/sdp/dd_kernel_crypto: fix misleading indentation

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    9b7858f View commit details
    Browse the repository at this point in the history
  27. net/mptcp/mptcp_fullmesh: fix misleading indentation

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    15d50c5 View commit details
    Browse the repository at this point in the history
  28. drivers/sensorhub/brcm/bbdpl/bbd: fix misleading indentation

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    ce6d321 View commit details
    Browse the repository at this point in the history
  29. drivers/sensorhub/brcm/ssp_bbd: fix misleading indentation

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    bbf4016 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    fb16e95 View commit details
    Browse the repository at this point in the history
  31. drivers/usb/core/devio: fix misleading indentation

    Move dev_info() out of switch.
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    b3edfa7 View commit details
    Browse the repository at this point in the history
  32. net/netfilter/linkforward: fix misleading indentation

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    5d5cf97 View commit details
    Browse the repository at this point in the history
  33. drivers/sensorhub/brcm/ssp_i2c: fix misleading indentation

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    faefc77 View commit details
    Browse the repository at this point in the history
  34. net: ipv4: lock the initial TCP window size to 64K

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    3d883f5 View commit details
    Browse the repository at this point in the history
  35. fs: fsync on/off support

    [efremov: change permissions from 0755 to 0644]
    Signed-off-by: djb77 <[email protected]>
    Signed-off-by: Denis Efremov <[email protected]>
    franciscofranco authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    6f9ed02 View commit details
    Browse the repository at this point in the history
  36. fs: add NOATIME/RELATIME default mount option

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    1a6cb2b View commit details
    Browse the repository at this point in the history
  37. proc: Remove SafetyNet flags from /proc/cmdline

    Userspace parses this and sets the ro.boot.verifiedbootstate prop
    according to the value that this flag has. When ro.boot.verifiedbootstate
    is not 'green', SafetyNet is tripped and fails the CTS test.
    
    Hide verifiedbootstate from /proc/cmdline in order to fix the failed
    SafetyNet CTS check.
    
    SafetyNet checks androidboot.veritymode in Nougat, so remove it.
    
    Additionally, remove androidboot.enable_dm_verity and androidboot.secboot
    in case SafetyNet will check them in the future.
    
    Signed-off-by: Sultanxda <[email protected]>
    Signed-off-by: Denis Efremov <[email protected]>
    kerneltoast authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    40868d6 View commit details
    Browse the repository at this point in the history
  38. proc: add CONFIG_PROC_REMOVE_SAFETYNET_FLAGS

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    adf0236 View commit details
    Browse the repository at this point in the history
  39. android: Add superuser driver

    Run `su` to get root.
    
    HELLO NAÏVE TECH JOURNALISTS: This commit here introduces a driver used
    during development, because having access to scary debugging facilities
    is useful during kernel development. This driver is disabled by default,
    and when it is enabled, it spews warnings all over the place to
    encourage people who turn it on by accident to turn it off. It's
    exceedingly unlikely that somebody turns this on without intending to
    do so. You really have to fish around and make a concerted effort to get
    it enabled and working, and the warning messages it gives during the build
    and boot processes are really an eyesore. So, if you've found this
    commit because some idiot shipped a kernel to their users, you have
    every reason to blame that idiot, and not this commit. And if the fool
    insists it was an 'accident', he's not telling the truth.
    
    This is from:
      https://git.zx2c4.com/kernel-assisted-superuser/about
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    2779b5f View commit details
    Browse the repository at this point in the history
  40. drivers/base/Kconfig: CONFIG_ASSISTED_SUPERUSER default n

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    7753539 View commit details
    Browse the repository at this point in the history
  41. initramfs: allow CONFIG_INITRAMFS_FORCE

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    5d9cfe5 View commit details
    Browse the repository at this point in the history
  42. usr: add CONFIG_INITRAMFS_SKIP

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    cbb975c View commit details
    Browse the repository at this point in the history
  43. initramfs: integrate magiskinit64

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    9e05893 View commit details
    Browse the repository at this point in the history
  44. usr/Makefile: support relative paths for objtree

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    395e483 View commit details
    Browse the repository at this point in the history
  45. drivers: cpufreq: replace performance with schedutil as fallback sched

    Default fallback scheduler for ondemand and conservative schedulers
    is performance one. This commit makes schedutil the default fallback
    scheduler.
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    2ab5ee7 View commit details
    Browse the repository at this point in the history
  46. Makefile: add KCONFIG_BUILTINCONFIG

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    ac3e52a View commit details
    Browse the repository at this point in the history
  47. HZ: add 50hz config

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    dd982f0 View commit details
    Browse the repository at this point in the history
  48. HZ: add 25hz config

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    10e2ecf View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    4f6fd61 View commit details
    Browse the repository at this point in the history
  50. fs: sdfat: Add config option to register sdFAT for exFAT

    Change-Id: Id57abf0a4bd0b433fecc622eecb383cd4ea29d17
    Signed-off-by: Paul Keith <[email protected]>
    javelinanddart authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    c8cb8b1 View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    4d15dbf View commit details
    Browse the repository at this point in the history
  52. Configuration menu
    Copy the full SHA
    b8e22f2 View commit details
    Browse the repository at this point in the history
  53. fs: sdfat: don't use sdfat for exfat/vfat by default

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    6aaddda View commit details
    Browse the repository at this point in the history
  54. net: wireguard: add wireguard module

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    0eb3de6 View commit details
    Browse the repository at this point in the history
  55. net: wireguard: ignore generated files

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    9392fe7 View commit details
    Browse the repository at this point in the history
  56. net: wireguard: switch wireguard to n by default

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    7d4a974 View commit details
    Browse the repository at this point in the history
  57. scripts: add wireguard updater script

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    b5480f3 View commit details
    Browse the repository at this point in the history
  58. power: Add generic wakelock blocker driver v1.1.0

    Based on ideas of FranciscoFranco's non-generic driver.
    
    Sysfs node:
    
    	/sys/class/misc/boeffla_wakelock_blocker/wakelock_blocker
    
    		- list of wakelocks to be blocked, separated by semicolons
    
    	/sys/class/misc/boeffla_wakelock_blocker/debug
    
    		- write: 0/1 to switch off and on debug logging into dmesg
    		- read:  get current driver internals
    
    	/sys/class/misc/boeffla_wakelock_blocker/version
    
    		- show driver version
    
    Signed-off-by: andip71 <[email protected]>
    andip71 authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    557d6b9 View commit details
    Browse the repository at this point in the history
  59. power: wl_blocker: add generic size

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    c6bfbb1 View commit details
    Browse the repository at this point in the history
  60. power: wl_blocker: use scnprintf PAGE_SIZE

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    04c0ff4 View commit details
    Browse the repository at this point in the history
  61. power: wl_blocker: fix permissions for version_show

    Use only read permissions for version_show.
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    c46ae41 View commit details
    Browse the repository at this point in the history
  62. power: wl_blocker: remove excessive len variable

    It's not used. Type conversion size_t > int is not
    needed.
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    9f2fe68 View commit details
    Browse the repository at this point in the history
  63. power: wl_blocker: use strcpy() in init

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    209d324 View commit details
    Browse the repository at this point in the history
  64. power: wl_blocker: mark functions with __init, __exit attrs

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    67a44a6 View commit details
    Browse the repository at this point in the history
  65. power: wl_blocker: add pr_fmt

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    229b8f4 View commit details
    Browse the repository at this point in the history
  66. power: wl_blocker: add misc_deregister in exit function

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    8a70b7e View commit details
    Browse the repository at this point in the history
  67. power: wl_blocker: add error handling to init function

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    6807c03 View commit details
    Browse the repository at this point in the history
  68. Configuration menu
    Copy the full SHA
    d94a0fc View commit details
    Browse the repository at this point in the history
  69. power: wl_blocker: add default list

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    9a7019f View commit details
    Browse the repository at this point in the history
  70. power: wl_blocker: increase blacklist max length

    The previous 255 limit seemed to be not enough to hold all the
    Samsung stock defined wakelocks that look safe to block.
    bamsbamx authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    58eb738 View commit details
    Browse the repository at this point in the history
  71. power: wl_blocker: add some wakelocks to the blacklist

    Seems blocking them does not affect device stability.
    bamsbamx authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    ca00673 View commit details
    Browse the repository at this point in the history
  72. power: wl_blocker: drop redundant global initializers

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    4e05104 View commit details
    Browse the repository at this point in the history
  73. sound: add moro sound module

    Added Moro Sound Module
    
    Signed-off-by: Nico Becker <[email protected]>
    Signed-off-by: Denis Efremov <[email protected]>
    NicoMax2012 authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    1416514 View commit details
    Browse the repository at this point in the history
  74. sound: moro: fix reg_dump_show() output

    Remove first variable, because it's not used in fmt string.
    Swap get_headphone_gain_l(), headphone_gain_l, get_headphone_gain_r(),
    headphone_gain_r according to the fmt string.
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    6da8976 View commit details
    Browse the repository at this point in the history
  75. sound: moro: mark functions with __init, __exit attrs

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    7101c79 View commit details
    Browse the repository at this point in the history
  76. sound: moro: add pr_fmt macro

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    33a0e8f View commit details
    Browse the repository at this point in the history
  77. sound: moro: add misc_deregister in exit function

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    941aff0 View commit details
    Browse the repository at this point in the history
  78. sound: moro: add error handling to init function

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    6f18d44 View commit details
    Browse the repository at this point in the history
  79. sound: moro: fix device attr permissions

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    4697b24 View commit details
    Browse the repository at this point in the history
  80. cpufreq: Introduce fingerprint boost driver

    This driver, based on Sultanxda's input boost driver,
    boosts all available cpus to max freq after recieving
    an input notification from the fingerprint sensor to
    reduce lag.
    
    Signed-off-by: Joe Maples <[email protected]>
    frap129 authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    34ae03e View commit details
    Browse the repository at this point in the history
  81. block: Add Maple I/O scheduler

    Angheloaia Victor authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    00d4e38 View commit details
    Browse the repository at this point in the history
  82. block: Add FIOPS I/O scheduler

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    629de1f View commit details
    Browse the repository at this point in the history
  83. block: Add SIO I/O scheduler

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    dab9d63 View commit details
    Browse the repository at this point in the history
  84. block: Add ZEN I/O Scheduler

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    50dfc1f View commit details
    Browse the repository at this point in the history
  85. block: Add Anxiety I/O scheduler

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    694d7c7 View commit details
    Browse the repository at this point in the history
  86. fs: add reiser4 filesystem

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    3e2fc01 View commit details
    Browse the repository at this point in the history
  87. configs: add cruel config

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    c915ff6 View commit details
    Browse the repository at this point in the history
  88. configs: add magisk config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    f6a1837 View commit details
    Browse the repository at this point in the history
  89. configs: add wireguard config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    c1953e4 View commit details
    Browse the repository at this point in the history
  90. configs: add nohardening config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    13599ac View commit details
    Browse the repository at this point in the history
  91. configs: add 1000hz 300hz 100hz 50hz 25hz config presets

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    e309a08 View commit details
    Browse the repository at this point in the history
  92. configs: add nohardening2 config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    e9c66da View commit details
    Browse the repository at this point in the history
  93. configs: add iptables ttl/hop config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    5fa8d30 View commit details
    Browse the repository at this point in the history
  94. configs: add cifs config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    4b70d88 View commit details
    Browse the repository at this point in the history
  95. configs: add nodebug config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    8bbe459 View commit details
    Browse the repository at this point in the history
  96. configs: add cpu shedulers config presets

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    46f29d5 View commit details
    Browse the repository at this point in the history
  97. configs: add boeffla_wl_blocker config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    7ff0918 View commit details
    Browse the repository at this point in the history
  98. configs: add size config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    29b77ca View commit details
    Browse the repository at this point in the history
  99. configs: add performance config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    e603630 View commit details
    Browse the repository at this point in the history
  100. configs: add nomodules config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    31b7a01 View commit details
    Browse the repository at this point in the history
  101. configs: add noksm config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    8b4bcb5 View commit details
    Browse the repository at this point in the history
  102. configs: add mass_storage config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    8226088 View commit details
    Browse the repository at this point in the history
  103. configs: add noaudit config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    4845aa1 View commit details
    Browse the repository at this point in the history
  104. configs: add always_enforce config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    29320eb View commit details
    Browse the repository at this point in the history
  105. configs: add always_permit config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    6f726fc View commit details
    Browse the repository at this point in the history
  106. configs: add sdfat config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    18e538f View commit details
    Browse the repository at this point in the history
  107. configs: add ntfs config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    8215449 View commit details
    Browse the repository at this point in the history
  108. configs: add morosound config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    706f1e0 View commit details
    Browse the repository at this point in the history
  109. configs: add io_bfq config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    5939703 View commit details
    Browse the repository at this point in the history
  110. configs: add io_maple config preset

    Angheloaia Victor authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    e22beb4 View commit details
    Browse the repository at this point in the history
  111. configs: add io_fiops config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    2bffc22 View commit details
    Browse the repository at this point in the history
  112. configs: add io_sio config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    0786215 View commit details
    Browse the repository at this point in the history
  113. configs: add io_zen config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    eea90b9 View commit details
    Browse the repository at this point in the history
  114. configs: add io_noop config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    1bfb020 View commit details
    Browse the repository at this point in the history
  115. configs: add io_anxiety config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    b87dce5 View commit details
    Browse the repository at this point in the history
  116. configs: add io_cfq config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    5795d4a View commit details
    Browse the repository at this point in the history
  117. configs: add tcp_window_64k config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    7323b4f View commit details
    Browse the repository at this point in the history
  118. configs: add tcp_cubic config preset

    Thanks, @HRTKernel!
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    91e4457 View commit details
    Browse the repository at this point in the history
  119. configs: add tcp_westwood config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    5e8904e View commit details
    Browse the repository at this point in the history
  120. configs: add tcp_htcp config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    75cc092 View commit details
    Browse the repository at this point in the history
  121. configs: add tcp_bic config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    c054d51 View commit details
    Browse the repository at this point in the history
  122. configs: add tcp_bbr config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    1ee07fc View commit details
    Browse the repository at this point in the history
  123. configs: add noswap config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    402e4c8 View commit details
    Browse the repository at this point in the history
  124. configs: add nozram config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    9debcee View commit details
    Browse the repository at this point in the history
  125. configs: add noatime config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    5ee0554 View commit details
    Browse the repository at this point in the history
  126. configs: add kexec config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    d48815a View commit details
    Browse the repository at this point in the history
  127. configs: add kali config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    5c2d6c4 View commit details
    Browse the repository at this point in the history
  128. configs: add usb_serial config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    29d56b9 View commit details
    Browse the repository at this point in the history
  129. configs: add faultinjection config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    4de3cc6 View commit details
    Browse the repository at this point in the history
  130. configs: add debug config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    e583f87 View commit details
    Browse the repository at this point in the history
  131. configs: add gcov config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    72b4339 View commit details
    Browse the repository at this point in the history
  132. configs: add lto config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    16bc513 View commit details
    Browse the repository at this point in the history
  133. configs: add dtb config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    bef9196 View commit details
    Browse the repository at this point in the history
  134. configs: add kvm config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    1bb9e25 View commit details
    Browse the repository at this point in the history
  135. configs: add simple_lmk config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    448d004 View commit details
    Browse the repository at this point in the history
  136. configs: add reiser4 config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    4841c9a View commit details
    Browse the repository at this point in the history
  137. configs: add force_dex_wqhd config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    7841223 View commit details
    Browse the repository at this point in the history
  138. configs: add polly config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    2ac84af View commit details
    Browse the repository at this point in the history
  139. configs: add graphite config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    4546e21 View commit details
    Browse the repository at this point in the history
  140. configs: add fp_boost config preset

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    e897f59 View commit details
    Browse the repository at this point in the history
  141. configs: enable boeffla_wl_blocker by default

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    82b4d1b View commit details
    Browse the repository at this point in the history
  142. configs: enable morosound by default

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    8a774d4 View commit details
    Browse the repository at this point in the history
  143. configs: enable nodebug by default

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    fa529c0 View commit details
    Browse the repository at this point in the history
  144. configs: enable wireguard by default

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    cccbf26 View commit details
    Browse the repository at this point in the history
  145. configs: enable cifs by default

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    00b6b16 View commit details
    Browse the repository at this point in the history
  146. configs: enable ntfs by default

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    2a5db80 View commit details
    Browse the repository at this point in the history
  147. configs: enable ttl by default

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    4b403cd View commit details
    Browse the repository at this point in the history
  148. configs: enable usb_serial by default

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    134f847 View commit details
    Browse the repository at this point in the history
  149. configs: enable sdfat by default

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    3fe5e2b View commit details
    Browse the repository at this point in the history
  150. configs: enable sched_performance by default

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    76292d1 View commit details
    Browse the repository at this point in the history
  151. configs: enable sched_powersave by default

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    f582f54 View commit details
    Browse the repository at this point in the history
  152. configs: enable force_dex_wqhd by default

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    bdd90ab View commit details
    Browse the repository at this point in the history
  153. samsung: integrate different models in a single tree

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    d6e9cde View commit details
    Browse the repository at this point in the history
  154. cruelbuild: add python build script

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    1aa4c62 View commit details
    Browse the repository at this point in the history
  155. actions: add main.yml

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    cb08e5d View commit details
    Browse the repository at this point in the history
  156. README.md

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    a95c127 View commit details
    Browse the repository at this point in the history
  157. ANDROID: sched/fair: initialise util_est values to 0 on fork

    Since "sched/fair: Align PELT windows between cfs_rq and its se" the
    upstream kernel has initialised the whole content of sched_avg to zero
    on fork. When util_est was backported, we missed this and so ended up
    with util_est values copied from the parent task.
    
    Add the zero initialisation which is present upstream and ensure that
    util_est values always start from a known point.
    
    Fixes: 700f117 ("BACKPORT: sched/fair: Add util_est on top of PELT")
    Reported-by: Puja Gupta <[email protected]>
    Cc: Dietmar Eggemann <[email protected]>
    Cc: Abhijeet Dharmapurikar <[email protected]>
    Cc: Patrick Bellasi <[email protected]>
    Cc: Todd Kjos <[email protected]>
    Cc: Saravana Kannan <[email protected]>
    Change-Id: I06995e4320d606a52761d0e773baf28fcd1e2680
    Signed-off-by: Chris Redpath <[email protected]>
    Signed-off-by: celtare21 <[email protected]>
    (cherry picked from commit a4af8d41cb4acf9c689f27e4afc81692520eb1bb)
    (cherry picked from commit e701e0d73c2917ed34951b7f509cdb40c795e38d)
    credp authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    e917bf0 View commit details
    Browse the repository at this point in the history
  158. cpufreq: schedutil: Ignore work_in_progress

    Blindly ignoring frequency updates because of work_in_progress can leave
    the CPUs at the wrong frequency for a long time. It's better to update the
    frequency immediately than wait for a future event that might take a long
    time to come. The irq_work code already ignores double queuing of work. So,
    that part of the code is still safe when the work_in_progress flag is
    ignored.
    
    Change-Id: Id0b3711314dfbfa18b5f4bce30a239ee3cf962d6
    Signed-off-by: Vikram Mulukutla <[email protected]>
    Signed-off-by: Saravana Kannan <[email protected]>
    (cherry picked from commit 5dec9a7e188d43d9639e4c3e3315f0047f83d96a)
    (cherry picked from commit 33628fe3cd7c3d9590113901647655478e822927)
    Vikram Mulukutla authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    39ff39b View commit details
    Browse the repository at this point in the history
  159. mmc: core: make crc control switchable

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    5cf3fab View commit details
    Browse the repository at this point in the history
  160. arm64: Add 32-bit sigcontext definition to uapi signcontext.h

    The arm64 uapi sigcontext.h can be included by 32-bit userspace
    modules. Since arm and arm64 sigcontext definition are not
    compatible, add arm sigcontext definition to arm64 sigcontext.h.
    
    Change-Id: I94109b094f6c8376fdaeb2822d7b26d18ddfb2bc
    Signed-off-by: David Ng <[email protected]>
    Signed-off-by: Ameya Thakur <[email protected]>
    Signed-off-by: Prasad Sodagudi <[email protected]>
    boedhack authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    73522ec View commit details
    Browse the repository at this point in the history
  161. video: mdnie: fix lux node permissions

    Stricted authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    333fbf4 View commit details
    Browse the repository at this point in the history
  162. drivers:soc:samsung: Fix divide by zero issues in macros

    Signed-Off-by: Andreas Schneider <[email protected]>
    cryptomilk authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    f82059e View commit details
    Browse the repository at this point in the history
  163. arch:arm64:boot:dts: Fix include path for autoconf.h

    Signed-off-by: Andreas Schneider <[email protected]>
    cryptomilk authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    96650e6 View commit details
    Browse the repository at this point in the history
  164. scripts: FIPS: use readelf full path

    erfanoabdi authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    c7c71aa View commit details
    Browse the repository at this point in the history
  165. scripts: FIPS: check readelf binary existance

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    a9d82f2 View commit details
    Browse the repository at this point in the history
  166. usb: Modify mass_storage gadget to work with configfs

    Signed-off-by: djb77 <[email protected]>
    jimzrt authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    fd3610f View commit details
    Browse the repository at this point in the history
  167. usb: correct function name

    Other drivers like the mtp driver use a proper 'function.name'
    to make the configfs work. So lets correct mass storages name
    which will allow drivedroid to work.
    Noxxxious authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    dbe25a4 View commit details
    Browse the repository at this point in the history
  168. fs: don't clear I_DIRTY_TIME before calling mark_inode_dirty_sync

    __mark_inode_dirty already takes care of that, and for the XFS lazytime
    implementation we need to know that ->dirty_inode was called because
    I_DIRTY_TIME was set.
    
    Signed-off-by: Christoph Hellwig <[email protected]>
    Reviewed-by: Jan Kara <[email protected]>
    Reviewed-by: Darrick J. Wong <[email protected]>
    Signed-off-by: Darrick J. Wong <[email protected]>
    Christoph Hellwig authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    18d166b View commit details
    Browse the repository at this point in the history
  169. x86/boot: Discard .eh_frame sections

    When using GCC as compiler and LLVM's lld as linker, linking setup.elf
    fails:
    
       LD      arch/x86/boot/setup.elf
      ld.lld: error: init sections too big!
    
    This happens because GCC generates .eh_frame sections for most of the
    files in that directory, then ld.lld places the merged section before
    __end_init, triggering an assert in the linker script.
    
    Fix this by discarding the .eh_frame sections, as suggested by Boris.
    The kernel proper linker script discards them too.
    
     [ bp: Going back in history, 64-bit kernel proper has been discarding
       .eh_frame since 2002:
    
        commit acca80acefe20420e69561cf55be64f16c34ea97
        Author: Andi Kleen <[email protected]>
        Date:   Tue Oct 29 23:54:35 2002 -0800
    
          [PATCH] x86-64 updates for 2.5.44
    
          ...
    
        - Remove the .eh_frame on linking. This saves several hundred KB in the
          bzImage
     ]
    
    Suggested-by: Borislav Petkov <[email protected]>
    Signed-off-by: Ilie Halip <[email protected]>
    Signed-off-by: Borislav Petkov <[email protected]>
    Reviewed-by: Nick Desaulniers <[email protected]
    Cc: Andy Lutomirski <[email protected]>
    Cc: [email protected]
    Cc: "H. Peter Anvin" <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Cc: x86-ml <[email protected]>
    Link: https://lore.kernel.org/lkml/[email protected]/
    Link: ClangBuiltLinux/linux#760
    Link: https://lkml.kernel.org/r/[email protected]
    ihalip authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    b9541a4 View commit details
    Browse the repository at this point in the history
  170. kbuild: clear LDFLAGS in the top Makefile

    Currently LDFLAGS is not cleared, so same flags are accumulated in
    LDFLAGS when the top Makefile is recursively invoked.
    
    I found unneeded rebuild for ARCH=arm64 when CONFIG_TRIM_UNUSED_KSYMS
    is enabled.  If include/generated/autoksyms.h is updated, the top
    Makefile is recursively invoked, then arch/arm64/Makefile adds one
    more '-maarch64linux'.  Due to the command line change, modules are
    rebuilt needlessly.
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    Acked-by: Nicolas Pitre <[email protected]>
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    ede19aa View commit details
    Browse the repository at this point in the history
  171. kbuild: compute false-positive -Wmaybe-uninitialized cases in Kconfig

    Since -Wmaybe-uninitialized was introduced by GCC 4.7, we have patched
    various false positives:
    
     - commit e74fc97 ("Turn off -Wmaybe-uninitialized when building
       with -Os") turned off this option for -Os.
    
     - commit 815eb71 ("Kbuild: disable 'maybe-uninitialized' warning
       for CONFIG_PROFILE_ALL_BRANCHES") turned off this option for
       CONFIG_PROFILE_ALL_BRANCHES
    
     - commit a76bcf5 ("Kbuild: enable -Wmaybe-uninitialized warning
       for "make W=1"") turned off this option for GCC < 4.9
       Arnd provided more explanation in https://lkml.org/lkml/2017/3/14/903
    
    I think this looks better by shifting the logic from Makefile to Kconfig.
    
    Link: ClangBuiltLinux/linux#350
    Signed-off-by: Masahiro Yamada <[email protected]>
    Reviewed-by: Nathan Chancellor <[email protected]>
    Tested-by: Nick Desaulniers <[email protected]>
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    6b8493a View commit details
    Browse the repository at this point in the history
  172. Revert "kbuild: use -Oz instead of -Os when using clang"

    The clang option -Oz enables *aggressive* optimization for size,
    which doesn't necessarily result in smaller images, but can have
    negative impact on performance. Switch back to the less aggressive
    -Os.
    
    This reverts commit 6748cb3.
    
    Suggested-by: Peter Zijlstra <[email protected]>
    Signed-off-by: Matthias Kaehlcke <[email protected]>
    Reviewed-by: Nick Desaulniers <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    Matthias Kaehlcke authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    783ae62 View commit details
    Browse the repository at this point in the history
  173. kbuild,arc: add CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 for ARC

    arch/arc/Makefile overrides -O2 with -O3. This is the only user of
    ARCH_CFLAGS. There is no user of ARCH_CPPFLAGS or ARCH_AFLAGS.
    My plan is to remove ARCH_{CPP,A,C}FLAGS after refactoring the ARC
    Makefile.
    
    Currently, ARC has no way to enable -Wmaybe-uninitialized because both
    -O3 and -Os disable it. Enabling it will be useful for compile-testing.
    This commit allows allmodconfig (, which defaults to -O2) to enable it.
    
    Add CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3=y to all the defconfig files
    in arch/arc/configs/ in order to keep the current config settings.
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    Acked-by: Vineet Gupta <[email protected]>
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    ad1093d View commit details
    Browse the repository at this point in the history
  174. Stop the ad-hoc games with -Wno-maybe-initialized

    We have some rather random rules about when we accept the
    "maybe-initialized" warnings, and when we don't.
    
    For example, we consider it unreliable for gcc versions < 4.9, but also
    if -O3 is enabled, or if optimizing for size.  And then various kernel
    config options disabled it, because they know that they trigger that
    warning by confusing gcc sufficiently (ie PROFILE_ALL_BRANCHES).
    
    And now gcc-10 seems to be introducing a lot of those warnings too, so
    it falls under the same heading as 4.9 did.
    
    At the same time, we have a very straightforward way to _enable_ that
    warning when wanted: use "W=2" to enable more warnings.
    
    So stop playing these ad-hoc games, and just disable that warning by
    default, with the known and straight-forward "if you want to work on the
    extra compiler warnings, use W=123".
    
    Would it be great to have code that is always so obvious that it never
    confuses the compiler whether a variable is used initialized or not?
    Yes, it would.  In a perfect world, the compilers would be smarter, and
    our source code would be simpler.
    
    That's currently not the world we live in, though.
    
    Signed-off-by: Linus Torvalds <[email protected]>
    torvalds authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    aacfe66 View commit details
    Browse the repository at this point in the history
  175. Kconfig: allow CC_OPTIMIZE_FOR_PERFORMANCE_O3 on all arches

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    0d55872 View commit details
    Browse the repository at this point in the history
  176. scripts/dtc: Remove redundant YYLOC global declaration

    gcc 10 will default to -fno-common, which causes this error at link
    time:
    
      (.text+0x0): multiple definition of `yylloc'; dtc-lexer.lex.o (symbol from plugin):(.text+0x0): first defined here
    
    This is because both dtc-lexer as well as dtc-parser define the same
    global symbol yyloc. Before with -fcommon those were merged into one
    defintion. The proper solution would be to to mark this as "extern",
    however that leads to:
    
      dtc-lexer.l:26:16: error: redundant redeclaration of 'yylloc' [-Werror=redundant-decls]
       26 | extern YYLTYPE yylloc;
          |                ^~~~~~
    In file included from dtc-lexer.l:24:
    dtc-parser.tab.h:127:16: note: previous declaration of 'yylloc' was here
      127 | extern YYLTYPE yylloc;
          |                ^~~~~~
    cc1: all warnings being treated as errors
    
    which means the declaration is completely redundant and can just be
    dropped.
    
    Signed-off-by: Dirk Mueller <[email protected]>
    Signed-off-by: David Gibson <[email protected]>
    [robh: cherry-pick from upstream]
    Cc: [email protected]
    Signed-off-by: Rob Herring <[email protected]>
    [evdenis: scripts/dtc/dtc-parser.tab.c_shipped fixed]
    Signed-off-by: Denis Efremov <[email protected]>
    dirkmueller authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    923cde6 View commit details
    Browse the repository at this point in the history
  177. Configuration menu
    Copy the full SHA
    fa6cb0a View commit details
    Browse the repository at this point in the history
  178. gcc-9: silence 'address-of-packed-member' warning

    commit 6f303d60534c46aa1a239f29c321f95c83dda748 upstream.
    
    We already did this for clang, but now gcc has that warning too.  Yes,
    yes, the address may be unaligned.  And that's kind of the point.
    
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    torvalds authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    61779c2 View commit details
    Browse the repository at this point in the history
  179. Compiler Attributes: add support for __copy (gcc >= 9)

    commit c0d9782f5b6d7157635ae2fd782a4b27d55a6013 upstream.
    
    From the GCC manual:
    
      copy
      copy(function)
    
        The copy attribute applies the set of attributes with which function
        has been declared to the declaration of the function to which
        the attribute is applied. The attribute is designed for libraries
        that define aliases or function resolvers that are expected
        to specify the same set of attributes as their targets. The copy
        attribute can be used with functions, variables, or types. However,
        the kind of symbol to which the attribute is applied (either
        function or variable) must match the kind of symbol to which
        the argument refers. The copy attribute copies only syntactic and
        semantic attributes but not attributes that affect a symbol’s
        linkage or visibility such as alias, visibility, or weak.
        The deprecated attribute is also not copied.
    
      https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html
    
    The upcoming GCC 9 release extends the -Wmissing-attributes warnings
    (enabled by -Wall) to C and aliases: it warns when particular function
    attributes are missing in the aliases but not in their target, e.g.:
    
        void __cold f(void) {}
        void __alias("f") g(void);
    
    diagnoses:
    
        warning: 'g' specifies less restrictive attribute than
        its target 'f': 'cold' [-Wmissing-attributes]
    
    Using __copy(f) we can copy the __cold attribute from f to g:
    
        void __cold f(void) {}
        void __copy(f) __alias("f") g(void);
    
    This attribute is most useful to deal with situations where an alias
    is declared but we don't know the exact attributes the target has.
    
    For instance, in the kernel, the widely used module_init/exit macros
    define the init/cleanup_module aliases, but those cannot be marked
    always as __init/__exit since some modules do not have their
    functions marked as such.
    
    Suggested-by: Martin Sebor <[email protected]>
    Reviewed-by: Nick Desaulniers <[email protected]>
    Signed-off-by: Miguel Ojeda <[email protected]>
    Signed-off-by: Stefan Agner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    ojeda authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    67c1403 View commit details
    Browse the repository at this point in the history
  180. include/linux/module.h: copy __init/__exit attrs to init/cleanup_module

    commit a6e60d84989fa0e91db7f236eda40453b0e44afa upstream.
    
    The upcoming GCC 9 release extends the -Wmissing-attributes warnings
    (enabled by -Wall) to C and aliases: it warns when particular function
    attributes are missing in the aliases but not in their target.
    
    In particular, it triggers for all the init/cleanup_module
    aliases in the kernel (defined by the module_init/exit macros),
    ending up being very noisy.
    
    These aliases point to the __init/__exit functions of a module,
    which are defined as __cold (among other attributes). However,
    the aliases themselves do not have the __cold attribute.
    
    Since the compiler behaves differently when compiling a __cold
    function as well as when compiling paths leading to calls
    to __cold functions, the warning is trying to point out
    the possibly-forgotten attribute in the alias.
    
    In order to keep the warning enabled, we decided to silence
    this case. Ideally, we would mark the aliases directly
    as __init/__exit. However, there are currently around 132 modules
    in the kernel which are missing __init/__exit in their init/cleanup
    functions (either because they are missing, or for other reasons,
    e.g. the functions being called from somewhere else); and
    a section mismatch is a hard error.
    
    A conservative alternative was to mark the aliases as __cold only.
    However, since we would like to eventually enforce __init/__exit
    to be always marked,  we chose to use the new __copy function
    attribute (introduced by GCC 9 as well to deal with this).
    With it, we copy the attributes used by the target functions
    into the aliases. This way, functions that were not marked
    as __init/__exit won't have their aliases marked either,
    and therefore there won't be a section mismatch.
    
    Note that the warning would go away marking either the extern
    declaration, the definition, or both. However, we only mark
    the definition of the alias, since we do not want callers
    (which only see the declaration) to be compiled as if the function
    was __cold (and therefore the paths leading to those calls
    would be assumed to be unlikely).
    
    Link: https://lore.kernel.org/lkml/[email protected]/
    Link: https://lore.kernel.org/lkml/[email protected]/
    Suggested-by: Martin Sebor <[email protected]>
    Acked-by: Jessica Yu <[email protected]>
    Signed-off-by: Miguel Ojeda <[email protected]>
    Signed-off-by: Stefan Agner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    ojeda authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    24dad93 View commit details
    Browse the repository at this point in the history
  181. kbuild: Add -Werror=unknown-warning-option to CLANG_FLAGS

    [ Upstream commit 589834b3a0097a4908f4112eac0ca2feb486fa32 ]
    
    In commit ebcc5928c5d9 ("arm64: Silence gcc warnings about arch ABI
    drift"), the arm64 Makefile added -Wno-psabi to KBUILD_CFLAGS, which is
    a GCC only option so clang rightfully complains:
    
    warning: unknown warning option '-Wno-psabi' [-Wunknown-warning-option]
    
    https://clang.llvm.org/docs/DiagnosticsReference.html#wunknown-warning-option
    
    However, by default, this is merely a warning so the build happily goes
    on with a slew of these warnings in the process.
    
    Commit c3f0d0b ("kbuild, LLVMLinux: Add -Werror to cc-option to
    support clang") worked around this behavior in cc-option by adding
    -Werror so that unknown flags cause an error. However, this all happens
    silently and when an unknown flag is added to the build unconditionally
    like -Wno-psabi, cc-option will always fail because there is always an
    unknown flag in the list of flags. This manifested as link time failures
    in the arm64 libstub because -fno-stack-protector didn't get added to
    KBUILD_CFLAGS.
    
    To avoid these weird cryptic failures in the future, make clang behave
    like gcc and immediately error when it encounters an unknown flag by
    adding -Werror=unknown-warning-option to CLANG_FLAGS. This can be added
    unconditionally for clang because it is supported by at least 3.0.0,
    according to godbolt [1] and 4.0.0, according to its documentation [2],
    which is far earlier than we typically support.
    
    [1]: https://godbolt.org/z/7F7rm3
    [2]: https://releases.llvm.org/4.0.0/tools/clang/docs/DiagnosticsReference.html#wunknown-warning-option
    
    Link: ClangBuiltLinux/linux#511
    Link: ClangBuiltLinux/linux#517
    Suggested-by: Peter Smith <[email protected]>
    Signed-off-by: Nathan Chancellor <[email protected]>
    Tested-by: Nick Desaulniers <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    nathanchance authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    e443ff7 View commit details
    Browse the repository at this point in the history
  182. kbuild: initialize CLANG_FLAGS correctly in the top Makefile

    commit 5241ab4cf42d3a93b933b55d3d53f43049081fa1 upstream.
    
    CLANG_FLAGS is initialized by the following line:
    
      CLANG_FLAGS     := --target=$(notdir $(CROSS_COMPILE:%-=%))
    
    ..., which is run only when CROSS_COMPILE is set.
    
    Some build targets (bindeb-pkg etc.) recurse to the top Makefile.
    
    When you build the kernel with Clang but without CROSS_COMPILE,
    the same compiler flags such as -no-integrated-as are accumulated
    into CLANG_FLAGS.
    
    If you run 'make CC=clang' and then 'make CC=clang bindeb-pkg',
    Kbuild will recompile everything needlessly due to the build command
    change.
    
    Fix this by correctly initializing CLANG_FLAGS.
    
    Fixes: 238bcbc4e07f ("kbuild: consolidate Clang compiler flags")
    Cc: <[email protected]> # v5.0+
    Signed-off-by: Masahiro Yamada <[email protected]>
    Reviewed-by: Nathan Chancellor <[email protected]>
    Acked-by: Nick Desaulniers <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    30e9d94 View commit details
    Browse the repository at this point in the history
  183. kbuild: use -fmacro-prefix-map to make __FILE__ a relative path

    [ Upstream commit a73619a845d5625079cc1b3b820f44c899618388 ]
    
    The __FILE__ macro is used everywhere in the kernel to locate the file
    printing the log message, such as WARN_ON(), etc.  If the kernel is
    built out of tree, this can be a long absolute path, like this:
    
      WARNING: CPU: 1 PID: 1 at /path/to/build/directory/arch/arm64/kernel/foo.c:...
    
    This is because Kbuild runs in the objtree instead of the srctree,
    then __FILE__ is expanded to a file path prefixed with $(srctree)/.
    
    Commit 9da0763 ("kbuild: Use relative path when building in a
    subdir of the source tree") improved this to some extent; $(srctree)
    becomes ".." if the objtree is a child of the srctree.
    
    For other cases of out-of-tree build, __FILE__ is still the absolute
    path.  It also means the kernel image depends on where it was built.
    
    A brand-new option from GCC, -fmacro-prefix-map, solves this problem.
    If your compiler supports it, __FILE__ is the relative path from the
    srctree regardless of O= option.  This provides more readable log and
    more reproducible builds.
    
    Please note __FILE__ is always an absolute path for external modules.
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    7d6322a View commit details
    Browse the repository at this point in the history
  184. kbuild: add -fcf-protection=none when using retpoline flags

    [ Upstream commit 29be86d7f9cb18df4123f309ac7857570513e8bc ]
    
    The gcc -fcf-protection=branch option is not compatible with
    -mindirect-branch=thunk-extern. The latter is used when
    CONFIG_RETPOLINE is selected, and this will fail to build with
    a gcc which has -fcf-protection=branch enabled by default. Adding
    -fcf-protection=none when building with retpoline enabled
    prevents such build failures.
    
    Signed-off-by: Seth Forshee <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Seth Forshee authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    9575f6b View commit details
    Browse the repository at this point in the history
  185. kbuild: fix single target build for external module

    [ Upstream commit e07db28eea38ed4e332b3a89f3995c86b713cb5b ]
    
    Building a single target in an external module fails due to missing
    .tmp_versions directory.
    
    For example,
    
      $ make -C /lib/modules/$(uname -r)/build M=$PWD foo.o
    
    will fail in the following way:
    
      CC [M]  /home/masahiro/foo/foo.o
    /bin/sh: 1: cannot create /home/masahiro/foo/.tmp_versions/foo.mod: Directory nonexistent
    
    This is because $(cmd_crmodverdir) is executed only before building
    /, %/, %.ko single targets of external modules. Create .tmp_versions
    in the 'prepare' target.
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    aa3021c View commit details
    Browse the repository at this point in the history
  186. kbuild: mark prepare0 as PHONY to fix external module build

    [ Upstream commit e00d8880481497474792d28c14479a9fb6752046 ]
    
    Commit c3ff2a5193fa ("powerpc/32: add stack protector support")
    caused kernel panic on PowerPC when an external module is used with
    CONFIG_STACKPROTECTOR because the 'prepare' target was not executed
    for the external module build.
    
    Commit e07db28eea38 ("kbuild: fix single target build for external
    module") turned it into a build error because the 'prepare' target is
    now executed but the 'prepare0' target is missing for the external
    module build.
    
    External module on arm/arm64 with CONFIG_STACKPROTECTOR_PER_TASK is
    also broken in the same way.
    
    Move 'PHONY += prepare0' to the common place. GNU Make is fine with
    missing rule for phony targets. I also removed the comment which is
    wrong irrespective of this commit.
    
    I minimize the change so it can be easily backported to 4.20.x
    
    To fix v4.20, please backport e07db28eea38 ("kbuild: fix single target
    build for external module"), and then this commit.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=201891
    Fixes: e07db28eea38 ("kbuild: fix single target build for external module")
    Fixes: c3ff2a5193fa ("powerpc/32: add stack protector support")
    Fixes: 189af4657186 ("ARM: smp: add support for per-task stack canaries")
    Fixes: 0a1213fa7432 ("arm64: enable per-task stack canaries")
    Cc: linux-stable <[email protected]> # v4.20
    Reported-by: Samuel Holland <[email protected]>
    Reported-by: Alexey Kardashevskiy <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    Acked-by: Ard Biesheuvel <[email protected]>
    Tested-by: Alexey Kardashevskiy <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    56b1297 View commit details
    Browse the repository at this point in the history
  187. gcc-10: disable 'zero-length-bounds' warning for now

    commit 5c45de21a2223fe46cf9488c99a7fbcf01527670 upstream.
    
    This is a fine warning, but we still have a number of zero-length arrays
    in the kernel that come from the traditional gcc extension.  Yes, they
    are getting converted to flexible arrays, but in the meantime the gcc-10
    warning about zero-length bounds is very verbose, and is hiding other
    issues.
    
    I missed one actual build failure because it was hidden among hundreds
    of lines of warning.  Thankfully I caught it on the second go before
    pushing things out, but it convinced me that I really need to disable
    the new warnings for now.
    
    We'll hopefully be all done with our conversion to flexible arrays in
    the not too distant future, and we can then re-enable this warning.
    
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    torvalds authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    4308aae View commit details
    Browse the repository at this point in the history
  188. gcc-10: disable 'array-bounds' warning for now

    commit 44720996e2d79e47d508b0abe99b931a726a3197 upstream.
    
    This is another fine warning, related to the 'zero-length-bounds' one,
    but hitting the same historical code in the kernel.
    
    Because C didn't historically support flexible array members, we have
    code that instead uses a one-sized array, the same way we have cases of
    zero-sized arrays.
    
    The one-sized arrays come from either not wanting to use the gcc
    zero-sized array extension, or from a slight convenience-feature, where
    particularly for strings, the size of the structure now includes the
    allocation for the final NUL character.
    
    So with a "char name[1];" at the end of a structure, you can do things
    like
    
           v = my_malloc(sizeof(struct vendor) + strlen(name));
    
    and avoid the "+1" for the terminator.
    
    Yes, the modern way to do that is with a flexible array, and using
    'offsetof()' instead of 'sizeof()', and adding the "+1" by hand.  That
    also technically gets the size "more correct" in that it avoids any
    alignment (and thus padding) issues, but this is another long-term
    cleanup thing that will not happen for 5.7.
    
    So disable the warning for now, even though it's potentially quite
    useful.  Having a slew of warnings that then hide more urgent new issues
    is not an improvement.
    
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    torvalds authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    68341bc View commit details
    Browse the repository at this point in the history
  189. gcc-10: disable 'stringop-overflow' warning for now

    commit 5a76021c2eff7fcf2f0918a08fd8a37ce7922921 upstream.
    
    This is the final array bounds warning removal for gcc-10 for now.
    
    Again, the warning is good, and we should re-enable all these warnings
    when we have converted all the legacy array declaration cases to
    flexible arrays. But in the meantime, it's just noise.
    
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    torvalds authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    5f0736d View commit details
    Browse the repository at this point in the history
  190. gcc-10: disable 'restrict' warning for now

    commit adc71920969870dfa54e8f40dac8616284832d02 upstream.
    
    gcc-10 now warns about passing aliasing pointers to functions that take
    restricted pointers.
    
    That's actually a great warning, and if we ever start using 'restrict'
    in the kernel, it might be quite useful.  But right now we don't, and it
    turns out that the only thing this warns about is an idiom where we have
    declared a few functions to be "printf-like" (which seems to make gcc
    pick up the restricted pointer thing), and then we print to the same
    buffer that we also use as an input.
    
    And people do that as an odd concatenation pattern, with code like this:
    
        #define sysfs_show_gen_prop(buffer, fmt, ...) \
            snprintf(buffer, PAGE_SIZE, "%s"fmt, buffer, __VA_ARGS__)
    
    where we have 'buffer' as both the destination of the final result, and
    as the initial argument.
    
    Yes, it's a bit questionable.  And outside of the kernel, people do have
    standard declarations like
    
        int snprintf( char *restrict buffer, size_t bufsz,
                      const char *restrict format, ... );
    
    where that output buffer is marked as a restrict pointer that cannot
    alias with any other arguments.
    
    But in the context of the kernel, that 'use snprintf() to concatenate to
    the end result' does work, and the pattern shows up in multiple places.
    And we have not marked our own version of snprintf() as taking restrict
    pointers, so the warning is incorrect for now, and gcc picks it up on
    its own.
    
    If we do start using 'restrict' in the kernel (and it might be a good
    idea if people find places where it matters), we'll need to figure out
    how to avoid this issue for snprintf and friends.  But in the meantime,
    this warning is not useful.
    
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    torvalds authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    c3bbf6b View commit details
    Browse the repository at this point in the history
  191. Makefile: disallow data races on gcc-10 as well

    commit b1112139a103b4b1101d0d2d72931f2d33d8c978 upstream.
    
    gcc-10 will rename --param=allow-store-data-races=0
    to -fno-allow-store-data-races.
    
    The flag change happened at https://gcc.gnu.org/PR92046.
    
    Signed-off-by: Sergei Trofimovich <[email protected]>
    Acked-by: Jiri Kosina <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    Cc: Thomas Backlund <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Sergei Trofimovich authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    3149fc2 View commit details
    Browse the repository at this point in the history
  192. kernel/gcov/fs.c: gcov_seq_next() should increase position index

    [ Upstream commit f4d74ef6220c1eda0875da30457bef5c7111ab06 ]
    
    If seq_file .next function does not change position index, read after
    some lseek can generate unexpected output.
    
    https://bugzilla.kernel.org/show_bug.cgi?id=206283
    Signed-off-by: Vasily Averin <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Acked-by: Peter Oberparleiter <[email protected]>
    Cc: Al Viro <[email protected]>
    Cc: Davidlohr Bueso <[email protected]>
    Cc: Ingo Molnar <[email protected]>
    Cc: Manfred Spraul <[email protected]>
    Cc: NeilBrown <[email protected]>
    Cc: Steven Rostedt <[email protected]>
    Cc: Waiman Long <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    vaverin authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    a932a66 View commit details
    Browse the repository at this point in the history
  193. gcov: Disable gcov build with GCC 10

    [ Upstream commit cfc905f158eaa099d6258031614d11869e7ef71c ]
    
    GCOV built with GCC 10 doesn't initialize n_function variable.  This
    produces different kernel panics as was seen by Colin in Ubuntu and me
    in FC 32.
    
    As a workaround, let's disable GCOV build for broken GCC 10 version.
    
    Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1891288
    Link: https://lore.kernel.org/lkml/[email protected]
    Link: https://lore.kernel.org/lkml/CAHk-=whbijeSdSvx-Xcr0DPMj0BiwhJ+uiNnDSVZcr_h_kg7UA@mail.gmail.com/
    Cc: Colin Ian King <[email protected]>
    Signed-off-by: Leon Romanovsky <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    rleon authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    ef0be80 View commit details
    Browse the repository at this point in the history
  194. gcov: add support for GCC 10.1

    [ Upstream commit 40249c6962075c040fd071339acae524f18bfac9 ]
    
    Using gcov to collect coverage data for kernels compiled with GCC 10.1
    causes random malfunctions and kernel crashes.  This is the result of a
    changed GCOV_COUNTERS value in GCC 10.1 that causes a mismatch between
    the layout of the gcov_info structure created by GCC profiling code and
    the related structure used by the kernel.
    
    Fix this by updating the in-kernel GCOV_COUNTERS value.  Also re-enable
    config GCOV_KERNEL for use with GCC 10.
    
    Reported-by: Colin Ian King <[email protected]>
    Reported-by: Leon Romanovsky <[email protected]>
    Signed-off-by: Peter Oberparleiter <[email protected]>
    Tested-by: Leon Romanovsky <[email protected]>
    Tested-and-Acked-by: Colin Ian King <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    oberpar authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    89cd009 View commit details
    Browse the repository at this point in the history
  195. kbuild: force to build vmlinux if CONFIG_MODVERSION=y

    commit 4b50c8c4eaf06a825d1c005c0b1b4a8307087b83 upstream.
    
    This code does not work as stated in the comment.
    
    $(CONFIG_MODVERSIONS) is always empty because it is expanded before
    include/config/auto.conf is included. Hence, 'make modules' with
    CONFIG_MODVERSION=y cannot record the version CRCs.
    
    This has been broken since 2003, commit ("kbuild: Enable modules to be
    build using the "make dir/" syntax"). [1]
    
    [1]: https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/commit/?id=15c6240cdc44bbeef3c4797ec860f9765ef4f1a7
    Cc: linux-stable <[email protected]> # v2.5.71+
    Signed-off-by: Masahiro Yamada <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    4ea8261 View commit details
    Browse the repository at this point in the history
  196. Makefile: Fix GCC_TOOLCHAIN_DIR prefix for Clang cross compilation

    commit ca9b31f6bb9c6aa9b4e5f0792f39a97bbffb8c51 upstream.
    
    When CROSS_COMPILE is set (e.g. aarch64-linux-gnu-), if
    $(CROSS_COMPILE)elfedit is found at /usr/bin/aarch64-linux-gnu-elfedit,
    GCC_TOOLCHAIN_DIR will be set to /usr/bin/.  --prefix= will be set to
    /usr/bin/ and Clang as of 11 will search for both
    $(prefix)aarch64-linux-gnu-$needle and $(prefix)$needle.
    
    GCC searchs for $(prefix)aarch64-linux-gnu/$version/$needle,
    $(prefix)aarch64-linux-gnu/$needle and $(prefix)$needle. In practice,
    $(prefix)aarch64-linux-gnu/$needle rarely contains executables.
    
    To better model how GCC's -B/--prefix takes in effect in practice, newer
    Clang (since
    llvm/llvm-project@3452a0d)
    only searches for $(prefix)$needle. Currently it will find /usr/bin/as
    instead of /usr/bin/aarch64-linux-gnu-as.
    
    Set --prefix= to $(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE))
    (/usr/bin/aarch64-linux-gnu-) so that newer Clang can find the
    appropriate cross compiling GNU as (when -no-integrated-as is in
    effect).
    
    Cc: [email protected]
    Reported-by: Nathan Chancellor <[email protected]>
    Signed-off-by: Fangrui Song <[email protected]>
    Reviewed-by: Nathan Chancellor <[email protected]>
    Tested-by: Nathan Chancellor <[email protected]>
    Tested-by: Nick Desaulniers <[email protected]>
    Link: ClangBuiltLinux/linux#1099
    Reviewed-by: Nick Desaulniers <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    MaskRay authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    373c33a View commit details
    Browse the repository at this point in the history
  197. kbuild: Add ability to test Clang's integrated assembler

    There are some people interested in experimenting with Clang's
    integrated assembler. To make it easy to do so without source
    modification, allow the user to specify 'AS=clang' as part of the
    make command to avoid adding '-no-integrated-as' to the {A,C}FLAGS.
    
    Link: ClangBuiltLinux/linux#577
    Suggested-by: Dmitry Golovin <[email protected]>
    Signed-off-by: Nathan Chancellor <[email protected]>
    Reviewed-by: Nick Desaulniers <[email protected]>
    Tested-by: Nick Desaulniers <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    nathanchance authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    89ee73d View commit details
    Browse the repository at this point in the history
  198. kbuild: Don't try to add '-fcatch-undefined-behavior' flag

    This is no longer a valid option in clang, it was removed in 3.5, which
    we don't support.
    
    llvm/llvm-project@cb3f812
    
    Signed-off-by: Nathan Chancellor <[email protected]>
    Reviewed-by: Nick Desaulniers <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    nathanchance authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    a63030f View commit details
    Browse the repository at this point in the history
  199. objtool: Support HOSTCFLAGS and HOSTLDFLAGS

    It may be useful to compile host programs with different flags (e.g.
    hardening). Ensure that objtool picks up the appropriate flags.
    
    Signed-off-by: Laura Abbott <[email protected]>
    Signed-off-by: Josh Poimboeuf <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Masahiro Yamada <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Cc: [email protected]
    Link: http://lkml.kernel.org/r/05a360681176f1423cb2fde8faae3a0a0261afc5.1523560825.git.jpoimboe@redhat.com
    Signed-off-by: Ingo Molnar <[email protected]>
    labbott authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    e5a3004 View commit details
    Browse the repository at this point in the history
  200. tools: build: Fixup host c flags

    Commit 0c3b7e4 ("tools build: Add support for host programs format")
    introduced host_c_flags which referenced CHOSTFLAGS. The actual name of the
    variable is HOSTCFLAGS. Fix this up.
    
    Fixes: 0c3b7e4 ("tools build: Add support for host programs format")
    Signed-off-by: Laura Abbott <[email protected]>
    Acked-by: Jiri Olsa <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    labbott authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    1e7177c View commit details
    Browse the repository at this point in the history
  201. kbuild: remove AS variable

    As commit 5ef872636ca7 ("kbuild: get rid of misleading $(AS) from
    documents") noted, we rarely use $(AS) directly in the kernel build.
    
    Now that the only/last user of $(AS) in drivers/net/wan/Makefile was
    converted to $(CC), $(AS) is no longer used in the build process.
    
    You can still pass in AS=clang, which is just a switch to turn on
    the LLVM integrated assembler.
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    Reviewed-by: Nick Desaulniers <[email protected]>
    Tested-by: Nick Desaulniers <[email protected]>
    Reviewed-by: Nathan Chancellor <[email protected]>
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    f4e05f1 View commit details
    Browse the repository at this point in the history
  202. kbuild: replace AS=clang with LLVM_IAS=1

    The 'AS' variable is unused for building the kernel. Only the remaining
    usage is to turn on the integrated assembler. A boolean flag is a better
    fit for this purpose.
    
    AS=clang was added for experts. So, I replaced it with LLVM_IAS=1,
    breaking the backward compatibility.
    
    Suggested-by: Nick Desaulniers <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    Reviewed-by: Nathan Chancellor <[email protected]>
    Reviewed-by: Nick Desaulniers <[email protected]>
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    9965631 View commit details
    Browse the repository at this point in the history
  203. objtool: Allow AR to be overridden with HOSTAR

    Currently, this Makefile hardcodes GNU ar, meaning that if it is not
    available, there is no way to supply a different one and the build will
    fail.
    
      $ make AR=llvm-ar CC=clang LD=ld.lld HOSTAR=llvm-ar HOSTCC=clang \
             HOSTLD=ld.lld HOSTLDFLAGS=-fuse-ld=lld defconfig modules_prepare
      ...
        AR       /out/tools/objtool/libsubcmd.a
      /bin/sh: 1: ar: not found
      ...
    
    Follow the logic of HOST{CC,LD} and allow the user to specify a
    different ar tool via HOSTAR (which is used elsewhere in other
    tools/ Makefiles).
    
    Signed-off-by: Nathan Chancellor <[email protected]>
    Signed-off-by: Josh Poimboeuf <[email protected]>
    Reviewed-by: Nick Desaulniers <[email protected]>
    Reviewed-by: Mukesh Ojha <[email protected]>
    Cc: <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Link: http://lkml.kernel.org/r/80822a9353926c38fd7a152991c6292491a9d0e8.1558028966.git.jpoimboe@redhat.com
    Link: ClangBuiltLinux/linux#481
    Signed-off-by: Ingo Molnar <[email protected]>
    nathanchance authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    dea50dd View commit details
    Browse the repository at this point in the history
  204. kbuild: support LLVM=1 to switch the default tools to Clang/LLVM

    As Documentation/kbuild/llvm.rst implies, building the kernel with a
    full set of LLVM tools gets very verbose and unwieldy.
    
    Provide a single switch LLVM=1 to use Clang and LLVM tools instead
    of GCC and Binutils. You can pass it from the command line or as an
    environment variable.
    
    Please note LLVM=1 does not turn on the integrated assembler. You need
    to pass LLVM_IAS=1 to use it. When the upstream kernel is ready for the
    integrated assembler, I think we can make it default.
    
    We discussed what we need, and we agreed to go with a simple boolean
    flag that switches both target and host tools:
    
      https://lkml.org/lkml/2020/3/28/494
      https://lkml.org/lkml/2020/4/3/43
    
    Some items discussed, but not adopted:
    
    - LLVM_DIR
    
      When multiple versions of LLVM are installed, I just thought supporting
      LLVM_DIR=/path/to/my/llvm/bin/ might be useful.
    
      CC      = $(LLVM_DIR)clang
      LD      = $(LLVM_DIR)ld.lld
        ...
    
      However, we can handle this by modifying PATH. So, we decided to not do
      this.
    
    - LLVM_SUFFIX
    
      Some distributions (e.g. Debian) package specific versions of LLVM with
      naming conventions that use the version as a suffix.
    
      CC      = clang$(LLVM_SUFFIX)
      LD      = ld.lld(LLVM_SUFFIX)
        ...
    
      will allow a user to pass LLVM_SUFFIX=-11 to use clang-11 etc.,
      but the suffixed versions in /usr/bin/ are symlinks to binaries in
      /usr/lib/llvm-#/bin/, so this can also be handled by PATH.
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    Reviewed-by: Nathan Chancellor <[email protected]>
    Tested-by: Nathan Chancellor <[email protected]> # build
    Tested-by: Nick Desaulniers <[email protected]>
    Reviewed-by: Nick Desaulniers <[email protected]>
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    913ebb7 View commit details
    Browse the repository at this point in the history
  205. lib/string.c: implement stpcpy

    LLVM implemented a recent "libcall optimization" that lowers calls to
    `sprintf(dest, "%s", str)` where the return value is used to
    `stpcpy(dest, str) - dest`. This generally avoids the machinery involved
    in parsing format strings.  `stpcpy` is just like `strcpy` except it
    returns the pointer to the new tail of `dest`.  This optimization was
    introduced into clang-12.
    
    Implement this so that we don't observe linkage failures due to missing
    symbol definitions for `stpcpy`.
    
    Similar to last year's fire drill with:
    commit 5f074f3e192f ("lib/string.c: implement a basic bcmp")
    
    The kernel is somewhere between a "freestanding" environment (no full libc)
    and "hosted" environment (many symbols from libc exist with the same
    type, function signature, and semantics).
    
    As H. Peter Anvin notes, there's not really a great way to inform the
    compiler that you're targeting a freestanding environment but would like
    to opt-in to some libcall optimizations (see pr/47280 below), rather than
    opt-out.
    
    Arvind notes, -fno-builtin-* behaves slightly differently between GCC
    and Clang, and Clang is missing many __builtin_* definitions, which I
    consider a bug in Clang and am working on fixing.
    
    Masahiro summarizes the subtle distinction between compilers justly:
      To prevent transformation from foo() into bar(), there are two ways in
      Clang to do that; -fno-builtin-foo, and -fno-builtin-bar.  There is
      only one in GCC; -fno-buitin-foo.
    
    (Any difference in that behavior in Clang is likely a bug from a missing
    __builtin_* definition.)
    
    Masahiro also notes:
      We want to disable optimization from foo() to bar(),
      but we may still benefit from the optimization from
      foo() into something else. If GCC implements the same transform, we
      would run into a problem because it is not -fno-builtin-bar, but
      -fno-builtin-foo that disables that optimization.
    
      In this regard, -fno-builtin-foo would be more future-proof than
      -fno-built-bar, but -fno-builtin-foo is still potentially overkill. We
      may want to prevent calls from foo() being optimized into calls to
      bar(), but we still may want other optimization on calls to foo().
    
    It seems that compilers today don't quite provide the fine grain control
    over which libcall optimizations pseudo-freestanding environments would
    prefer.
    
    Finally, Kees notes that this interface is unsafe, so we should not
    encourage its use.  As such, I've removed the declaration from any
    header, but it still needs to be exported to avoid linkage errors in
    modules.
    
    Reported-by: Sami Tolvanen <[email protected]>
    Suggested-by: Andy Lavr <[email protected]>
    Suggested-by: Arvind Sankar <[email protected]>
    Suggested-by: Joe Perches <[email protected]>
    Suggested-by: Masahiro Yamada <[email protected]>
    Suggested-by: Rasmus Villemoes <[email protected]>
    Signed-off-by: Nick Desaulniers <[email protected]>
    Acked-by: Kees Cook <[email protected]>
    Cc: [email protected]
    Link: https://bugs.llvm.org/show_bug.cgi?id=47162
    Link: https://bugs.llvm.org/show_bug.cgi?id=47280
    Link: ClangBuiltLinux/linux#1126
    Link: https://man7.org/linux/man-pages/man3/stpcpy.3.html
    Link: https://pubs.opengroup.org/onlinepubs/9699919799/functions/stpcpy.html
    Link: https://reviews.llvm.org/D85963
    nickdesaulniers authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    6b40206 View commit details
    Browse the repository at this point in the history
  206. arm64: Use aarch64elf and aarch64elfb emulation mode variants

    The aarch64linux and aarch64linuxb emulation modes are not supported by
    bare-metal toolchains and Linux using them forbids building the kernel
    with these toolchains.
    
    Since there is apparently no reason to target these emulation modes, the
    more generic elf modes are used instead, allowing to build on bare-metal
    toolchains as well as the already-supported ones.
    
    Fixes: 3d6a7b9 ("arm64: ensure the kernel is compiled for LP64")
    
    Cc: [email protected]
    Acked-by: Will Deacon <[email protected]>
    Signed-off-by: Paul Kocialkowski <[email protected]>
    Signed-off-by: Catalin Marinas <[email protected]>
    paulkocialkowski authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    06f2892 View commit details
    Browse the repository at this point in the history
  207. arm64: add endianness option to LDFLAGS instead of LD

    With the recent syntax extension, Kconfig is now able to evaluate the
    compiler / toolchain capability.
    
    However, accumulating flags to 'LD' is not compatible with the way
    it works; 'LD' must be passed to Kconfig to call $(ld-option,...)
    from Kconfig files.  If you tweak 'LD' in arch Makefile depending on
    CONFIG_CPU_BIG_ENDIAN, this would end up with circular dependency
    between Makefile and Kconfig.
    
    Acked-by: Will Deacon <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    Signed-off-by: Catalin Marinas <[email protected]>
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    d6c7a55 View commit details
    Browse the repository at this point in the history
  208. Revert "arm64: Use aarch64elf and aarch64elfb emulation mode variants"

    This reverts commit 38fc4248677552ce35efc09902fdcb06b61d7ef9.
    
    Distributions such as Fedora and Debian do not package the ELF linker
    scripts with their toolchains, resulting in kernel build failures such
    as:
    
      |   CHK     include/generated/compile.h
      |   LD [M]  arch/arm64/crypto/sha512-ce.o
      | aarch64-linux-gnu-ld: cannot open linker script file ldscripts/aarch64elf.xr: No such file or directory
      | make[1]: *** [scripts/Makefile.build:530: arch/arm64/crypto/sha512-ce.o] Error 1
      | make: *** [Makefile:1029: arch/arm64/crypto] Error 2
    
    Revert back to the linux targets for now, adding a comment to the Makefile
    so we don't accidentally break this in the future.
    
    Cc: Paul Kocialkowski <[email protected]>
    Cc: <[email protected]>
    Fixes: 38fc42486775 ("arm64: Use aarch64elf and aarch64elfb emulation mode variants")
    Tested-by: Kevin Hilman <[email protected]>
    Signed-off-by: Laura Abbott <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    labbott authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    1b77ae0 View commit details
    Browse the repository at this point in the history
  209. kbuild: simplify ld-option implementation

    commit 0294e6f4a0006856e1f36b8cd8fa088d9e499e98 upstream.
    
    Currently, linker options are tested by the coordination of $(CC) and
    $(LD) because $(LD) needs some object to link.
    
    As commit 86a9df597cdd ("kbuild: fix linker feature test macros when
    cross compiling with Clang") addressed, we need to make sure $(CC)
    and $(LD) agree the underlying architecture of the passed object.
    
    This could be a bit complex when we combine tools from different groups.
    For example, we can use clang for $(CC), but we still need to rely on
    GCC toolchain for $(LD).
    
    So, I was searching for a way of standalone testing of linker options.
    A trick I found is to use '-v'; this not only prints the version string,
    but also tests if the given option is recognized.
    
    If a given option is supported,
    
      $ aarch64-linux-gnu-ld -v --fix-cortex-a53-843419
      GNU ld (Linaro_Binutils-2017.11) 2.28.2.20170706
      $ echo $?
      0
    
    If unsupported,
    
      $ aarch64-linux-gnu-ld -v --fix-cortex-a53-843419
      GNU ld (crosstool-NG linaro-1.13.1-4.7-2013.04-20130415 - Linaro GCC 2013.04) 2.23.1
      aarch64-linux-gnu-ld: unrecognized option '--fix-cortex-a53-843419'
      aarch64-linux-gnu-ld: use the --help option for usage information
      $ echo $?
      1
    
    Gold works likewise.
    
      $ aarch64-linux-gnu-ld.gold -v --fix-cortex-a53-843419
      GNU gold (Linaro_Binutils-2017.11 2.28.2.20170706) 1.14
      masahiro@pug:~/ref/linux$ echo $?
      0
      $ aarch64-linux-gnu-ld.gold -v --fix-cortex-a53-999999
      GNU gold (Linaro_Binutils-2017.11 2.28.2.20170706) 1.14
      aarch64-linux-gnu-ld.gold: --fix-cortex-a53-999999: unknown option
      aarch64-linux-gnu-ld.gold: use the --help option for usage information
      $ echo $?
      1
    
    LLD too.
    
      $ ld.lld -v --gc-sections
      LLD 7.0.0 (http://llvm.org/git/lld.git 4a0e4190e74cea19f8a8dc625ccaebdf8b5d1585) (compatible with GNU linkers)
      $ echo $?
      0
      $ ld.lld -v --fix-cortex-a53-843419
      LLD 7.0.0 (http://llvm.org/git/lld.git 4a0e4190e74cea19f8a8dc625ccaebdf8b5d1585) (compatible with GNU linkers)
      $ echo $?
      0
      $ ld.lld -v --fix-cortex-a53-999999
      ld.lld: error: unknown argument: --fix-cortex-a53-999999
      LLD 7.0.0 (http://llvm.org/git/lld.git 4a0e4190e74cea19f8a8dc625ccaebdf8b5d1585) (compatible with GNU linkers)
      $ echo $?
      1
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    Tested-by: Nick Desaulniers <[email protected]>
    [nc: try-run-cached was added later, just use try-run, which is the
         current mainline state]
    Signed-off-by: Nathan Chancellor <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    236f6bb View commit details
    Browse the repository at this point in the history
  210. arm64: build with baremetal linker target instead of Linux when avail…

    …able
    
    Not all toolchains have the baremetal elf targets, RedHat/Fedora ones
    in particular. So, probe for whether it's available and use the previous
    (linux) targets if it isn't.
    
    Reported-by: Laura Abbott <[email protected]>
    Tested-by: Laura Abbott <[email protected]>
    Acked-by: Masahiro Yamada <[email protected]>
    Cc: Paul Kocialkowski <[email protected]>
    Signed-off-by: Olof Johansson <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    olofj authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    b095cc8 View commit details
    Browse the repository at this point in the history
  211. kbuild: add variables for compression tools

    commit 8dfb61dcbaceb19a5ded5e9c9dcf8d05acc32294 upstream.
    
    Allow user to use alternative implementations of compression tools,
    such as pigz, pbzip2, pxz. For example, multi-threaded tools to
    speed up the build:
    $ make KGZIP=pigz KBZIP2=pbzip2
    
    Variables KGZIP, KBZIP2, KLZOP are used internally because original env
    vars are reserved by the tools. The use of GZIP in gzip tool is obsolete
    since 2015. However, alternative implementations (e.g., pigz) still rely
    on it. BZIP2, BZIP, LZOP vars are not obsolescent.
    
    The credit goes to @grsecurity.
    
    As a sidenote, for multi-threaded lzma, xz compression one can use:
    $ export XZ_OPT="--threads=0"
    
    Signed-off-by: Denis Efremov <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    Signed-off-by: Matthias Maennich <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    5f5cfc9 View commit details
    Browse the repository at this point in the history
  212. arm64: Silence gcc warnings about arch ABI drift

    Since GCC 9, the compiler warns about evolution of the
    platform-specific ABI, in particular relating for the marshaling of
    certain structures involving bitfields.
    
    The kernel is a standalone binary, and of course nobody would be
    so stupid as to expose structs containing bitfields as function
    arguments in ABI.  (Passing a pointer to such a struct, however
    inadvisable, should be unaffected by this change.  perf and various
    drivers rely on that.)
    
    So these warnings do more harm than good: turn them off.
    
    We may miss warnings about future ABI drift, but that's too bad.
    Future ABI breaks of this class will have to be debugged and fixed
    the traditional way unless the compiler evolves finer-grained
    diagnostics.
    
    Signed-off-by: Dave Martin <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    Dave Martin authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    4554ae2 View commit details
    Browse the repository at this point in the history
  213. arm64: Don't unconditionally add -Wno-psabi to KBUILD_CFLAGS

    This is a GCC only option, which warns about ABI changes within GCC, so
    unconditionally adding it breaks Clang with tons of:
    
    warning: unknown warning option '-Wno-psabi' [-Wunknown-warning-option]
    
    and link time failures:
    
    ld.lld: error: undefined symbol: __efistub___stack_chk_guard
    >>> referenced by arm-stub.c:73
    (/home/nathan/cbl/linux/drivers/firmware/efi/libstub/arm-stub.c:73)
    >>>               arm-stub.stub.o:(__efistub_install_memreserve_table)
    in archive ./drivers/firmware/efi/libstub/lib.a
    
    These failures come from the lack of -fno-stack-protector, which is
    added via cc-option in drivers/firmware/efi/libstub/Makefile. When an
    unknown flag is added to KBUILD_CFLAGS, clang will noisily warn that it
    is ignoring the option like above, unlike gcc, who will just error.
    
    $ echo "int main() { return 0; }" > tmp.c
    
    $ clang -Wno-psabi tmp.c; echo $?
    warning: unknown warning option '-Wno-psabi' [-Wunknown-warning-option]
    1 warning generated.
    0
    
    $ gcc -Wsometimes-uninitialized tmp.c; echo $?
    gcc: error: unrecognized command line option
    ‘-Wsometimes-uninitialized’; did you mean ‘-Wmaybe-uninitialized’?
    1
    
    For cc-option to work properly with clang and behave like gcc, -Werror
    is needed, which was done in commit c3f0d0b ("kbuild, LLVMLinux:
    Add -Werror to cc-option to support clang").
    
    $ clang -Werror -Wno-psabi tmp.c; echo $?
    error: unknown warning option '-Wno-psabi'
    [-Werror,-Wunknown-warning-option]
    1
    
    As a consequence of this, when an unknown flag is unconditionally added
    to KBUILD_CFLAGS, it will cause cc-option to always fail and those flags
    will never get added:
    
    $ clang -Werror -Wno-psabi -fno-stack-protector tmp.c; echo $?
    error: unknown warning option '-Wno-psabi'
    [-Werror,-Wunknown-warning-option]
    1
    
    This can be seen when compiling the whole kernel as some warnings that
    are normally disabled (see below) show up. The full list of flags
    missing from drivers/firmware/efi/libstub are the following (gathered
    from diffing .arm64-stub.o.cmd):
    
    -fno-delete-null-pointer-checks
    -Wno-address-of-packed-member
    -Wframe-larger-than=2048
    -Wno-unused-const-variable
    -fno-strict-overflow
    -fno-merge-all-constants
    -fno-stack-check
    -Werror=date-time
    -Werror=incompatible-pointer-types
    -ffreestanding
    -fno-stack-protector
    
    Use cc-disable-warning so that it gets disabled for GCC and does nothing
    for Clang.
    
    Fixes: ebcc5928c5d9 ("arm64: Silence gcc warnings about arch ABI drift")
    Link: ClangBuiltLinux/linux#511
    Reported-by: Qian Cai <[email protected]>
    Acked-by: Dave Martin <[email protected]>
    Reviewed-by: Nick Desaulniers <[email protected]>
    Signed-off-by: Nathan Chancellor <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    nathanchance authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    b584612 View commit details
    Browse the repository at this point in the history
  214. gcc-10: avoid shadowing standard library 'free()' in crypto

    commit 1a263ae60b04de959d9ce9caea4889385eefcc7b upstream.
    
    gcc-10 has started warning about conflicting types for a few new
    built-in functions, particularly 'free()'.
    
    This results in warnings like:
    
       crypto/xts.c:325:13: warning: conflicting types for built-in function ‘free’; expected ‘void(void *)’ [-Wbuiltin-declaration-mismatch]
    
    because the crypto layer had its local freeing functions called
    'free()'.
    
    Gcc-10 is in the wrong here, since that function is marked 'static', and
    thus there is no chance of confusion with any standard library function
    namespace.
    
    But the simplest thing to do is to just use a different name here, and
    avoid this gcc mis-feature.
    
    [ Side note: gcc knowing about 'free()' is in itself not the
      mis-feature: the semantics of 'free()' are special enough that a
      compiler can validly do special things when seeing it.
    
      So the mis-feature here is that gcc thinks that 'free()' is some
      restricted name, and you can't shadow it as a local static function.
    
      Making the special 'free()' semantics be a function attribute rather
      than tied to the name would be the much better model ]
    
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    torvalds authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    6203e29 View commit details
    Browse the repository at this point in the history
  215. dpu20: make vendor check of cables for dex mode optional

    Add CONFIG_DISPLAYPORT_DEX_FORCE_WQHD config.
    Thanks, @fart1-git.
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    4afd09d View commit details
    Browse the repository at this point in the history
  216. Configuration menu
    Copy the full SHA
    7371879 View commit details
    Browse the repository at this point in the history
  217. x86/build/lto: Fix truncated .bss with -fdata-sections

    [ Upstream commit 6a03469a1edc94da52b65478f1e00837add869a3 ]
    
    With CONFIG_LD_DEAD_CODE_DATA_ELIMINATION=y, we compile the kernel with
    -fdata-sections, which also splits the .bss section.
    
    The new section, with a new .bss.* name, which pattern gets missed by the
    main x86 linker script which only expects the '.bss' name. This results
    in the discarding of the second part and a too small, truncated .bss
    section and an unhappy, non-working kernel.
    
    Use the common BSS_MAIN macro in the linker script to properly capture
    and merge all the generated BSS sections.
    
    Signed-off-by: Sami Tolvanen <[email protected]>
    Reviewed-by: Nick Desaulniers <[email protected]>
    Reviewed-by: Kees Cook <[email protected]>
    Cc: Borislav Petkov <[email protected]>
    Cc: Kees Cook <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Nicholas Piggin <[email protected]>
    Cc: Nick Desaulniers <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    [ Extended the changelog. ]
    Signed-off-by: Ingo Molnar <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    samitolvanen authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    350bcf7 View commit details
    Browse the repository at this point in the history
  218. kbuild: LD_DEAD_CODE_DATA_ELIMINATION no -ffunction-sections/-fdata-s…

    …ections for module build
    
    Modules do not tend to cope with -ffunction-sections, even though they
    do not link with -gc-sections. It may be possible for unused symbols to
    be trimmed from modules, but in general that would take much more work
    in architecture module linker scripts.
    
    For now, enable these only for kernel build.
    
    Signed-off-by: Nicholas Piggin <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    npiggin authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    43170d7 View commit details
    Browse the repository at this point in the history
  219. kbuild: Allow LD_DEAD_CODE_DATA_ELIMINATION to be selectable if enabled

    Architectures that are capable can select
    HAVE_LD_DEAD_CODE_DATA_ELIMINATION to enable selection of that
    option (as an EXPERT kernel option).
    
    Signed-off-by: Nicholas Piggin <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    npiggin authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    836129e View commit details
    Browse the repository at this point in the history
  220. kbuild: reword help of LD_DEAD_CODE_DATA_ELIMINATION

    Since commit 5d20ee3192a5 ("kbuild: Allow LD_DEAD_CODE_DATA_ELIMINATION
    to be selectable if enabled"), HAVE_LD_DEAD_CODE_DATA_ELIMINATION is
    supposed to be selected by architectures that are capable of this
    functionality.  LD_DEAD_CODE_DATA_ELIMINATION is now users' selection.
    Update the help message.
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    219620f View commit details
    Browse the repository at this point in the history
  221. arm64: allow LD_DEAD_CODE_DATA_ELIMINATION

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    8ffba11 View commit details
    Browse the repository at this point in the history
  222. kbuild: Fix asm-generic/vmlinux.lds.h for LD_DEAD_CODE_DATA_ELIMINATION

    KEEP more tables, and add the function/data section wildcard to more
    section selections.
    
    This is a little ad-hoc at the moment, but kernel code should be moved
    to consistently use .text..x (note: double dots) for explicit sections
    and all references to it in the linker script can be made with
    TEXT_MAIN, and similarly for other sections.
    
    For now, let's see if major architectures move to enabling this option
    then we can do some refactoring passes. Otherwise if it remains unused
    or superseded by LTO, this may not be required.
    
    Signed-off-by: Nicholas Piggin <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    npiggin authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    d10c724 View commit details
    Browse the repository at this point in the history
  223. vmlinux.lds.h: Fix linker warnings about orphan .LPBX sections

    Enabling both CONFIG_LD_DEAD_CODE_DATA_ELIMINATION=y and
    CONFIG_GCOV_PROFILE_ALL=y results in linker warnings:
    
      warning: orphan section `.data..LPBX1' being placed in
      section `.data..LPBX1'.
    
    LD_DEAD_CODE_DATA_ELIMINATION adds compiler flag -fdata-sections. This
    option causes GCC to create separate data sections for data objects,
    including those generated by GCC internally for gcov profiling. The
    names of these objects start with a dot (.LPBX0, .LPBX1), resulting in
    section names starting with 'data..'.
    
    As section names starting with 'data..' are used for specific purposes
    in the Linux kernel, the linker script does not automatically include
    them in the output data section, resulting in the "orphan section"
    linker warnings.
    
    Fix this by specifically including sections named "data..LPBX*" in the
    data section.
    
    Reported-by: Stephen Rothwell <[email protected]>
    Tested-by: Stephen Rothwell <[email protected]>
    Tested-by: Arnd Bergmann <[email protected]>
    Acked-by: Arnd Bergmann <[email protected]>
    Signed-off-by: Peter Oberparleiter <[email protected]>
    Signed-off-by: Stephen Rothwell <[email protected]>
    oberpar authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    8e780ce View commit details
    Browse the repository at this point in the history
  224. vmlinux.lds.h: Coalesce transient LLVM dead code elimination sections

    A recent LLVM 11 commit [1] made LLD stop implicitly coalescing some
    temporary LLVM sections, namely .{data,bss}..compoundliteral.XXX:
    
      [30] .data..compoundli PROGBITS         ffffffff9ac9a000  19e9a000
           000000000000cea0  0000000000000000  WA       0     0     32
      [31] .rela.data..compo RELA             0000000000000000  40965440
           0000000000001d88  0000000000000018   I      2238    30     8
      [32] .data..compoundli PROGBITS         ffffffff9aca6ea0  19ea6ea0
           00000000000033c0  0000000000000000  WA       0     0     32
      [33] .rela.data..compo RELA             0000000000000000  409671c8
           0000000000000948  0000000000000018   I      2238    32     8
      [...]
      [2213] .bss..compoundlit NOBITS           ffffffffa3000000  1d85c000
           00000000000000a0  0000000000000000  WA       0     0     32
      [2214] .bss..compoundlit NOBITS           ffffffffa30000a0  1d85c000
           0000000000000040  0000000000000000  WA       0     0     32
      [...]
    
    .{data,bss}..L<symbol name> sections are also created in some cases.
    While there aren't any in this example, they should also be coalesced to
    be safe in case some config or future LLVM change makes it start
    creating more of those sections in the future. For example, enabling
    global merging causes ..L_MergedGlobals sections to be created, but it's
    likely that other changes will result in such sections as well.
    
    While these extra sections don't typically cause any breakage, they do
    inflate the vmlinux size due to the overhead of storing metadata for
    thousands of extra sections.
    
    It's also worth noting that for some reason, some downstream Android
    kernels can't boot at all if these sections aren't coalesced.
    
    This issue isn't limited to any specific architecture; it affects arm64
    and x86 if CONFIG_LD_DEAD_CODE_DATA_ELIMINATION is forced on.
    
    Example on x86 allyesconfig:
        Before: 2241 sections, 1171169 KiB
        After:    56 sections, 1170972 KiB
    
    [1] llvm/llvm-project@9e33c09
    
    Suggested-by: Fangrui Song <[email protected]>
    Signed-off-by: Danny Lin <[email protected]>
    Reviewed-by: Nathan Chancellor <[email protected]>
    Cc: [email protected] # v4.4+
    Link: ClangBuiltLinux/linux#958
    kdrag0n authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    b01c9c1 View commit details
    Browse the repository at this point in the history
  225. ANDROID: kbuild: disable clang-specific configs with other compilers

    cuttlefish_defconfig explicitly enables options that fail to compile
    with compilers other than clang. This change detects when a different
    compiler is used and disables clang-specific features after printing
    a warning.
    
    Bug: 145297810
    Change-Id: I3371576b45c9715a63c5668ab58e996cab612f53
    Signed-off-by: Sami Tolvanen <[email protected]>
    samitolvanen authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    5853d71 View commit details
    Browse the repository at this point in the history
  226. kbuild: Add support for LLVM's Polly optimizer

    This adds support for compiling the kernel with optimizations offered
    by LLVM's polyhedral loop optimizer known as Polly, which can improve
    performance by improving cache locality in loops. Note that LLVM is not
    compiled with Polly by default -- it must be enabled explicitly.
    
    Signed-off-by: Danny Lin <[email protected]>
    kdrag0n authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    a145585 View commit details
    Browse the repository at this point in the history
  227. kbuild: Add support for GCC's graphite optimizer

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    bf61732 View commit details
    Browse the repository at this point in the history
  228. BACKPORT: arm64: vdso: use $(LD) instead of $(CC) to link VDSO

    We use $(LD) to link vmlinux, modules, decompressors, etc.
    
    VDSO is the only exceptional case where $(CC) is used as the linker
    driver, but I do not know why we need to do so. VDSO uses a special
    linker script, and does not link standard libraries at all.
    
    I changed the Makefile to use $(LD) rather than $(CC). I tested this,
    and VDSO worked for me.
    
    Users will be able to use their favorite linker (e.g. lld instead of
    of bfd) by passing LD= from the command line.
    
    My plan is to rewrite all VDSO Makefiles to use $(LD), then delete
    cc-ldoption.
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    
    Change-Id: I8a14d6dd51d46b6942e68720e24217d1564b7869
    [nd: conflicts due to ANDROID patches for LTO and SCS]
    (cherry picked from commit 691efbedc60d2a7364a90e38882fc762f06f52c4)
    Bug: 153418016
    Bug: 157279372
    Signed-off-by: Nick Desaulniers <[email protected]>
    (cherry picked from commit 64ea9b4b072b37bd624dd98b963161fd22c1be34)
    masahir0y authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    2f14cd5 View commit details
    Browse the repository at this point in the history
  229. BACKPORT: arm64: vdso: Explicitly add build-id option

    Commit 691efbedc60d ("arm64: vdso: use $(LD) instead of $(CC) to
    link VDSO") switched to using LD explicitly. The --build-id option
    needs to be passed explicitly, similar to x86. Add this option.
    
    Fixes: 691efbedc60d ("arm64: vdso: use $(LD) instead of $(CC) to link VDSO")
    Reviewed-by: Masahiro Yamada <[email protected]>
    Signed-off-by: Laura Abbott <[email protected]>
    [will: drop redundant use of 'call ld-option' as requested by Masahiro]
    Signed-off-by: Will Deacon <[email protected]>
    
    Change-Id: I4a0f5c1bb60bda682221a7ff96a783bf8731cc00
    [nd: conflict due to ANDROID LTO and CFI]
    (cherry picked from commit 7a0a93c51799edc45ee57c6cc1679aa94f1e03d5)
    Bug: 153418016
    Bug: 157279372
    Signed-off-by: Nick Desaulniers <[email protected]>
    (cherry picked from commit a9ee8bba814d956404c12b1c2e2c24cf4b710f08)
    labbott authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    64e0f1f View commit details
    Browse the repository at this point in the history
  230. ANDROID: arm64: vdso: wrap -n in ld-option

    ld.lld distributed in clang-r353983c AOSP LLVM release (the final AOSP
    LLVM release for Android Q) did not support `-n` linker flag. It was
    eventually added to clang-r360593.
    
    Android OEM's may wish to still use ld.lld to link their kernels for Q.
    This flag was disabled for Pixel 4 in go/pag/1258086. This patch is
    equivalent, but rebased on upstream changes that removed cc-ldoption in
    favor of ld-option.
    
    For Android R, the final AOSP LLVM release, clang-r383902 has long
    supported `-n` for ld.lld.
    
    Change-Id: Iab41c9e1039e163113b428fc487a4a0708822faa
    Bug: 63740206
    Bug: 157279372
    Link: ClangBuiltLinux/linux#340
    Link: https://bugs.llvm.org/show_bug.cgi?id=40542
    Signed-off-by: Nick Desaulniers <[email protected]>
    nickdesaulniers authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    8fd6c41 View commit details
    Browse the repository at this point in the history
  231. mm: add config for readahead window

    Change VM_MAX_READAHEAD value from the default 128KB to a configurable
    value. This will allow the readahead window to grow to a maximum size
    bigger than 128KB during boot, which could benefit to sequential read
    throughput and thus boot performance.
    
    Signed-off-by: Wei Wang <[email protected]>
    weivincewang authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    240f52e View commit details
    Browse the repository at this point in the history
  232. ANDROID: kallsyms: strip hashes from function names with ThinLTO

    With CONFIG_THINLTO and CFI both enabled, LLVM appends a hash to the
    names of all static functions. This breaks userspace tools, so strip
    out the hash from output.
    
    Bug: 147422318
    Change-Id: Ibea6be089d530e92dcd191481cb02549041203f6
    Signed-off-by: Sami Tolvanen <[email protected]>
    samitolvanen authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    1b5745c View commit details
    Browse the repository at this point in the history
  233. arm64/boot/dts: remove verify,avb fsmgr_flags

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    c544775 View commit details
    Browse the repository at this point in the history
  234. arm64/boot/dts: disable vbmeta

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    f90cee7 View commit details
    Browse the repository at this point in the history
  235. afs: Fix const confusion in AFS

    A trace point string cannot be const because the underlying special
    section is not marked const. An LTO build complains about the
    section attribute mismatch. Fix it by not marking the trace point
    string in afs const.
    
    Cc: [email protected]
    Signed-off-by: Andi Kleen <[email protected]>
    Andi Kleen authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    afd1271 View commit details
    Browse the repository at this point in the history
  236. locking/spinlocks: Mark spinlocks noinline when inline spinlocks are …

    …disabled
    
    Otherwise LTO will inline them anyways and cause a large
    kernel text increase.
    
    Since the explicit intention here is to not inline them marking
    them noinline is good documentation even for the non LTO case.
    
    Signed-off-by: Andi Kleen <[email protected]>
    Andi Kleen authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    f87404c View commit details
    Browse the repository at this point in the history
  237. Fix read buffer overflow in delta-ipc

    The single caller passes a string to delta_ipc_open, which copies with a
    fixed size larger than the string. So it copies some random data after
    the original string the ro segment.
    
    If the string was at the end of a page it may fault.
    
    Just copy the string with a normal strcpy after clearing the field.
    
    Found by a LTO build (which errors out)
    because the compiler inlines the functions and can resolve
    the string sizes and triggers the compile time checks in memcpy.
    
    In function ‘memcpy’,
        inlined from ‘delta_ipc_open.constprop’ at linux/drivers/media/platform/sti/delta/delta-ipc.c:178:0,
        inlined from ‘delta_mjpeg_ipc_open’ at linux/drivers/media/platform/sti/delta/delta-mjpeg-dec.c:227:0,
        inlined from ‘delta_mjpeg_decode’ at linux/drivers/media/platform/sti/delta/delta-mjpeg-dec.c:403:0:
    /home/andi/lsrc/linux/include/linux/string.h:337:0: error: call to ‘__read_overflow2’ declared with attribute error: detected read beyond size of object passed as 2nd parameter
        __read_overflow2();
    
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: Andi Kleen <[email protected]>
    Andi Kleen authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    e7edf0b View commit details
    Browse the repository at this point in the history
  238. lto: Add __noreorder and mark initcalls __noreorder

    gcc 5 has a new no_reorder attribute that prevents top level
    reordering only for that symbol.
    
    Kernels don't like any reordering of initcalls between files, as several
    initcalls depend on each other. LTO previously needed to use
    -fno-toplevel-reordering to prevent boot failures.
    
    Add a __noreorder wrapper for the no_reorder attribute and use
    it for initcalls.
    
    Signed-off-by: Andi Kleen <[email protected]>
    Andi Kleen authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    de36f87 View commit details
    Browse the repository at this point in the history
  239. lto, workaround: Disable LTO for BPF

    Disable LTO for the BPF interpreter. This works around a gcc bug in the LTO
    partitioner that partitions the jumptable used the BPF interpreter
    into a different LTO unit. This in term causes assembler
    errors because the jump table contains references to the
    code labels in the original file.
    
    gcc problem tracked in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50676
    
    Signed-off-by: Andi Kleen <[email protected]>
    Andi Kleen authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    4155007 View commit details
    Browse the repository at this point in the history
  240. arm64: cpu_ops: Add missing 'const' qualifiers

    Building the kernel with an LTO-enabled GCC spits out the following "const"
    warning for the cpu_ops code:
    
      mm/percpu.c:2168:20: error: pcpu_fc_names causes a section type conflict
      with dt_supported_cpu_ops
      const char * const pcpu_fc_names[PCPU_FC_NR] __initconst = {
              ^
      arch/arm64/kernel/cpu_ops.c:34:37: note: ‘dt_supported_cpu_ops’ was declared here
      static const struct cpu_operations *dt_supported_cpu_ops[] __initconst = {
    
    Fix it by adding missed const qualifiers.
    
    Signed-off-by: Yury Norov <[email protected]>
    Reviewed-by: Nick Desaulniers <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    norov authored and evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    d391e19 View commit details
    Browse the repository at this point in the history
  241. Makefile: add mcpu option

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    eb5d1ef View commit details
    Browse the repository at this point in the history
  242. Kbuild: Add Link Time Optimization (LTO) support

    Based on Andi Kleen <[email protected]> work.
    
    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    a2ba771 View commit details
    Browse the repository at this point in the history
  243. drivers/net/wireless/broadcom: drop -Wno-sometimes-uninitialized

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    ed13fc0 View commit details
    Browse the repository at this point in the history
  244. drivers/net/wireless/broadcom/bcmdhd_101_16: drop -Werror

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    a3be850 View commit details
    Browse the repository at this point in the history
  245. cruelbuild: disable builds for models without HVJ5 sources

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    204d9fe View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2023

  1. Update main.yml

    ridwan20 authored Jan 5, 2023
    Configuration menu
    Copy the full SHA
    d9db072 View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2023

  1. magisk: Support Magisk v26.

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Apr 28, 2023
    Configuration menu
    Copy the full SHA
    e602e1b View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2023

  1. magisk: Fix broken link for magisk v26.3

    Signed-off-by: Denis Efremov <[email protected]>
    evdenis committed Sep 4, 2023
    Configuration menu
    Copy the full SHA
    41aba77 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2023

  1. Configuration menu
    Copy the full SHA
    7a6b504 View commit details
    Browse the repository at this point in the history
  2. Update main.yml

    ridwan20 authored Nov 21, 2023
    Configuration menu
    Copy the full SHA
    ba7c47e View commit details
    Browse the repository at this point in the history