lists.open-mesh.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2023
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
List overview
Download
linux-merge
July 2021
----- 2023 -----
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
linux-merge@lists.open-mesh.org
3 participants
18 discussions
Start a n
N
ew thread
Build check errors found: 2021-07-25
by postmaster@open-mesh.org
Name of failed tests ==================== maint ----- * difference between net and batadv maint * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=n master ------ * headers Output of different failed tests ================================ maint: difference between net and batadv maint ---------------------------------------------- net/net/batman-adv/bat_iv_ogm.c | 6 net/net/batman-adv/bat_v.c | 10 net/net/batman-adv/bridge_loop_avoidance.c | 4 net/net/batman-adv/bridge_loop_avoidance.h | 1 net/net/batman-adv/hard-interface.c | 65 --- net/net/batman-adv/hard-interface.h | 3 net/net/batman-adv/hash.h | 2 net/net/batman-adv/main.h | 3 net/net/batman-adv/multicast.c | 41 -- net/net/batman-adv/netlink.c | 8 net/net/batman-adv/routing.c | 9 net/net/batman-adv/send.c | 374 +++++++++++++------- net/net/batman-adv/send.h | 12 net/net/batman-adv/soft-interface.c | 49 -- net/net/batman-adv/soft-interface.h | 2 15 files changed, 310 insertions(+), 279 deletions(-) master: headers --------------- diff --git a/net/batman-adv/gateway_common.c b/net/batman-adv/gateway_common.c index e97b694e..0f1764b0 100644 --- a/net/batman-adv/gateway_common.c +++ b/net/batman-adv/gateway_common.c @@ -10,7 +10,7 @@ #include <linux/atomic.h> #include <linux/byteorder/generic.h> #include <linux/errno.h> -#include <linux/kernel.h> +#include <linux/kstrtox.h> #include <linux/limits.h> #include <linux/math64.h> #include <linux/netdevice.h> maint: smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y --------------------------------------------------------------------------- /home/build_test/build_env/tmp.tq9lz8CQsE/net/batman-adv/soft-interface.c:1121 batadv_softif_create() warn: 'soft_iface' held on error path. Statistics ========== maint ----- Failed tests: 8 Started build tests: 328 Tested Linux versions: 39 Tested configs: 118 master ------ Failed tests: 1 Started build tests: 311 Tested Linux versions: 39 Tested configs: 120
1 year, 8 months
1
0
0
0
Build check errors found: 2021-07-24
by postmaster@open-mesh.org
Name of failed tests ==================== maint ----- * difference between net and batadv maint * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=y CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=n * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n * sparse linux-5.14-rc2 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=n * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=y * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=y * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=n master ------ * headers * sparse linux-5.14-rc2 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=n * sparse linux-5.14-rc2 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=n Output of different failed tests ================================ maint: difference between net and batadv maint ---------------------------------------------- net/net/batman-adv/bat_iv_ogm.c | 6 net/net/batman-adv/bat_v.c | 10 net/net/batman-adv/bridge_loop_avoidance.c | 4 net/net/batman-adv/bridge_loop_avoidance.h | 1 net/net/batman-adv/hard-interface.c | 65 --- net/net/batman-adv/hard-interface.h | 3 net/net/batman-adv/hash.h | 2 net/net/batman-adv/main.h | 3 net/net/batman-adv/multicast.c | 41 -- net/net/batman-adv/netlink.c | 8 net/net/batman-adv/routing.c | 9 net/net/batman-adv/send.c | 374 +++++++++++++------- net/net/batman-adv/send.h | 12 net/net/batman-adv/soft-interface.c | 49 -- net/net/batman-adv/soft-interface.h | 2 15 files changed, 310 insertions(+), 279 deletions(-) master: headers --------------- diff --git a/net/batman-adv/gateway_common.c b/net/batman-adv/gateway_common.c index e97b694e..0f1764b0 100644 --- a/net/batman-adv/gateway_common.c +++ b/net/batman-adv/gateway_common.c @@ -10,7 +10,7 @@ #include <linux/atomic.h> #include <linux/byteorder/generic.h> #include <linux/errno.h> -#include <linux/kernel.h> +#include <linux/kstrtox.h> #include <linux/limits.h> #include <linux/math64.h> #include <linux/netdevice.h> diff --git a/net/batman-adv/log.h b/net/batman-adv/log.h index 7658669e..795e85f9 100644 --- a/net/batman-adv/log.h +++ b/net/batman-adv/log.h @@ -7,6 +7,9 @@ #ifndef _NET_BATMAN_ADV_LOG_H_ #define _NET_BATMAN_ADV_LOG_H_ +#include <linux/bitops.h> +#include <linux/printk.h> + #include "main.h" // IWYU pragma: keep atomic.h>"/atomic.h> diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h index 2bf0538d..946c98ef 100644 --- a/net/batman-adv/main.h +++ b/net/batman-adv/main.h @@ -213,6 +213,11 @@ atomic.h>"/netdevice.h> atomic.h>"/percpu.h> atomic.h>"/skbuff.h> atomic.h>"/types.h> +#include <linux/jiffies.h> +#include <linux/netdevice.h> +#include <linux/percpu.h> +#include <linux/skbuff.h> +#include <linux/types.h> #include <uapi/linux/batadv_packet.h> #include "types.h" maint: smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=y --------------------------------------------------------------------------- /home/build_test/build_env/tmp.K09JRMRVf6/net/batman-adv/soft-interface.c:1121 batadv_softif_create() warn: 'soft_iface' held on error path. master: sparse linux-5.14-rc2 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=n --------------------------------------------------------------------------- /home/build_test/build_env/tmp.K09JRMRVf6/net/batman-adv/distributed-arp-table.c:1461:19: warning: cast from restricted __be32 * /home/build_test/build_env/tmp.K09JRMRVf6/net/batman-adv/distributed-arp-table.c:1510:23: warning: cast from restricted __be32 [usertype] *[assigned] magic /home/build_test/build_env/tmp.K09JRMRVf6/net/batman-adv/distributed-arp-table.c:1588:24: warning: cast from restricted __be32 [usertype] *[assigned] yiaddr Statistics ========== maint ----- Failed tests: 12 Started build tests: 333 Tested Linux versions: 39 Tested configs: 114 master ------ Failed tests: 3 Started build tests: 317 Tested Linux versions: 39 Tested configs: 120
1 year, 8 months
1
0
0
0
Build check errors found: 2021-07-23
by postmaster@open-mesh.org
Name of failed tests ==================== maint ----- * difference between net and batadv maint * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y * sparse linux-5.13 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=y * sparse linux-5.13 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=y * sparse linux-5.13 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=y * sparse linux-5.13 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=n * sparse linux-5.13 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=y * sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=n * sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=n * sparse linux-5.13 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=y DAT=y DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=y * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=y * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=y master ------ * headers * sparse linux-5.13 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n * sparse linux-5.13 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=y * sparse linux-5.13 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=y * sparse linux-5.13 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=n * sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y * sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=n * sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=n * sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=y * sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n * sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=y * sparse linux-5.14-rc2 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=n * sparse linux-5.14-rc2 cfg: BLA=n DAT=y DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=n * sparse linux-5.14-rc2 cfg: BLA=n DAT=y DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=n * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y Output of different failed tests ================================ maint: difference between net and batadv maint ---------------------------------------------- net/net/batman-adv/bat_iv_ogm.c | 6 net/net/batman-adv/bat_v.c | 10 net/net/batman-adv/bridge_loop_avoidance.c | 4 net/net/batman-adv/bridge_loop_avoidance.h | 1 net/net/batman-adv/hard-interface.c | 65 --- net/net/batman-adv/hard-interface.h | 3 net/net/batman-adv/hash.h | 2 net/net/batman-adv/main.h | 3 net/net/batman-adv/multicast.c | 41 -- net/net/batman-adv/netlink.c | 8 net/net/batman-adv/routing.c | 9 net/net/batman-adv/send.c | 374 +++++++++++++------- net/net/batman-adv/send.h | 12 net/net/batman-adv/soft-interface.c | 49 -- net/net/batman-adv/soft-interface.h | 2 15 files changed, 310 insertions(+), 279 deletions(-) master: headers --------------- diff --git a/net/batman-adv/distributed-arp-table.c b/net/batman-adv/distributed-arp-table.c index 14b7abdc..e9921fc1 100644 --- a/net/batman-adv/distributed-arp-table.c +++ b/net/batman-adv/distributed-arp-table.c @@ -6,8 +6,6 @@ #include "distributed-arp-table.h" #include "main.h" // IWYU pragma: keep - -#include <asm/unaligned.h> #include <linux/atomic.h> #include <linux/bitops.h> #include <linux/byteorder/generic.h> @@ -39,6 +37,7 @@ #include <net/sock.h> #include <uapi/linux/batman_adv.h> +#include "asm-generic/unaligned.h" #include "bridge_loop_avoidance.h" #include "hard-interface.h" #include "hash.h" diff --git a/net/batman-adv/gateway_common.c b/net/batman-adv/gateway_common.c index e97b694e..91ebb437 100644 --- a/net/batman-adv/gateway_common.c +++ b/net/batman-adv/gateway_common.c @@ -6,11 +6,9 @@ #include "gateway_common.h" #include "main.h" // IWYU pragma: keep - #include <linux/atomic.h> #include <linux/byteorder/generic.h> #include <linux/errno.h> -#include <linux/kernel.h> #include <linux/limits.h> #include <linux/math64.h> #include <linux/netdevice.h> @@ -20,6 +18,7 @@ #include <uapi/linux/batman_adv.h> #include "gateway_client.h" +#include "linux/kstrtox.h" #include "log.h" #include "tvlv.h" diff --git a/net/batman-adv/log.h b/net/batman-adv/log.h index 178448f9..0701d17f 100644 --- a/net/batman-adv/log.h +++ b/net/batman-adv/log.h @@ -9,7 +9,6 @@ #include "main.h" // IWYU pragma: keep -#include <linux/atomic.h> #include <linux/bitops.h> #include <linux/compiler.h> #include <linux/printk.h> diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h index 5d2c6794..bee8b6f5 100644 --- a/net/batman-adv/main.h +++ b/net/batman-adv/main.h @@ -204,7 +204,6 @@ enum batadv_uev_type { /* Kernel headers */ -#include <linux/atomic.h> #include <linux/compiler.h> #include <linux/etherdevice.h> #include <linux/if_vlan.h> maint: smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=y --------------------------------------------------------------------------- /home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/soft-interface.c:1121 batadv_softif_create() warn: 'soft_iface' held on error path. master: sparse linux-5.13 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "del_timer" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strlen" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers' make[1]: *** [Makefile:1762: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.13 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=y --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "trace_handle_return" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "del_timer" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers' make[1]: *** [Makefile:1762: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.13 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=n --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "pskb_trim_rcsum_slow" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "del_timer" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers' make[1]: *** [Makefile:1762: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "pskb_trim_rcsum_slow" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "trace_handle_return" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers' make[1]: *** [Makefile:1762: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=y --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "trace_handle_return" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "del_timer" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers' make[1]: *** [Makefile:1767: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=y --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "pskb_trim_rcsum_slow" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "trace_handle_return" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers' make[1]: *** [Makefile:1767: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.13.4 cfg: BLA=n DAT=y DEBUG=y TRACING=n NC=y MCAST=y BATMAN_V=n --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "pskb_trim_rcsum_slow" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "del_timer" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers' make[1]: *** [Makefile:1767: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.13.4 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=n --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "del_timer" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strlen" [/home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.fvXoBWu1kS/Module.symvers' make[1]: *** [Makefile:1767: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.14-rc2 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=n --------------------------------------------------------------------------- /home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/distributed-arp-table.c:1461:19: warning: cast from restricted __be32 * /home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/distributed-arp-table.c:1510:23: warning: cast from restricted __be32 [usertype] *[assigned] magic /home/build_test/build_env/tmp.fvXoBWu1kS/net/batman-adv/distributed-arp-table.c:1588:24: warning: cast from restricted __be32 [usertype] *[assigned] yiaddr Statistics ========== maint ----- Failed tests: 27 Started build tests: 321 Tested Linux versions: 39 Tested configs: 119 master ------ Failed tests: 23 Started build tests: 310 Tested Linux versions: 39 Tested configs: 119
1 year, 8 months
1
0
0
0
Build check errors found: 2021-07-22
by postmaster@open-mesh.org
Name of failed tests ==================== maint ----- * difference between net and batadv maint * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=y CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=n * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=n CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=n * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=y * smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_TRACING=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=y * sparse linux-5.13 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n * sparse linux-5.13 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y * sparse linux-5.13 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=y BATMAN_V=n * sparse linux-5.13 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=n * sparse linux-5.13 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n * sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=n * sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=y * sparse linux-5.13 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=y TRACING=n NC=y MCAST=n BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=y DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=y DAT=n DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=y * sparse linux-5.14-rc2 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=n * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=y TRACING=n NC=n MCAST=n BATMAN_V=y * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=y master ------ * headers * sparse linux-5.13 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=y * sparse linux-5.13 cfg: BLA=n DAT=y DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=y * sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=n * sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=n * sparse linux-5.13 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n * sparse linux-5.13 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=n MCAST=n BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=n DAT=y DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=n DAT=y DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=y * sparse linux-5.13.4 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n * sparse linux-5.13.4 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=n * sparse linux-5.14-rc2 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=n TRACING=y NC=y MCAST=n BATMAN_V=n * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=n * sparse linux-5.14-rc2 cfg: BLA=y DAT=y DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=y Output of different failed tests ================================ maint: difference between net and batadv maint ---------------------------------------------- net/net/batman-adv/bat_iv_ogm.c | 6 net/net/batman-adv/bat_v.c | 10 net/net/batman-adv/bridge_loop_avoidance.c | 4 net/net/batman-adv/bridge_loop_avoidance.h | 1 net/net/batman-adv/hard-interface.c | 65 --- net/net/batman-adv/hard-interface.h | 3 net/net/batman-adv/hash.h | 2 net/net/batman-adv/main.h | 3 net/net/batman-adv/multicast.c | 41 -- net/net/batman-adv/netlink.c | 8 net/net/batman-adv/routing.c | 9 net/net/batman-adv/send.c | 374 +++++++++++++------- net/net/batman-adv/send.h | 12 net/net/batman-adv/soft-interface.c | 49 -- net/net/batman-adv/soft-interface.h | 2 15 files changed, 310 insertions(+), 279 deletions(-) master: headers --------------- diff --git a/net/batman-adv/distributed-arp-table.c b/net/batman-adv/distributed-arp-table.c index 14b7abdc..e9921fc1 100644 --- a/net/batman-adv/distributed-arp-table.c +++ b/net/batman-adv/distributed-arp-table.c @@ -6,8 +6,6 @@ #include "distributed-arp-table.h" #include "main.h" // IWYU pragma: keep - -#include <asm/unaligned.h> #include <linux/atomic.h> #include <linux/bitops.h> #include <linux/byteorder/generic.h> @@ -39,6 +37,7 @@ #include <net/sock.h> #include <uapi/linux/batman_adv.h> +#include "asm-generic/unaligned.h" #include "bridge_loop_avoidance.h" #include "hard-interface.h" #include "hash.h" diff --git a/net/batman-adv/gateway_common.c b/net/batman-adv/gateway_common.c index e97b694e..91ebb437 100644 --- a/net/batman-adv/gateway_common.c +++ b/net/batman-adv/gateway_common.c @@ -6,11 +6,9 @@ #include "gateway_common.h" #include "main.h" // IWYU pragma: keep - #include <linux/atomic.h> #include <linux/byteorder/generic.h> #include <linux/errno.h> -#include <linux/kernel.h> #include <linux/limits.h> #include <linux/math64.h> #include <linux/netdevice.h> @@ -20,6 +18,7 @@ #include <uapi/linux/batman_adv.h> #include "gateway_client.h" +#include "linux/kstrtox.h" #include "log.h" #include "tvlv.h" diff --git a/net/batman-adv/log.h b/net/batman-adv/log.h index 178448f9..0701d17f 100644 --- a/net/batman-adv/log.h +++ b/net/batman-adv/log.h @@ -9,7 +9,6 @@ #include "main.h" // IWYU pragma: keep -#include <linux/atomic.h> #include <linux/bitops.h> #include <linux/compiler.h> #include <linux/printk.h> diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h index 5d2c6794..bee8b6f5 100644 --- a/net/batman-adv/main.h +++ b/net/batman-adv/main.h @@ -204,7 +204,6 @@ enum batadv_uev_type { /* Kernel headers */ -#include <linux/atomic.h> #include <linux/compiler.h> #include <linux/etherdevice.h> #include <linux/if_vlan.h> maint: smatch linux-5.14-rc2 CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_BATMAN_V=n --------------------------------------------------------------------------- /home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/soft-interface.c:1121 batadv_softif_create() warn: 'soft_iface' held on error path. maint: sparse linux-5.13 cfg: BLA=n DAT=n DEBUG=n TRACING=n NC=n MCAST=y BATMAN_V=n --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "del_timer" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strlen" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers' make[1]: *** [Makefile:1762: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.13 cfg: BLA=n DAT=y DEBUG=y TRACING=y NC=y MCAST=y BATMAN_V=y --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "pskb_trim_rcsum_slow" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "trace_handle_return" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers' make[1]: *** [Makefile:1762: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=y MCAST=y BATMAN_V=n --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "pskb_trim_rcsum_slow" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "del_timer" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers' make[1]: *** [Makefile:1762: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.13 cfg: BLA=y DAT=n DEBUG=y TRACING=y NC=n MCAST=n BATMAN_V=n --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "trace_handle_return" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "del_timer" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers' make[1]: *** [Makefile:1762: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.13.4 cfg: BLA=n DAT=n DEBUG=y TRACING=y NC=n MCAST=y BATMAN_V=y --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "trace_handle_return" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "del_timer" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers' make[1]: *** [Makefile:1767: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.13.4 cfg: BLA=n DAT=y DEBUG=y TRACING=y NC=y MCAST=n BATMAN_V=y --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "pskb_trim_rcsum_slow" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "trace_handle_return" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers' make[1]: *** [Makefile:1767: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.13.4 cfg: BLA=y DAT=n DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "del_timer" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strlen" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers' make[1]: *** [Makefile:1767: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.13.4 cfg: BLA=y DAT=y DEBUG=n TRACING=n NC=y MCAST=n BATMAN_V=n --------------------------------------------------------------------------- ERROR: modpost: "register_netdevice" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmem_cache_destroy" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "kmalloc_caches" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "__kmalloc" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_seq_read" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "pskb_trim_rcsum_slow" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "genl_register_family" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "strchr" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "skb_split" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! ERROR: modpost: "del_timer" [/home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/batman-adv.ko] undefined! make[2]: *** [scripts/Makefile.modpost:137: /home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers] Error 1 make[2]: *** Deleting file '/home/build_test/build_env/tmp.4wgV9bBCmO/Module.symvers' make[1]: *** [Makefile:1767: modules] Error 2 make: *** [Makefile:68: all] Error 2 master: sparse linux-5.14-rc2 cfg: BLA=n DAT=y DEBUG=n TRACING=n NC=n MCAST=n BATMAN_V=y --------------------------------------------------------------------------- /home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/distributed-arp-table.c:1461:19: warning: cast from restricted __be32 * /home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/distributed-arp-table.c:1510:23: warning: cast from restricted __be32 [usertype] *[assigned] magic /home/build_test/build_env/tmp.4wgV9bBCmO/net/batman-adv/distributed-arp-table.c:1588:24: warning: cast from restricted __be32 [usertype] *[assigned] yiaddr Statistics ========== maint ----- Failed tests: 33 Started build tests: 339 Tested Linux versions: 39 Tested configs: 117 master ------ Failed tests: 22 Started build tests: 297 Tested Linux versions: 39 Tested configs: 114
1 year, 8 months
1
0
0
0
[linux-next] LinuxNextTracking branch, master, updated. next-20210716
by batman@open-mesh.org
The following commit has been merged in the master branch: commit 6f4266a78a4e090b452a0335c1414f3240684743 Author: Alexey Dobriyan <adobriyan(a)gmail.com> Date: Fri Jul 16 13:44:03 2021 +1000 kbuild: decouple build from userspace headers First, userspace headers can be under incompatible license. Second, kernel doesn't require userspace to operate and should not require anything from userspace to be built other than compiler. We would use -ffreestanding too if not builtin function shenanigans. To decouple: * ship minimal stdarg.h as <linux/stdarg.h>, 1 type, 4 macros GPL 2 version of <stdarg.h> can be extracted from
http://archive.debian.org/debian/pool/main/g/gcc-4.2/gcc-4.2_4.2.4.orig.tar…
* delete "-isystem" from command line arguments, this is what enables header leakage * fixup/delete include directives where necessary. Link:
https://lkml.kernel.org/r/YO8ioz4sHwcUAkdt@localhost.localdomain
Signed-off-by: Alexey Dobriyan <adobriyan(a)gmail.com> Cc: Arnd Bergmann <arnd(a)arndb.de> Cc: Masahiro Yamada <masahiroy(a)kernel.org> Cc: Christoph Hellwig <hch(a)infradead.org> Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org> Signed-off-by: Stephen Rothwell <sfr(a)canb.auug.org.au> diff --git a/Makefile b/Makefile index eaa692976851..02591a333d86 100644 --- a/Makefile +++ b/Makefile @@ -972,7 +972,7 @@ KBUILD_CFLAGS += -falign-functions=64 endif # arch Makefile may override CC so keep this after arch Makefile is included -NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include) +NOSTDINC_FLAGS += -nostdinc # warn about C99 declaration after statement KBUILD_CFLAGS += -Wdeclaration-after-statement diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index fc9e8b37eaa8..bb5ad8a6a4c3 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -5,8 +5,6 @@ * Copyright (C) 1996-2000 Russell King - Converted to ARM. * Original Copyright (C) 1995 Linus Torvalds */ -#include <stdarg.h> - #include <linux/export.h> #include <linux/sched.h> #include <linux/sched/debug.h> diff --git a/arch/arm/mach-bcm/bcm_kona_smc.c b/arch/arm/mach-bcm/bcm_kona_smc.c index 43a16f922b53..43829e49ad93 100644 --- a/arch/arm/mach-bcm/bcm_kona_smc.c +++ b/arch/arm/mach-bcm/bcm_kona_smc.c @@ -10,8 +10,6 @@ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ - -#include <stdarg.h> #include <linux/smp.h> #include <linux/io.h> #include <linux/ioport.h> diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c index c8989b999250..5f7ac9a0f9a3 100644 --- a/arch/arm64/kernel/process.c +++ b/arch/arm64/kernel/process.c @@ -6,9 +6,6 @@ * Copyright (C) 1996-2000 Russell King - Converted to ARM. * Copyright (C) 2012 ARM Ltd. */ - -#include <stdarg.h> - #include <linux/compat.h> #include <linux/efi.h> #include <linux/elf.h> diff --git a/arch/openrisc/kernel/process.c b/arch/openrisc/kernel/process.c index eb62429681fc..b0698d9ce14f 100644 --- a/arch/openrisc/kernel/process.c +++ b/arch/openrisc/kernel/process.c @@ -14,8 +14,6 @@ */ #define __KERNEL_SYSCALLS__ -#include <stdarg.h> - #include <linux/errno.h> #include <linux/sched.h> #include <linux/sched/debug.h> diff --git a/arch/parisc/kernel/firmware.c b/arch/parisc/kernel/firmware.c index 665b70086685..7034227dbdf3 100644 --- a/arch/parisc/kernel/firmware.c +++ b/arch/parisc/kernel/firmware.c @@ -51,7 +51,7 @@ * prumpf 991016 */ -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/delay.h> #include <linux/init.h> diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c index 184ec3c1eae4..38ec4ae81239 100644 --- a/arch/parisc/kernel/process.c +++ b/arch/parisc/kernel/process.c @@ -17,9 +17,6 @@ * Copyright (C) 2001-2014 Helge Deller <deller(a)gmx.de> * Copyright (C) 2002 Randolph Chung <tausq with
parisc-linux.org
> */ - -#include <stdarg.h> - #include <linux/elf.h> #include <linux/errno.h> #include <linux/kernel.h> diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index f620e04dc9bf..a1e7ba0fad09 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c @@ -11,7 +11,6 @@ #undef DEBUG -#include <stdarg.h> #include <linux/kernel.h> #include <linux/string.h> #include <linux/init.h> diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index a5bf355ce1d6..10664633f7e3 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c @@ -14,7 +14,7 @@ /* we cannot use FORTIFY as it brings in new symbols */ #define __NO_FORTIFY -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/kernel.h> #include <linux/string.h> #include <linux/init.h> diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c index 99f2cce635fb..ff80bbad22a5 100644 --- a/arch/powerpc/kernel/rtas.c +++ b/arch/powerpc/kernel/rtas.c @@ -7,7 +7,7 @@ * Copyright (C) 2001 IBM. */ -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/kernel.h> #include <linux/types.h> #include <linux/spinlock.h> diff --git a/arch/powerpc/kernel/udbg.c b/arch/powerpc/kernel/udbg.c index 01595e8cafe7..b1544b2f6321 100644 --- a/arch/powerpc/kernel/udbg.c +++ b/arch/powerpc/kernel/udbg.c @@ -5,7 +5,7 @@ * c 2001 PPC 64 Team, IBM Corp */ -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/types.h> #include <linux/sched.h> #include <linux/console.h> diff --git a/arch/s390/boot/pgm_check_info.c b/arch/s390/boot/pgm_check_info.c index 3a46abed2549..b7d8dd88bbf2 100644 --- a/arch/s390/boot/pgm_check_info.c +++ b/arch/s390/boot/pgm_check_info.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 #include <linux/kernel.h> +#include <linux/stdarg.h> #include <linux/string.h> #include <linux/ctype.h> #include <asm/stacktrace.h> @@ -8,7 +9,6 @@ #include <asm/setup.h> #include <asm/sclp.h> #include <asm/uv.h> -#include <stdarg.h> #include "boot.h" const char hex_asc[] = "0123456789abcdef"; diff --git a/arch/sparc/kernel/process_32.c b/arch/sparc/kernel/process_32.c index 93983d6d431d..bbbe0cfef746 100644 --- a/arch/sparc/kernel/process_32.c +++ b/arch/sparc/kernel/process_32.c @@ -8,9 +8,6 @@ /* * This file handles the architecture-dependent parts of process handling.. */ - -#include <stdarg.h> - #include <linux/elfcore.h> #include <linux/errno.h> #include <linux/module.h> diff --git a/arch/sparc/kernel/process_64.c b/arch/sparc/kernel/process_64.c index d33c58a58d4f..0cabcdfb23fd 100644 --- a/arch/sparc/kernel/process_64.c +++ b/arch/sparc/kernel/process_64.c @@ -9,9 +9,6 @@ /* * This file handles the architecture-dependent parts of process handling.. */ - -#include <stdarg.h> - #include <linux/errno.h> #include <linux/export.h> #include <linux/sched.h> diff --git a/arch/um/include/shared/irq_user.h b/arch/um/include/shared/irq_user.h index 065829f443ae..86a8a573b65c 100644 --- a/arch/um/include/shared/irq_user.h +++ b/arch/um/include/shared/irq_user.h @@ -7,7 +7,6 @@ #define __IRQ_USER_H__ #include <sysdep/ptrace.h> -#include <stdbool.h> enum um_irq_type { IRQ_READ, diff --git a/arch/um/include/shared/os.h b/arch/um/include/shared/os.h index 60b84edc8a68..96d400387c93 100644 --- a/arch/um/include/shared/os.h +++ b/arch/um/include/shared/os.h @@ -8,7 +8,6 @@ #ifndef __OS_H__ #define __OS_H__ -#include <stdarg.h> #include <irq_user.h> #include <longjmp.h> #include <mm_id.h> diff --git a/arch/um/os-Linux/signal.c b/arch/um/os-Linux/signal.c index 6de99bb16113..6cf098c23a39 100644 --- a/arch/um/os-Linux/signal.c +++ b/arch/um/os-Linux/signal.c @@ -67,7 +67,7 @@ int signals_enabled; #ifdef UML_CONFIG_UML_TIME_TRAVEL_SUPPORT static int signals_blocked; #else -#define signals_blocked false +#define signals_blocked 0 #endif static unsigned int signals_pending; static unsigned int signals_active = 0; diff --git a/arch/um/os-Linux/util.c b/arch/um/os-Linux/util.c index 07327425d06e..41297ec404bf 100644 --- a/arch/um/os-Linux/util.c +++ b/arch/um/os-Linux/util.c @@ -3,6 +3,7 @@ * Copyright (C) 2000 - 2007 Jeff Dike (jdike(a){addtoit,linux.intel}.com) */ +#include <stdarg.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> diff --git a/arch/x86/boot/boot.h b/arch/x86/boot/boot.h index ca866f1cca2e..34c9dbb6a47d 100644 --- a/arch/x86/boot/boot.h +++ b/arch/x86/boot/boot.h @@ -18,7 +18,7 @@ #ifndef __ASSEMBLY__ -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/types.h> #include <linux/edd.h> #include <asm/setup.h> diff --git a/crypto/aegis128-neon-inner.c b/crypto/aegis128-neon-inner.c index 7de485907d81..6b37fbb79884 100644 --- a/crypto/aegis128-neon-inner.c +++ b/crypto/aegis128-neon-inner.c @@ -15,8 +15,6 @@ #define AEGIS_BLOCK_SIZE 16 -#include <stddef.h> - extern int aegis128_have_aes_insn; void *memcpy(void *dest, const void *src, size_t n); diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c index 125b22205d38..33eba3df4dd9 100644 --- a/drivers/block/xen-blkback/xenbus.c +++ b/drivers/block/xen-blkback/xenbus.c @@ -8,7 +8,6 @@ #define pr_fmt(fmt) "xen-blkback: " fmt -#include <stdarg.h> #include <linux/module.h> #include <linux/kthread.h> #include <xen/events.h> diff --git a/drivers/firmware/efi/libstub/efi-stub-helper.c b/drivers/firmware/efi/libstub/efi-stub-helper.c index aa8da0a49829..4921580e1725 100644 --- a/drivers/firmware/efi/libstub/efi-stub-helper.c +++ b/drivers/firmware/efi/libstub/efi-stub-helper.c @@ -7,7 +7,7 @@ * Copyright 2011 Intel Corporation; author Matt Fleming */ -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/ctype.h> #include <linux/efi.h> diff --git a/drivers/firmware/efi/libstub/vsprintf.c b/drivers/firmware/efi/libstub/vsprintf.c index 1088e288c04d..71c71c222346 100644 --- a/drivers/firmware/efi/libstub/vsprintf.c +++ b/drivers/firmware/efi/libstub/vsprintf.c @@ -10,7 +10,7 @@ * Oh, it's a waste of space, but oh-so-yummy for debugging. */ -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/compiler.h> #include <linux/ctype.h> diff --git a/drivers/gpu/drm/amd/display/dc/dc_helper.c b/drivers/gpu/drm/amd/display/dc/dc_helper.c index a612ba6dc389..ab6bc5d79012 100644 --- a/drivers/gpu/drm/amd/display/dc/dc_helper.c +++ b/drivers/gpu/drm/amd/display/dc/dc_helper.c @@ -28,9 +28,9 @@ */ #include <linux/delay.h> +#include <linux/stdarg.h> #include "dm_services.h" -#include <stdarg.h> #include "dc.h" #include "dc_dmub_srv.h" diff --git a/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h b/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h index 7c4734f905d9..68fd451aca23 100644 --- a/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h +++ b/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h @@ -39,7 +39,6 @@ #include <linux/types.h> #include <linux/string.h> #include <linux/delay.h> -#include <stdarg.h> #include "atomfirmware.h" diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c index 111b932cf2a9..f783d4963d4b 100644 --- a/drivers/gpu/drm/drm_print.c +++ b/drivers/gpu/drm/drm_print.c @@ -25,7 +25,7 @@ #define DEBUG /* for pr_debug() */ -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/io.h> #include <linux/moduleparam.h> diff --git a/drivers/gpu/drm/msm/disp/msm_disp_snapshot.h b/drivers/gpu/drm/msm/disp/msm_disp_snapshot.h index c92a9508c8d3..0f9a5364cd86 100644 --- a/drivers/gpu/drm/msm/disp/msm_disp_snapshot.h +++ b/drivers/gpu/drm/msm/disp/msm_disp_snapshot.h @@ -25,7 +25,6 @@ #include <linux/pm_runtime.h> #include <linux/kthread.h> #include <linux/devcoredump.h> -#include <stdarg.h> #include "msm_kms.h" #define MSM_DISP_SNAPSHOT_MAX_BLKS 10 diff --git a/drivers/isdn/capi/capiutil.c b/drivers/isdn/capi/capiutil.c index f26bf3c66d7e..d7ae42edc4a8 100644 --- a/drivers/isdn/capi/capiutil.c +++ b/drivers/isdn/capi/capiutil.c @@ -379,7 +379,7 @@ static char *pnames[] = /*2f */ "Useruserdata" }; -#include <stdarg.h> +#include <linux/stdarg.h> /*-------------------------------------------------------*/ static _cdebbuf *bufprint(_cdebbuf *cdb, char *fmt, ...) diff --git a/drivers/macintosh/macio-adb.c b/drivers/macintosh/macio-adb.c index d4759db002c6..dc634c2932fd 100644 --- a/drivers/macintosh/macio-adb.c +++ b/drivers/macintosh/macio-adb.c @@ -2,7 +2,6 @@ /* * Driver for the ADB controller in the Mac I/O (Hydra) chip. */ -#include <stdarg.h> #include <linux/types.h> #include <linux/errno.h> #include <linux/kernel.h> diff --git a/drivers/macintosh/via-cuda.c b/drivers/macintosh/via-cuda.c index 3581abfb0c6a..cd267392289c 100644 --- a/drivers/macintosh/via-cuda.c +++ b/drivers/macintosh/via-cuda.c @@ -9,7 +9,7 @@ * * Copyright (C) 1996 Paul Mackerras. */ -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/types.h> #include <linux/errno.h> #include <linux/kernel.h> diff --git a/drivers/macintosh/via-macii.c b/drivers/macintosh/via-macii.c index 060e03f2264b..db9270da5b8e 100644 --- a/drivers/macintosh/via-macii.c +++ b/drivers/macintosh/via-macii.c @@ -23,8 +23,6 @@ * Apple's "ADB Analyzer" bus sniffer is invaluable: *
ftp://ftp.apple.com/developer/Tool_Chest/Devices_-_Hardware/Apple_Desktop_B…
*/ - -#include <stdarg.h> #include <linux/types.h> #include <linux/errno.h> #include <linux/kernel.h> diff --git a/drivers/macintosh/via-pmu.c b/drivers/macintosh/via-pmu.c index 4bdd4c45e7a7..4b98bc26a94b 100644 --- a/drivers/macintosh/via-pmu.c +++ b/drivers/macintosh/via-pmu.c @@ -18,7 +18,7 @@ * a sleep or a freq. switch * */ -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/mutex.h> #include <linux/types.h> #include <linux/errno.h> diff --git a/drivers/net/wireless/intersil/orinoco/hermes.c b/drivers/net/wireless/intersil/orinoco/hermes.c index 6d4b7f64efcf..256946552742 100644 --- a/drivers/net/wireless/intersil/orinoco/hermes.c +++ b/drivers/net/wireless/intersil/orinoco/hermes.c @@ -79,7 +79,6 @@ #undef HERMES_DEBUG #ifdef HERMES_DEBUG -#include <stdarg.h> #define DEBUG(lvl, stuff...) if ((lvl) <= HERMES_DEBUG) DMSG(stuff) diff --git a/drivers/net/wwan/iosm/iosm_ipc_imem.h b/drivers/net/wwan/iosm/iosm_ipc_imem.h index 0d2f10e4cbc8..dc65b0712261 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_imem.h +++ b/drivers/net/wwan/iosm/iosm_ipc_imem.h @@ -7,7 +7,6 @@ #define IOSM_IPC_IMEM_H #include <linux/skbuff.h> -#include <stdbool.h> #include "iosm_ipc_mmio.h" #include "iosm_ipc_pcie.h" diff --git a/drivers/pinctrl/aspeed/pinmux-aspeed.h b/drivers/pinctrl/aspeed/pinmux-aspeed.h index b69ba6b360a2..4d7548686f39 100644 --- a/drivers/pinctrl/aspeed/pinmux-aspeed.h +++ b/drivers/pinctrl/aspeed/pinmux-aspeed.h @@ -5,7 +5,6 @@ #define ASPEED_PINMUX_H #include <linux/regmap.h> -#include <stdbool.h> /* * The ASPEED SoCs provide typically more than 200 pins for GPIO and other diff --git a/drivers/scsi/elx/efct/efct_driver.h b/drivers/scsi/elx/efct/efct_driver.h index dab8eac4f243..0e3c931db7c2 100644 --- a/drivers/scsi/elx/efct/efct_driver.h +++ b/drivers/scsi/elx/efct/efct_driver.h @@ -10,7 +10,6 @@ /*************************************************************************** * OS specific includes */ -#include <stdarg.h> #include <linux/module.h> #include <linux/debugfs.h> #include <linux/firmware.h> diff --git a/drivers/staging/media/atomisp/pci/hive_isp_css_common/host/isp_local.h b/drivers/staging/media/atomisp/pci/hive_isp_css_common/host/isp_local.h index eceeb5d160ad..4dbec4063b3d 100644 --- a/drivers/staging/media/atomisp/pci/hive_isp_css_common/host/isp_local.h +++ b/drivers/staging/media/atomisp/pci/hive_isp_css_common/host/isp_local.h @@ -16,8 +16,6 @@ #ifndef __ISP_LOCAL_H_INCLUDED__ #define __ISP_LOCAL_H_INCLUDED__ -#include <stdbool.h> - #include "isp_global.h" #include <isp2400_support.h> diff --git a/drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.h b/drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.h index 540b405cc0f7..a3c7f3de6d17 100644 --- a/drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.h +++ b/drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.h @@ -16,7 +16,7 @@ #ifndef __PRINT_SUPPORT_H_INCLUDED__ #define __PRINT_SUPPORT_H_INCLUDED__ -#include <stdarg.h> +#include <linux/stdarg.h> extern int (*sh_css_printf)(const char *fmt, va_list args); /* depends on host supplied print function in ia_css_init() */ diff --git a/drivers/staging/media/atomisp/pci/ia_css_env.h b/drivers/staging/media/atomisp/pci/ia_css_env.h index 6b38723b27cd..3b89bbd837a0 100644 --- a/drivers/staging/media/atomisp/pci/ia_css_env.h +++ b/drivers/staging/media/atomisp/pci/ia_css_env.h @@ -17,7 +17,7 @@ #define __IA_CSS_ENV_H #include <type_support.h> -#include <stdarg.h> /* va_list */ +#include <linux/stdarg.h> /* va_list */ #include "ia_css_types.h" #include "ia_css_acc_types.h" diff --git a/drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h b/drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h index 5e6e7447ae00..e37ef4232c55 100644 --- a/drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h +++ b/drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h @@ -19,7 +19,7 @@ /*! \file */ #include <type_support.h> -#include <stdarg.h> +#include <linux/stdarg.h> #include "ia_css_types.h" #include "ia_css_binary.h" #include "ia_css_frame_public.h" diff --git a/drivers/staging/media/atomisp/pci/sh_css_internal.h b/drivers/staging/media/atomisp/pci/sh_css_internal.h index 3c669ec79b68..496faa7297a5 100644 --- a/drivers/staging/media/atomisp/pci/sh_css_internal.h +++ b/drivers/staging/media/atomisp/pci/sh_css_internal.h @@ -20,7 +20,7 @@ #include <math_support.h> #include <type_support.h> #include <platform_support.h> -#include <stdarg.h> +#include <linux/stdarg.h> #if !defined(ISP2401) #include "input_formatter.h" diff --git a/drivers/xen/xen-scsiback.c b/drivers/xen/xen-scsiback.c index 61ce0d142eea..0c5e565aa8cf 100644 --- a/drivers/xen/xen-scsiback.c +++ b/drivers/xen/xen-scsiback.c @@ -33,8 +33,6 @@ #define pr_fmt(fmt) "xen-pvscsi: " fmt -#include <stdarg.h> - #include <linux/module.h> #include <linux/utsname.h> #include <linux/interrupt.h> diff --git a/fs/befs/debug.c b/fs/befs/debug.c index eb7bd6c692c7..02fa66fb82c2 100644 --- a/fs/befs/debug.c +++ b/fs/befs/debug.c @@ -14,7 +14,7 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #ifdef __KERNEL__ -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/string.h> #include <linux/spinlock.h> #include <linux/kernel.h> diff --git a/fs/reiserfs/prints.c b/fs/reiserfs/prints.c index 500f2000eb41..30319dc33c18 100644 --- a/fs/reiserfs/prints.c +++ b/fs/reiserfs/prints.c @@ -8,7 +8,7 @@ #include <linux/string.h> #include <linux/buffer_head.h> -#include <stdarg.h> +#include <linux/stdarg.h> static char error_buf[1024]; static char fmt_buf[1024]; diff --git a/fs/ufs/super.c b/fs/ufs/super.c index 74028b5a7b0a..00a01471ea05 100644 --- a/fs/ufs/super.c +++ b/fs/ufs/super.c @@ -70,7 +70,7 @@ #include <linux/module.h> #include <linux/bitops.h> -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/uaccess.h> diff --git a/include/acpi/platform/acgcc.h b/include/acpi/platform/acgcc.h index f6656be81760..fb172a03a753 100644 --- a/include/acpi/platform/acgcc.h +++ b/include/acpi/platform/acgcc.h @@ -22,7 +22,7 @@ typedef __builtin_va_list va_list; #define va_arg(v, l) __builtin_va_arg(v, l) #define va_copy(d, s) __builtin_va_copy(d, s) #else -#include <stdarg.h> +#include <linux/stdarg.h> #endif #endif diff --git a/include/linux/filter.h b/include/linux/filter.h index 472f97074da0..45785fc231a8 100644 --- a/include/linux/filter.h +++ b/include/linux/filter.h @@ -5,8 +5,6 @@ #ifndef __LINUX_FILTER_H__ #define __LINUX_FILTER_H__ -#include <stdarg.h> - #include <linux/atomic.h> #include <linux/refcount.h> #include <linux/compat.h> diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 1b2f0a7e00d6..2776423a587e 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -2,7 +2,7 @@ #ifndef _LINUX_KERNEL_H #define _LINUX_KERNEL_H -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/align.h> #include <linux/limits.h> #include <linux/linkage.h> diff --git a/include/linux/mISDNif.h b/include/linux/mISDNif.h index a7330eb3ec64..7dd1f01ec4f9 100644 --- a/include/linux/mISDNif.h +++ b/include/linux/mISDNif.h @@ -18,7 +18,6 @@ #ifndef mISDNIF_H #define mISDNIF_H -#include <stdarg.h> #include <linux/types.h> #include <linux/errno.h> #include <linux/socket.h> diff --git a/include/linux/printk.h b/include/linux/printk.h index e834d78f0478..9f3f29ea348e 100644 --- a/include/linux/printk.h +++ b/include/linux/printk.h @@ -2,7 +2,7 @@ #ifndef __KERNEL_PRINTK__ #define __KERNEL_PRINTK__ -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/init.h> #include <linux/kern_levels.h> #include <linux/linkage.h> diff --git a/include/linux/stdarg.h b/include/linux/stdarg.h new file mode 100644 index 000000000000..c8dc7f4f390c --- /dev/null +++ b/include/linux/stdarg.h @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +#ifndef _LINUX_STDARG_H +#define _LINUX_STDARG_H + +typedef __builtin_va_list va_list; +#define va_start(v, l) __builtin_va_start(v, l) +#define va_end(v) __builtin_va_end(v) +#define va_arg(v, T) __builtin_va_arg(v, T) +#define va_copy(d, s) __builtin_va_copy(d, s) + +#endif diff --git a/include/linux/string.h b/include/linux/string.h index b48d2d28e0b1..5e96d656be7a 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -6,7 +6,7 @@ #include <linux/types.h> /* for size_t */ #include <linux/stddef.h> /* for NULL */ #include <linux/errno.h> /* for E2BIG */ -#include <stdarg.h> +#include <linux/stdarg.h> #include <uapi/linux/string.h> extern char *strndup_user(const char __user *, long); diff --git a/kernel/debug/kdb/kdb_support.c b/kernel/debug/kdb/kdb_support.c index 9f50d22d68e6..4f9950678e7b 100644 --- a/kernel/debug/kdb/kdb_support.c +++ b/kernel/debug/kdb/kdb_support.c @@ -10,7 +10,6 @@ * 03/02/13 added new 2.5 kallsyms <xavier.bru(a)bull.net> */ -#include <stdarg.h> #include <linux/types.h> #include <linux/sched.h> #include <linux/mm.h> diff --git a/lib/debug_info.c b/lib/debug_info.c index 36daf753293c..cc4723c74af5 100644 --- a/lib/debug_info.c +++ b/lib/debug_info.c @@ -5,8 +5,6 @@ * CONFIG_DEBUG_INFO_REDUCED. Please do not add actual code. However, * adding appropriate #includes is fine. */ -#include <stdarg.h> - #include <linux/cred.h> #include <linux/crypto.h> #include <linux/dcache.h> @@ -22,6 +20,7 @@ #include <linux/net.h> #include <linux/sched.h> #include <linux/slab.h> +#include <linux/stdarg.h> #include <linux/types.h> #include <net/addrconf.h> #include <net/sock.h> diff --git a/lib/kasprintf.c b/lib/kasprintf.c index bacf7b83ccf0..cd2f5974ed98 100644 --- a/lib/kasprintf.c +++ b/lib/kasprintf.c @@ -5,7 +5,7 @@ * Copyright (C) 1991, 1992 Linus Torvalds */ -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/export.h> #include <linux/slab.h> #include <linux/types.h> diff --git a/lib/kunit/string-stream.h b/lib/kunit/string-stream.h index 5e94b623454f..43f9508a55b4 100644 --- a/lib/kunit/string-stream.h +++ b/lib/kunit/string-stream.h @@ -11,7 +11,7 @@ #include <linux/spinlock.h> #include <linux/types.h> -#include <stdarg.h> +#include <linux/stdarg.h> struct string_stream_fragment { struct kunit *test; diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 26c83943748a..3bcb7be03f93 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -17,7 +17,7 @@ * - scnprintf and vscnprintf */ -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/build_bug.h> #include <linux/clk.h> #include <linux/clk-provider.h> diff --git a/mm/kfence/report.c b/mm/kfence/report.c index 2a319c21c939..4b891dd75650 100644 --- a/mm/kfence/report.c +++ b/mm/kfence/report.c @@ -5,7 +5,7 @@ * Copyright (C) 2020, Google LLC. */ -#include <stdarg.h> +#include <linux/stdarg.h> #include <linux/kernel.h> #include <linux/lockdep.h> diff --git a/net/batman-adv/log.c b/net/batman-adv/log.c index f0e5d1429662..7a93a1e94c40 100644 --- a/net/batman-adv/log.c +++ b/net/batman-adv/log.c @@ -7,7 +7,7 @@ #include "log.h" #include "main.h" -#include <stdarg.h> +#include <linux/stdarg.h> #include "trace.h" diff --git a/sound/aoa/codecs/onyx.h b/sound/aoa/codecs/onyx.h index 8a32c3c3d716..6c31b7373b78 100644 --- a/sound/aoa/codecs/onyx.h +++ b/sound/aoa/codecs/onyx.h @@ -6,7 +6,6 @@ */ #ifndef __SND_AOA_CODEC_ONYX_H #define __SND_AOA_CODEC_ONYX_H -#include <stddef.h> #include <linux/i2c.h> #include <asm/pmac_low_i2c.h> #include <asm/prom.h> diff --git a/sound/aoa/codecs/tas.c b/sound/aoa/codecs/tas.c index ac246dd3ab49..ab19a37e2a68 100644 --- a/sound/aoa/codecs/tas.c +++ b/sound/aoa/codecs/tas.c @@ -58,7 +58,6 @@ * and up to the hardware designer to not wire * them up in some weird unusable way. */ -#include <stddef.h> #include <linux/i2c.h> #include <asm/pmac_low_i2c.h> #include <asm/prom.h> diff --git a/sound/core/info.c b/sound/core/info.c index 9fec3070f8ba..a451b24199c3 100644 --- a/sound/core/info.c +++ b/sound/core/info.c @@ -16,7 +16,6 @@ #include <linux/utsname.h> #include <linux/proc_fs.h> #include <linux/mutex.h> -#include <stdarg.h> int snd_info_check_reserved_words(const char *str) { -- LinuxNextTracking
1 year, 8 months
1
0
0
0
[linux-next] LinuxNextTracking branch, master, updated. next-20210706
by batman@open-mesh.org
The following commit has been merged in the master branch: commit 44b6ed4cfab8474061707b60e35afaf2c92a9dc3 Merge: 440462198d9c45e48f2d8d9b18c5702d92282f46 fca41af18e10318e4de090db47d9fa7169e1bf2f Author: Linus Torvalds <torvalds(a)linux-foundation.org> Date: Wed Jun 30 14:33:25 2021 -0700 Merge tag 'clang-features-v5.14-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
Pull clang feature updates from Kees Cook: - Add CC_HAS_NO_PROFILE_FN_ATTR in preparation for PGO support in the face of the noinstr attribute, paving the way for PGO and fixing GCOV. (Nick Desaulniers) - x86_64 LTO coverage is expanded to 32-bit x86. (Nathan Chancellor) - Small fixes to CFI. (Mark Rutland, Nathan Chancellor) * tag 'clang-features-v5.14-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
: qemu_fw_cfg: Make fw_cfg_rev_attr a proper kobj_attribute Kconfig: Introduce ARCH_WANTS_NO_INSTR and CC_HAS_NO_PROFILE_FN_ATTR compiler_attributes.h: cleanups for GCC 4.9+ compiler_attributes.h: define __no_profile, add to noinstr x86, lto: Enable Clang LTO for 32-bit as well CFI: Move function_nocfi() into compiler.h MAINTAINERS: Add Clang CFI section diff --combined MAINTAINERS index 9999ae69bdc7,4ddf370572d3..f4af84a7de42 --- a/MAINTAINERS +++ b/MAINTAINERS @@@ -973,7 -973,7 +973,7 @@@ F: drivers/net/ethernet/amd/xgbe AMD SENSOR FUSION HUB DRIVER M: Nehal Shah <nehal-bakulchandra.shah(a)amd.com> -M: Sandeep Singh <sandeep.singh(a)amd.com> +M: Basavaraj Natikar <basavaraj.natikar(a)amd.com> L: linux-input(a)vger.kernel.org S: Maintained F: Documentation/hid/amd-sfh* @@@ -1618,8 -1618,8 +1618,8 @@@ F: Documentation/devicetree/bindings/so F: sound/soc/meson/ ARM/Amlogic Meson SoC support +M: Neil Armstrong <narmstrong(a)baylibre.com> M: Kevin Hilman <khilman(a)baylibre.com> -R: Neil Armstrong <narmstrong(a)baylibre.com> R: Jerome Brunet <jbrunet(a)baylibre.com> R: Martin Blumenstingl <martin.blumenstingl(a)googlemail.com> L: linux-arm-kernel(a)lists.infradead.org (moderated for non-subscribers) @@@ -1811,13 -1811,12 +1811,13 @@@ F: Documentation/devicetree/bindings/ne F: Documentation/devicetree/bindings/pinctrl/cortina,gemini-pinctrl.txt F: Documentation/devicetree/bindings/rtc/faraday,ftrtc010.txt F: arch/arm/mach-gemini/ +F: drivers/crypto/gemini/ F: drivers/net/ethernet/cortina/ F: drivers/pinctrl/pinctrl-gemini.c F: drivers/rtc/rtc-ftrtc010.c ARM/CZ.NIC TURRIS SUPPORT -M: Marek Behun <kabel(a)kernel.org> +M: Marek Beh��n <kabel(a)kernel.org> S: Maintained W:
https://www.turris.cz/
F: Documentation/ABI/testing/debugfs-moxtet @@@ -1973,7 -1972,6 +1973,7 @@@ F: Documentation/devicetree/bindings/in F: Documentation/devicetree/bindings/timer/intel,ixp4xx-timer.yaml F: arch/arm/mach-ixp4xx/ F: drivers/clocksource/timer-ixp4xx.c +F: drivers/crypto/ixp4xx_crypto.c F: drivers/gpio/gpio-ixp4xx.c F: drivers/irqchip/irq-ixp4xx.c F: include/linux/irqchip/irq-ixp4xx.h @@@ -3879,7 -3877,6 +3879,7 @@@ L: linux-btrfs(a)vger.kernel.or S: Maintained W:
http://btrfs.wiki.kernel.org/
Q:
http://patchwork.kernel.org/project/linux-btrfs/list/
+C: irc://irc.libera.chat/btrfs T: git
git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git
F: Documentation/filesystems/btrfs.rst F: fs/btrfs/ @@@ -4141,14 -4138,6 +4141,14 @@@ S: Odd Fixe F: Documentation/devicetree/bindings/arm/cavium-thunder2.txt F: arch/arm64/boot/dts/cavium/thunder2-99xx* +CBS/ETF/TAPRIO QDISCS +M: Vinicius Costa Gomes <vinicius.gomes(a)intel.com> +S: Maintained +L: netdev(a)vger.kernel.org +F: net/sched/sch_cbs.c +F: net/sched/sch_etf.c +F: net/sched/sch_taprio.c + CC2520 IEEE-802.15.4 RADIO DRIVER M: Varka Bhadram <varkabhadram(a)gmail.com> L: linux-wpan(a)vger.kernel.org @@@ -4447,6 -4436,18 +4447,18 @@@ F: include/linux/compiler-clang. F: scripts/clang-tools/ K: \b(?i:clang|llvm)\b + CLANG CONTROL FLOW INTEGRITY SUPPORT + M: Sami Tolvanen <samitolvanen(a)google.com> + M: Kees Cook <keescook(a)chromium.org> + R: Nathan Chancellor <nathan(a)kernel.org> + R: Nick Desaulniers <ndesaulniers(a)google.com> + L: clang-built-linux(a)googlegroups.com + S: Supported + B:
https://github.com/ClangBuiltLinux/linux/issues
+ T: git
git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git
for-next/clang/features + F: include/linux/cfi.h + F: kernel/cfi.c + CLEANCACHE API M: Konrad Rzeszutek Wilk <konrad.wilk(a)oracle.com> L: linux-kernel(a)vger.kernel.org @@@ -4612,12 -4613,6 +4624,12 @@@ S: Supporte F: drivers/video/console/ F: include/linux/console* +CONTEXT TRACKING +M: Frederic Weisbecker <frederic(a)kernel.org> +S: Maintained +F: kernel/context_tracking.c +F: include/linux/context_tracking* + CONTROL GROUP (CGROUP) M: Tejun Heo <tj(a)kernel.org> M: Zefan Li <lizefan.x(a)bytedance.com> @@@ -5187,14 -5182,7 +5199,14 @@@ DELL WMI NOTIFICATIONS DRIVE M: Matthew Garrett <mjg59(a)srcf.ucam.org> M: Pali Roh��r <pali(a)kernel.org> S: Maintained -F: drivers/platform/x86/dell/dell-wmi.c +F: drivers/platform/x86/dell/dell-wmi-base.c + +DELL WMI HARDWARE PRIVACY SUPPORT +M: Perry Yuan <Perry.Yuan(a)dell.com> +L: Dell.Client.Kernel(a)dell.com +L: platform-driver-x86(a)vger.kernel.org +S: Maintained +F: drivers/platform/x86/dell/dell-wmi-privacy.c DELTA ST MEDIA DRIVER M: Hugues Fruchet <hugues.fruchet(a)foss.st.com> @@@ -5204,13 -5192,6 +5216,13 @@@ W:
https://linuxtv.or
T: git
git://linuxtv.org/media_tree.git
F: drivers/media/platform/sti/delta +DELTA DPS920AB PSU DRIVER +M: Robert Marko <robert.marko(a)sartura.hr> +L: linux-hwmon(a)vger.kernel.org +S: Maintained +F: Documentation/hwmon/dps920ab.rst +F: drivers/hwmon/pmbus/dps920ab.c + DENALI NAND DRIVER L: linux-mtd(a)lists.infradead.org S: Orphan @@@ -5600,6 -5581,7 +5612,6 @@@ F: drivers/soc/fsl/dpi DPAA2 ETHERNET DRIVER M: Ioana Ciornei <ioana.ciornei(a)nxp.com> -M: Ioana Radulescu <ruxandra.radulescu(a)nxp.com> L: netdev(a)vger.kernel.org S: Maintained F: Documentation/networking/device_drivers/ethernet/freescale/dpaa2/ethernet-driver.rst @@@ -6467,11 -6449,10 +6479,11 @@@ F: Documentation/filesystems/ecryptfs.r F: fs/ecryptfs/ EDAC-AMD64 -M: Borislav Petkov <bp(a)alien8.de> +M: Yazen Ghannam <yazen.ghannam(a)amd.com> L: linux-edac(a)vger.kernel.org -S: Maintained +S: Supported F: drivers/edac/amd64_edac* +F: drivers/edac/mce_amd* EDAC-ARMADA M: Jan Luebbe <jlu(a)pengutronix.de> @@@ -6794,7 -6775,7 +6806,7 @@@ F: include/video/s1d13xxxfb. EROFS FILE SYSTEM M: Gao Xiang <xiang(a)kernel.org> -M: Chao Yu <yuchao0(a)huawei.com> +M: Chao Yu <chao(a)kernel.org> L: linux-erofs(a)lists.ozlabs.org S: Maintained T: git
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
@@@ -6969,7 -6950,6 +6981,7 @@@ F: net/core/failover. FANOTIFY M: Jan Kara <jack(a)suse.cz> R: Amir Goldstein <amir73il(a)gmail.com> +R: Matthew Bobrowski <repnop(a)google.com> L: linux-fsdevel(a)vger.kernel.org S: Maintained F: fs/notify/fanotify/ @@@ -7189,7 -7169,7 +7201,7 @@@ F: include/video FREESCALE CAAM (Cryptographic Acceleration and Assurance Module) DRIVER M: Horia Geant�� <horia.geanta(a)nxp.com> -M: Aymen Sghaier <aymen.sghaier(a)nxp.com> +M: Pankaj Gupta <pankaj.gupta(a)nxp.com> L: linux-crypto(a)vger.kernel.org S: Maintained F: Documentation/devicetree/bindings/crypto/fsl-sec4.txt @@@ -7377,6 -7357,7 +7389,6 @@@ F: drivers/net/ethernet/freescale/fs_en F: include/linux/fs_enet_pd.h FREESCALE SOC SOUND DRIVERS -M: Timur Tabi <timur(a)kernel.org> M: Nicolin Chen <nicoleotsuka(a)gmail.com> M: Xiubo Li <Xiubo.Lee(a)gmail.com> R: Fabio Estevam <festevam(a)gmail.com> @@@ -7579,12 -7560,6 +7591,12 @@@ M: Kieran Bingham <kbingham(a)kernel.org S: Supported F: scripts/gdb/ +GEMINI CRYPTO DRIVER +M: Corentin Labbe <clabbe(a)baylibre.com> +L: linux-crypto(a)vger.kernel.org +S: Maintained +F: drivers/crypto/gemini/ + GEMTEK FM RADIO RECEIVER DRIVER M: Hans Verkuil <hverkuil(a)xs4all.nl> L: linux-media(a)vger.kernel.org @@@ -8800,6 -8775,22 +8812,6 @@@ L: linux-i2c(a)vger.kernel.or S: Maintained F: drivers/i2c/busses/i2c-icy.c -IDE SUBSYSTEM -M: "David S. Miller" <davem(a)davemloft.net> -L: linux-ide(a)vger.kernel.org -S: Maintained -Q:
http://patchwork.ozlabs.org/project/linux-ide/list/
-T: git
git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide.git
-F: Documentation/ide/ -F: drivers/ide/ -F: include/linux/ide.h - -IDE/ATAPI DRIVERS -L: linux-ide(a)vger.kernel.org -S: Orphan -F: Documentation/cdrom/ide-cd.rst -F: drivers/ide/ide-cd* - IDEAPAD LAPTOP EXTRAS DRIVER M: Ike Panhc <ike.pan(a)canonical.com> L: platform-driver-x86(a)vger.kernel.org @@@ -9256,12 -9247,6 +9268,12 @@@ F: Documentation/admin-guide/media/ipu3 F: Documentation/userspace-api/media/v4l/pixfmt-meta-intel-ipu3.rst F: drivers/staging/media/ipu3/ +INTEL IXP4XX CRYPTO SUPPORT +M: Corentin Labbe <clabbe(a)baylibre.com> +L: linux-crypto(a)vger.kernel.org +S: Maintained +F: drivers/crypto/ixp4xx_crypto.c + INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT M: Krzysztof Halasa <khalasa(a)piap.pl> S: Maintained @@@ -9405,11 -9390,6 +9417,11 @@@ S: Maintaine F: arch/x86/include/asm/intel_scu_ipc.h F: drivers/platform/x86/intel_scu_* +INTEL SKYLAKE INT3472 ACPI DEVICE DRIVER +M: Daniel Scally <djrscally(a)gmail.com> +S: Maintained +F: drivers/platform/x86/intel/int3472/ + INTEL SPEED SELECT TECHNOLOGY M: Srinivas Pandruvada <srinivas.pandruvada(a)linux.intel.com> L: platform-driver-x86(a)vger.kernel.org @@@ -9430,7 -9410,7 +9442,7 @@@ F: include/linux/firmware/intel/stratix F: include/linux/firmware/intel/stratix10-svc-client.h INTEL TELEMETRY DRIVER -M: Rajneesh Bhardwaj <rajneesh.bhardwaj(a)linux.intel.com> +M: Rajneesh Bhardwaj <irenic.rajneesh(a)gmail.com> M: "David E. Box" <david.e.box(a)linux.intel.com> L: platform-driver-x86(a)vger.kernel.org S: Maintained @@@ -10018,8 -9998,6 +10030,8 @@@ F: arch/arm64/include/asm/kvm F: arch/arm64/include/uapi/asm/kvm* F: arch/arm64/kvm/ F: include/kvm/arm_* +F: tools/testing/selftests/kvm/*/aarch64/ +F: tools/testing/selftests/kvm/aarch64/ KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips) M: Huacai Chen <chenhuacai(a)kernel.org> @@@ -10885,7 -10863,6 +10897,7 @@@ S: Maintaine F: drivers/mailbox/ F: include/linux/mailbox_client.h F: include/linux/mailbox_controller.h +F: include/dt-bindings/mailbox/ F: Documentation/devicetree/bindings/mailbox/ MAILBOX ARM MHUv2 @@@ -10972,7 -10949,7 +10984,7 @@@ F: include/linux/mv643xx. MARVELL MV88X3310 PHY DRIVER M: Russell King <linux(a)armlinux.org.uk> -M: Marek Behun <marek.behun(a)nic.cz> +M: Marek Beh��n <kabel(a)kernel.org> L: netdev(a)vger.kernel.org S: Maintained F: drivers/net/phy/marvell10g.c @@@ -11318,7 -11295,6 +11330,7 @@@ F: include/media/imx. MEDIA DRIVERS FOR FREESCALE IMX7 M: Rui Miguel Silva <rmfrfs(a)gmail.com> +M: Laurent Pinchart <laurent.pinchart(a)ideasonboard.com> L: linux-media(a)vger.kernel.org S: Maintained T: git
git://linuxtv.org/media_tree.git
@@@ -11428,7 -11404,6 +11440,7 @@@ L: linux-renesas-soc(a)vger.kernel.or S: Supported T: git
git://linuxtv.org/media_tree.git
F: Documentation/devicetree/bindings/media/renesas,csi2.yaml +F: Documentation/devicetree/bindings/media/renesas,isp.yaml F: Documentation/devicetree/bindings/media/renesas,vin.yaml F: drivers/media/platform/rcar-vin/ @@@ -12018,13 -11993,11 +12030,13 @@@ MICROCHIP ISC DRIVE M: Eugen Hristev <eugen.hristev(a)microchip.com> L: linux-media(a)vger.kernel.org S: Supported -F: Documentation/devicetree/bindings/media/atmel-isc.txt +F: Documentation/devicetree/bindings/media/atmel,isc.yaml +F: Documentation/devicetree/bindings/media/microchip,xisc.yaml F: drivers/media/platform/atmel/atmel-isc-base.c F: drivers/media/platform/atmel/atmel-isc-regs.h F: drivers/media/platform/atmel/atmel-isc.h F: drivers/media/platform/atmel/atmel-sama5d2-isc.c +F: drivers/media/platform/atmel/atmel-sama7g5-isc.c F: include/linux/atmel-isc-media.h MICROCHIP ISI DRIVER @@@ -12219,10 -12192,9 +12231,10 @@@ F: drivers/platform/surface/surfacepro3 MICROSOFT SURFACE SYSTEM AGGREGATOR SUBSYSTEM M: Maximilian Luz <luzmaximilian(a)gmail.com> +L: platform-driver-x86(a)vger.kernel.org S: Maintained W:
https://github.com/linux-surface/surface-aggregator-module
-C:
irc://chat.freenode.net/##linux-surface
+C: irc://irc.libera.chat/linux-surface F: Documentation/driver-api/surface_aggregator/ F: drivers/platform/surface/aggregator/ F: drivers/platform/surface/surface_acpi_notify.c @@@ -12632,7 -12604,7 +12644,7 @@@ S: Orpha F: drivers/net/ethernet/natsemi/natsemi.c NCR 5380 SCSI DRIVERS -M: Finn Thain <fthain(a)telegraphics.com.au> +M: Finn Thain <fthain(a)linux-m68k.org> M: Michael Schmitz <schmitzmic(a)gmail.com> L: linux-scsi(a)vger.kernel.org S: Maintained @@@ -12720,9 -12692,9 +12732,9 @@@ F: drivers/rtc/rtc-ntxec. F: include/linux/mfd/ntxec.h NETRONOME ETHERNET DRIVERS -M: Simon Horman <simon.horman(a)netronome.com> +M: Simon Horman <simon.horman(a)corigine.com> R: Jakub Kicinski <kuba(a)kernel.org> -L: oss-drivers(a)netronome.com +L: oss-drivers(a)corigine.com S: Maintained F: drivers/net/ethernet/netronome/ @@@ -12749,6 -12721,7 +12761,6 @@@ M: "David S. Miller" <davem(a)davemloft.n M: Jakub Kicinski <kuba(a)kernel.org> L: netdev(a)vger.kernel.org S: Maintained -W:
http://www.linuxfoundation.org/en/Net
Q:
https://patchwork.kernel.org/project/netdevbpf/list/
T: git
git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
T: git
git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
@@@ -12793,6 -12766,7 +12805,6 @@@ M: "David S. Miller" <davem(a)davemloft.n M: Jakub Kicinski <kuba(a)kernel.org> L: netdev(a)vger.kernel.org S: Maintained -W:
http://www.linuxfoundation.org/en/Net
Q:
https://patchwork.kernel.org/project/netdevbpf/list/
B: mailto:netdev@vger.kernel.org T: git
git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
@@@ -12934,10 -12908,8 +12946,10 @@@ F: include/uapi/linux/nexthop. F: net/ipv4/nexthop.c NFC SUBSYSTEM +M: Krzysztof Kozlowski <krzysztof.kozlowski(a)canonical.com> +L: linux-nfc(a)lists.01.org (subscribers-only) L: netdev(a)vger.kernel.org -S: Orphan +S: Maintained F: Documentation/devicetree/bindings/net/nfc/ F: drivers/nfc/ F: include/linux/platform_data/nfcmrvl.h @@@ -12948,7 -12920,7 +12960,7 @@@ F: net/nfc NFC VIRTUAL NCI DEVICE DRIVER M: Bongsu Jeon <bongsu.jeon(a)samsung.com> L: netdev(a)vger.kernel.org -L: linux-nfc(a)lists.01.org (moderated for non-subscribers) +L: linux-nfc(a)lists.01.org (subscribers-only) S: Supported F: drivers/nfc/virtual_ncidev.c F: tools/testing/selftests/nci/ @@@ -13104,7 -13076,7 +13116,7 @@@ F: Documentation/filesystems/ntfs.rs F: fs/ntfs/ NUBUS SUBSYSTEM -M: Finn Thain <fthain(a)telegraphics.com.au> +M: Finn Thain <fthain(a)linux-m68k.org> L: linux-m68k(a)lists.linux-m68k.org S: Maintained F: arch/*/include/asm/nubus.h @@@ -13245,8 -13217,9 +13257,8 @@@ F: Documentation/devicetree/bindings/so F: sound/soc/codecs/tfa9879* NXP-NCI NFC DRIVER -M: Cl��ment Perrochaud <clement.perrochaud(a)effinnov.com> R: Charles Gorand <charles.gorand(a)effinnov.com> -L: linux-nfc(a)lists.01.org (moderated for non-subscribers) +L: linux-nfc(a)lists.01.org (subscribers-only) S: Supported F: drivers/nfc/nxp-nci @@@ -14149,7 -14122,6 +14161,7 @@@ F: drivers/pci/controller/pci-v3-semi. PCI ENDPOINT SUBSYSTEM M: Kishon Vijay Abraham I <kishon(a)ti.com> M: Lorenzo Pieralisi <lorenzo.pieralisi(a)arm.com> +R: Krzysztof Wilczy��ski <kw(a)linux.com> L: linux-pci(a)vger.kernel.org S: Supported F: Documentation/PCI/endpoint/* @@@ -14198,7 -14170,6 +14210,7 @@@ F: drivers/pci/controller/pci-xgene-msi PCI NATIVE HOST BRIDGE AND ENDPOINT DRIVERS M: Lorenzo Pieralisi <lorenzo.pieralisi(a)arm.com> R: Rob Herring <robh(a)kernel.org> +R: Krzysztof Wilczy��ski <kw(a)linux.com> L: linux-pci(a)vger.kernel.org S: Supported Q:
http://patchwork.ozlabs.org/project/linux-pci/list/
@@@ -14358,12 -14329,10 +14370,12 @@@ PER-CPU MEMORY ALLOCATO M: Dennis Zhou <dennis(a)kernel.org> M: Tejun Heo <tj(a)kernel.org> M: Christoph Lameter <cl(a)linux.com> +L: linux-mm(a)kvack.org S: Maintained T: git
git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu.git
F: arch/*/include/asm/percpu.h F: include/linux/percpu*.h +F: lib/percpu*.c F: mm/percpu*.c PER-TASK DELAY ACCOUNTING @@@ -14777,6 -14746,7 +14789,6 @@@ W:
https://wireless.wiki.kernel.org/en/
F: drivers/net/wireless/intersil/prism54/ PROC FILESYSTEM -R: Alexey Dobriyan <adobriyan(a)gmail.com> L: linux-kernel(a)vger.kernel.org L: linux-fsdevel(a)vger.kernel.org S: Maintained @@@ -15171,13 -15141,6 +15183,13 @@@ S: Maintaine F: Documentation/devicetree/bindings/opp/qcom-nvmem-cpufreq.txt F: drivers/cpufreq/qcom-cpufreq-nvmem.c +QUALCOMM CRYPTO DRIVERS +M: Thara Gopinath <thara.gopinath(a)linaro.org> +L: linux-crypto(a)vger.kernel.org +L: linux-arm-msm(a)vger.kernel.org +S: Maintained +F: drivers/crypto/qce/ + QUALCOMM EMAC GIGABIT ETHERNET DRIVER M: Timur Tabi <timur(a)kernel.org> L: netdev(a)vger.kernel.org @@@ -15742,14 -15705,6 +15754,14 @@@ F: arch/riscv N: riscv K: riscv +RISC-V/MICROCHIP POLARFIRE SOC SUPPORT +M: Lewis Hanly <lewis.hanly(a)microchip.com> +L: linux-riscv(a)lists.infradead.org +S: Supported +F: drivers/mailbox/mailbox-mpfs.c +F: drivers/soc/microchip/ +F: include/soc/microchip/mpfs.h + RNBD BLOCK DRIVERS M: Md. Haris Iqbal <haris.iqbal(a)ionos.com> M: Jack Wang <jinpu.wang(a)ionos.com> @@@ -16002,7 -15957,6 +16014,7 @@@ S390 IUCV NETWORK LAYE M: Julian Wiedmann <jwi(a)linux.ibm.com> M: Karsten Graul <kgraul(a)linux.ibm.com> L: linux-s390(a)vger.kernel.org +L: netdev(a)vger.kernel.org S: Supported W:
http://www.ibm.com/developerworks/linux/linux390/
F: drivers/s390/net/*iucv* @@@ -16013,7 -15967,6 +16025,7 @@@ S390 NETWORK DRIVER M: Julian Wiedmann <jwi(a)linux.ibm.com> M: Karsten Graul <kgraul(a)linux.ibm.com> L: linux-s390(a)vger.kernel.org +L: netdev(a)vger.kernel.org S: Supported W:
http://www.ibm.com/developerworks/linux/linux390/
F: drivers/s390/net/ @@@ -16192,7 -16145,7 +16204,7 @@@ F: include/media/drv-intf/s3c_camif. SAMSUNG S3FWRN5 NFC DRIVER M: Krzysztof Kozlowski <krzysztof.kozlowski(a)canonical.com> M: Krzysztof Opasiak <k.opasiak(a)samsung.com> -L: linux-nfc(a)lists.01.org (moderated for non-subscribers) +L: linux-nfc(a)lists.01.org (subscribers-only) S: Maintained F: Documentation/devicetree/bindings/net/nfc/samsung,s3fwrn5.yaml F: drivers/nfc/s3fwrn5 @@@ -16605,7 -16558,6 +16617,7 @@@ F: drivers/misc/sgi-xp SHARED MEMORY COMMUNICATIONS (SMC) SOCKETS M: Karsten Graul <kgraul(a)linux.ibm.com> +M: Guvenc Gulce <guvenc(a)linux.ibm.com> L: linux-s390(a)vger.kernel.org S: Supported W:
http://www.ibm.com/developerworks/linux/linux390/
@@@ -17051,13 -17003,6 +17063,13 @@@ S: Maintaine F: drivers/ssb/ F: include/linux/ssb/ +SONY IMX208 SENSOR DRIVER +M: Sakari Ailus <sakari.ailus(a)linux.intel.com> +L: linux-media(a)vger.kernel.org +S: Maintained +T: git
git://linuxtv.org/media_tree.git
+F: drivers/media/i2c/imx208.c + SONY IMX214 SENSOR DRIVER M: Ricardo Ribalda <ribalda(a)kernel.org> L: linux-media(a)vger.kernel.org @@@ -17371,12 -17316,6 +17383,12 @@@ L: linux-i2c(a)vger.kernel.or S: Maintained F: drivers/i2c/busses/i2c-stm32* +ST STM32 SPI DRIVER +M: Alain Volmat <alain.volmat(a)foss.st.com> +L: linux-spi(a)vger.kernel.org +S: Maintained +F: drivers/spi/spi-stm32.c + ST STPDDC60 DRIVER M: Daniel Nilsson <daniel.nilsson(a)flex.com> L: linux-hwmon(a)vger.kernel.org @@@ -17735,6 -17674,7 +17747,6 @@@ R: Mika Westerberg <mika.westerberg@lin L: linux-i2c(a)vger.kernel.org S: Maintained F: drivers/i2c/busses/i2c-designware-* -F: include/linux/platform_data/i2c-designware.h SYNOPSYS DESIGNWARE MMC/SD/SDIO DRIVER M: Jaehoon Chung <jh80.chung(a)samsung.com> @@@ -18228,13 -18168,6 +18240,13 @@@ W:
http://thinkwiki.org/wiki/Ibm-acp
T: git git://repo.or.cz/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git F: drivers/platform/x86/thinkpad_acpi.c +THINKPAD LMI DRIVER +M: Mark Pearson <markpearson(a)lenovo.com> +L: platform-driver-x86(a)vger.kernel.org +S: Maintained +F: Documentation/ABI/testing/sysfs-class-firmware-attributes +F: drivers/platform/x86/think-lmi.? + THUNDERBOLT DMA TRAFFIC TEST DRIVER M: Isaac Hazan <isaac.hazan(a)intel.com> L: linux-usb(a)vger.kernel.org @@@ -18397,7 -18330,7 +18409,7 @@@ F: sound/soc/codecs/tas571x TI TRF7970A NFC DRIVER M: Mark Greer <mgreer(a)animalcreek.com> L: linux-wireless(a)vger.kernel.org -L: linux-nfc(a)lists.01.org (moderated for non-subscribers) +L: linux-nfc(a)lists.01.org (subscribers-only) S: Supported F: Documentation/devicetree/bindings/net/nfc/trf7970a.txt F: drivers/nfc/trf7970a.c @@@ -18933,13 -18866,6 +18945,13 @@@ S: Maintaine F: drivers/usb/host/isp116x* F: include/linux/usb/isp116x.h +USB ISP1760 DRIVER +M: Rui Miguel Silva <rui.silva(a)linaro.org> +L: linux-usb(a)vger.kernel.org +S: Maintained +F: drivers/usb/isp1760/* +F: Documentation/devicetree/bindings/usb/nxp,isp1760.yaml + USB LAN78XX ETHERNET DRIVER M: Woojung Huh <woojung.huh(a)microchip.com> M: UNGLinuxDriver(a)microchip.com @@@ -19637,10 -19563,6 +19649,10 @@@ F: include/dt-bindings/regulator F: include/linux/regulator/ K: regulator_get_optional +VOLTAGE AND CURRENT REGULATOR IRQ HELPERS +R: Matti Vaittinen <matti.vaittinen(a)fi.rohmeurope.com> +F: drivers/regulator/irq_helpers.c + VRF M: David Ahern <dsahern(a)kernel.org> L: netdev(a)vger.kernel.org @@@ -19658,7 -19580,6 +19670,7 @@@ S: Maintaine T: git
git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk.git
F: Documentation/core-api/printk-formats.rst F: lib/test_printf.c +F: lib/test_scanf.c F: lib/vsprintf.c VT1211 HARDWARE MONITOR DRIVER @@@ -20089,7 -20010,6 +20101,7 @@@ F: arch/x86/xen/*swiotlb F: drivers/xen/*swiotlb* XFS FILESYSTEM +C:
irc://irc.oftc.net/xfs
M: Darrick J. Wong <djwong(a)kernel.org> M: linux-xfs(a)vger.kernel.org L: linux-xfs(a)vger.kernel.org diff --combined arch/arm64/Kconfig index a6a09cb95cc7,39bf982b06f8..be9083882f97 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@@ -93,6 -93,7 +93,7 @@@ config ARM6 select ARCH_WANT_FRAME_POINTERS select ARCH_WANT_HUGE_PMD_SHARE if ARM64_4K_PAGES || (ARM64_16K_PAGES && !ARM64_VA_BITS_36) select ARCH_WANT_LD_ORPHAN_WARN + select ARCH_WANTS_NO_INSTR select ARCH_HAS_UBSAN_SANITIZE_ALL select ARM_AMBA select ARM_ARCH_TIMER @@@ -1035,7 -1036,7 +1036,7 @@@ config NODES_SHIF int "Maximum NUMA Nodes (as a power of 2)" range 1 10 default "4" - depends on NEED_MULTIPLE_NODES + depends on NUMA help Specify the maximum number of NUMA Nodes available on the target system. Increases memory reserved to accommodate various tables. @@@ -1481,6 -1482,12 +1482,6 @@@ menu "ARMv8.3 architectural features config ARM64_PTR_AUTH bool "Enable support for pointer authentication" default y - depends on (CC_HAS_SIGN_RETURN_ADDRESS || CC_HAS_BRANCH_PROT_PAC_RET) && AS_HAS_PAC - # Modern compilers insert a .note.gnu.property section note for PAC - # which is only understood by binutils starting with version 2.33.1. - depends on LD_IS_LLD || LD_VERSION >= 23301 || (CC_IS_GCC && GCC_VERSION < 90100) - depends on !CC_IS_CLANG || AS_HAS_CFI_NEGATE_RA_STATE - depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_REGS) help Pointer authentication (part of the ARMv8.3 Extensions) provides instructions for signing and authenticating pointers against secret @@@ -1492,6 -1499,13 +1493,6 @@@ for each process at exec() time, with these keys being context-switched along with the process. - If the compiler supports the -mbranch-protection or - -msign-return-address flag (e.g. GCC 7 or later), then this option - will also cause the kernel itself to be compiled with return address - protection. In this case, and if the target hardware is known to - support pointer authentication, then CONFIG_STACKPROTECTOR can be - disabled with minimal loss of protection. - The feature is detected at runtime. If the feature is not present in hardware it will not be advertised to userspace/KVM guest nor will it be enabled. @@@ -1502,24 -1516,6 +1503,24 @@@ but with the feature disabled. On such a system, this option should not be selected. +config ARM64_PTR_AUTH_KERNEL + bool "Use pointer authentication for kernel" + default y + depends on ARM64_PTR_AUTH + depends on (CC_HAS_SIGN_RETURN_ADDRESS || CC_HAS_BRANCH_PROT_PAC_RET) && AS_HAS_PAC + # Modern compilers insert a .note.gnu.property section note for PAC + # which is only understood by binutils starting with version 2.33.1. + depends on LD_IS_LLD || LD_VERSION >= 23301 || (CC_IS_GCC && GCC_VERSION < 90100) + depends on !CC_IS_CLANG || AS_HAS_CFI_NEGATE_RA_STATE + depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_REGS) + help + If the compiler supports the -mbranch-protection or + -msign-return-address flag (e.g. GCC 7 or later), then this option + will cause the kernel itself to be compiled with return address + protection. In this case, and if the target hardware is known to + support pointer authentication, then CONFIG_STACKPROTECTOR can be + disabled with minimal loss of protection. + This feature works with FUNCTION_GRAPH_TRACER option only if DYNAMIC_FTRACE_WITH_REGS is enabled. @@@ -1611,7 -1607,7 +1612,7 @@@ config ARM64_BTI_KERNE bool "Use Branch Target Identification for kernel" default y depends on ARM64_BTI - depends on ARM64_PTR_AUTH + depends on ARM64_PTR_AUTH_KERNEL depends on CC_HAS_BRANCH_PROT_PAC_RET_BTI #
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94697
depends on !CC_IS_GCC || GCC_VERSION >= 100100 diff --combined arch/arm64/include/asm/memory.h index 7b360960cc35,ced44ca3e175..1a35a4473598 --- a/arch/arm64/include/asm/memory.h +++ b/arch/arm64/include/asm/memory.h @@@ -135,8 -135,10 +135,8 @@@ #define MT_NORMAL 0 #define MT_NORMAL_TAGGED 1 #define MT_NORMAL_NC 2 -#define MT_NORMAL_WT 3 -#define MT_DEVICE_nGnRnE 4 -#define MT_DEVICE_nGnRE 5 -#define MT_DEVICE_GRE 6 +#define MT_DEVICE_nGnRnE 3 +#define MT_DEVICE_nGnRE 4 /* * Memory types for Stage-2 translation @@@ -321,22 -323,6 +321,6 @@@ static inline void *phys_to_virt(phys_a #define virt_to_pfn(x) __phys_to_pfn(__virt_to_phys((unsigned long)(x))) #define sym_to_pfn(x) __phys_to_pfn(__pa_symbol(x)) - #ifdef CONFIG_CFI_CLANG - /* - * With CONFIG_CFI_CLANG, the compiler replaces function address - * references with the address of the function's CFI jump table - * entry. The function_nocfi macro always returns the address of the - * actual function instead. - */ - #define function_nocfi(x) ({ \ - void *addr; \ - asm("adrp %0, " __stringify(x) "\n\t" \ - "add %0, %0, :lo12:" __stringify(x) \ - : "=r" (addr)); \ - addr; \ - }) - #endif - /* * virt_to_page(x) convert a _valid_ virtual address to struct page * * virt_addr_valid(x) indicates whether a virtual address is valid diff --combined arch/s390/Kconfig index 707afbcd81c2,bd60310f33b9..a49971647f81 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@@ -117,6 -117,7 +117,7 @@@ config S39 select ARCH_USE_BUILTIN_BSWAP select ARCH_USE_CMPXCHG_LOCKREF select ARCH_WANTS_DYNAMIC_TASK_STRUCT + select ARCH_WANTS_NO_INSTR select ARCH_WANT_DEFAULT_BPF_JIT select ARCH_WANT_IPC_PARSE_VERSION select BUILDTIME_TABLE_SORT @@@ -475,7 -476,7 +476,7 @@@ config NUM config NODES_SHIFT int - depends on NEED_MULTIPLE_NODES + depends on NUMA default "1" config SCHED_SMT diff --combined arch/x86/Kconfig index 49ffb69e34dd,268a5dec8b3f..867e7936dbc5 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@@ -103,8 -103,8 +103,8 @@@ config X8 select ARCH_SUPPORTS_DEBUG_PAGEALLOC select ARCH_SUPPORTS_NUMA_BALANCING if X86_64 select ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP if NR_CPUS <= 4096 - select ARCH_SUPPORTS_LTO_CLANG if X86_64 - select ARCH_SUPPORTS_LTO_CLANG_THIN if X86_64 + select ARCH_SUPPORTS_LTO_CLANG + select ARCH_SUPPORTS_LTO_CLANG_THIN select ARCH_USE_BUILTIN_BSWAP select ARCH_USE_MEMTEST select ARCH_USE_QUEUED_RWLOCKS @@@ -113,6 -113,7 +113,7 @@@ select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH select ARCH_WANT_DEFAULT_BPF_JIT if X86_64 select ARCH_WANTS_DYNAMIC_TASK_STRUCT + select ARCH_WANTS_NO_INSTR select ARCH_WANT_HUGE_PMD_SHARE select ARCH_WANT_LD_ORPHAN_WARN select ARCH_WANTS_THP_SWAP if X86_64 @@@ -1597,7 -1598,7 +1598,7 @@@ config NODES_SHIF default "10" if MAXSMP default "6" if X86_64 default "3" - depends on NEED_MULTIPLE_NODES + depends on NUMA help Specify the maximum number of NUMA Nodes available on the target system. Increases memory reserved to accommodate various tables. @@@ -1693,6 -1694,35 +1694,6 @@@ config X86_BOOTPARAM_MEMORY_CORRUPTION_ Set whether the default state of memory_corruption_check is on or off. -config X86_RESERVE_LOW - int "Amount of low memory, in kilobytes, to reserve for the BIOS" - default 64 - range 4 640 - help - Specify the amount of low memory to reserve for the BIOS. - - The first page contains BIOS data structures that the kernel - must not use, so that page must always be reserved. - - By default we reserve the first 64K of physical RAM, as a - number of BIOSes are known to corrupt that memory range - during events such as suspend/resume or monitor cable - insertion, so it must not be used by the kernel. - - You can set this to 4 if you are absolutely sure that you - trust the BIOS to get all its memory reservations and usages - right. If you know your BIOS have problems beyond the - default 64K area, you can set this to 640 to avoid using the - entire low memory range. - - If you have doubts about the BIOS (e.g. suspend/resume does - not work or there's kernel crashes after certain hardware - hotplug events) then you might want to enable - X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check - typical corruption patterns. - - Leave this to the default value of 64 if you are unsure. - config MATH_EMULATION bool depends on MODIFY_LDT_SYSCALL diff --combined include/linux/compiler.h index 77047904cf70,099e529a5d25..b67261a1e3e9 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h @@@ -115,24 -115,18 +115,24 @@@ void ftrace_likely_update(struct ftrace * The __COUNTER__ based labels are a hack to make each instance of the macros * unique, to convince GCC not to merge duplicate inline asm statements. */ -#define annotate_reachable() ({ \ - asm volatile("%c0:\n\t" \ +#define __stringify_label(n) #n + +#define __annotate_reachable(c) ({ \ + asm volatile(__stringify_label(c) ":\n\t" \ ".pushsection .discard.reachable\n\t" \ - ".long %c0b - .\n\t" \ - ".popsection\n\t" : : "i" (__COUNTER__)); \ + ".long " __stringify_label(c) "b - .\n\t" \ + ".popsection\n\t"); \ }) -#define annotate_unreachable() ({ \ - asm volatile("%c0:\n\t" \ +#define annotate_reachable() __annotate_reachable(__COUNTER__) + +#define __annotate_unreachable(c) ({ \ + asm volatile(__stringify_label(c) ":\n\t" \ ".pushsection .discard.unreachable\n\t" \ - ".long %c0b - .\n\t" \ - ".popsection\n\t" : : "i" (__COUNTER__)); \ + ".long " __stringify_label(c) "b - .\n\t" \ + ".popsection\n\t"); \ }) +#define annotate_unreachable() __annotate_unreachable(__COUNTER__) + #define ASM_UNREACHABLE \ "999:\n\t" \ ".pushsection .discard.unreachable\n\t" \ @@@ -219,6 -213,16 +219,16 @@@ __v; \ }) + /* + * With CONFIG_CFI_CLANG, the compiler replaces function addresses in + * instrumented C code with jump table addresses. Architectures that + * support CFI can define this macro to return the actual function address + * when needed. + */ + #ifndef function_nocfi + #define function_nocfi(x) (x) + #endif + #endif /* __KERNEL__ */ /* diff --combined include/linux/compiler_attributes.h index 183ddd5fd072,84b1c970acb3..2487be0e7199 --- a/include/linux/compiler_attributes.h +++ b/include/linux/compiler_attributes.h @@@ -27,15 -27,16 +27,16 @@@ */ #ifndef __has_attribute # define __has_attribute(x) __GCC4_has_attribute_##x - # define __GCC4_has_attribute___assume_aligned__ (__GNUC_MINOR__ >= 9) + # define __GCC4_has_attribute___assume_aligned__ 1 # define __GCC4_has_attribute___copy__ 0 # define __GCC4_has_attribute___designated_init__ 0 # define __GCC4_has_attribute___externally_visible__ 1 # define __GCC4_has_attribute___no_caller_saved_registers__ 0 # define __GCC4_has_attribute___noclone__ 1 + # define __GCC4_has_attribute___no_profile_instrument_function__ 0 # define __GCC4_has_attribute___nonstring__ 0 - # define __GCC4_has_attribute___no_sanitize_address__ (__GNUC_MINOR__ >= 8) - # define __GCC4_has_attribute___no_sanitize_undefined__ (__GNUC_MINOR__ >= 9) + # define __GCC4_has_attribute___no_sanitize_address__ 1 + # define __GCC4_has_attribute___no_sanitize_undefined__ 1 # define __GCC4_has_attribute___fallthrough__ 0 #endif @@@ -199,7 -200,6 +200,7 @@@ * must end with any of these keywords: * break; * fallthrough; + * continue; * goto <label>; * return [expression]; * @@@ -238,6 -238,18 +239,18 @@@ # define __nonstring #endif + /* + * Optional: only supported since GCC >= 7.1, clang >= 13.0. + * + * gcc:
https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-no…
+ * clang:
https://clang.llvm.org/docs/AttributeReference.html#no-profile-instrument-f…
+ */ + #if __has_attribute(__no_profile_instrument_function__) + # define __no_profile __attribute__((__no_profile_instrument_function__)) + #else + # define __no_profile + #endif + /* * gcc:
https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-no…
* clang:
https://clang.llvm.org/docs/AttributeReference.html#noreturn
diff --combined include/linux/mm.h index 6d0f827ca4eb,b8c28b10f25d..7ec25dd2f8a9 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@@ -46,7 -46,7 +46,7 @@@ extern int sysctl_page_lock_unfairness void init_mm_internals(void); -#ifndef CONFIG_NEED_MULTIPLE_NODES /* Don't use mapnrs, do it properly */ +#ifndef CONFIG_NUMA /* Don't use mapnrs, do it properly */ extern unsigned long max_mapnr; static inline void set_max_mapnr(unsigned long limit) @@@ -124,16 -124,6 +124,6 @@@ extern int mmap_rnd_compat_bits __read_ #define lm_alias(x) __va(__pa_symbol(x)) #endif - /* - * With CONFIG_CFI_CLANG, the compiler replaces function addresses in - * instrumented C code with jump table addresses. Architectures that - * support CFI can define this macro to return the actual function address - * when needed. - */ - #ifndef function_nocfi - #define function_nocfi(x) (x) - #endif - /* * To prevent common memory management code establishing * a zero page mapping on a read fault. @@@ -234,11 -224,7 +224,11 @@@ int overcommit_policy_handler(struct ct int __add_to_page_cache_locked(struct page *page, struct address_space *mapping, pgoff_t index, gfp_t gfp, void **shadowp); +#if defined(CONFIG_SPARSEMEM) && !defined(CONFIG_SPARSEMEM_VMEMMAP) #define nth_page(page,n) pfn_to_page(page_to_pfn((page)) + (n)) +#else +#define nth_page(page,n) ((page) + (n)) +#endif /* to align the pointer to the (next) page boundary */ #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE) @@@ -1345,7 -1331,7 +1335,7 @@@ static inline bool page_needs_cow_for_d if (!is_cow_mapping(vma->vm_flags)) return false; - if (!atomic_read(&vma->vm_mm->has_pinned)) + if (!test_bit(MMF_HAS_PINNED, &vma->vm_mm->flags)) return false; return page_maybe_dma_pinned(page); @@@ -1713,8 -1699,8 +1703,8 @@@ extern bool can_do_mlock(void) #else static inline bool can_do_mlock(void) { return false; } #endif -extern int user_shm_lock(size_t, struct user_struct *); -extern void user_shm_unlock(size_t, struct user_struct *); +extern int user_shm_lock(size_t, struct ucounts *); +extern void user_shm_unlock(size_t, struct ucounts *); /* * Parameter block passed down to zap_pte_range in exceptional cases. @@@ -1723,7 -1709,6 +1713,7 @@@ struct zap_details struct address_space *check_mapping; /* Check page->mapping if set */ pgoff_t first_index; /* Lowest page->index to unmap */ pgoff_t last_index; /* Highest page->index to unmap */ + struct page *single_page; /* Locked page to be unmapped */ }; struct page *vm_normal_page(struct vm_area_struct *vma, unsigned long addr, @@@ -1771,7 -1756,6 +1761,7 @@@ extern vm_fault_t handle_mm_fault(struc extern int fixup_user_fault(struct mm_struct *mm, unsigned long address, unsigned int fault_flags, bool *unlocked); +void unmap_mapping_page(struct page *page); void unmap_mapping_pages(struct address_space *mapping, pgoff_t start, pgoff_t nr, bool even_cows); void unmap_mapping_range(struct address_space *mapping, @@@ -1792,7 -1776,6 +1782,7 @@@ static inline int fixup_user_fault(stru BUG(); return -EFAULT; } +static inline void unmap_mapping_page(struct page *page) { } static inline void unmap_mapping_pages(struct address_space *mapping, pgoff_t start, pgoff_t nr, bool even_cows) { } static inline void unmap_mapping_range(struct address_space *mapping, @@@ -1854,8 -1837,12 +1844,8 @@@ extern int try_to_release_page(struct p extern void do_invalidatepage(struct page *page, unsigned int offset, unsigned int length); -void __set_page_dirty(struct page *, struct address_space *, int warn); -int __set_page_dirty_nobuffers(struct page *page); -int __set_page_dirty_no_writeback(struct page *page); int redirty_page_for_writepage(struct writeback_control *wbc, struct page *page); -void account_page_dirtied(struct page *page, struct address_space *mapping); void account_page_cleaned(struct page *page, struct address_space *mapping, struct bdi_writeback *wb); int set_page_dirty(struct page *page); @@@ -2420,7 -2407,7 +2410,7 @@@ static inline unsigned long free_initme extern char __init_begin[], __init_end[]; return free_reserved_area(&__init_begin, &__init_end, - poison, "unused kernel"); + poison, "unused kernel image (initmem)"); } static inline unsigned long get_num_physpages(void) @@@ -2460,7 -2447,7 +2450,7 @@@ extern void get_pfn_range_for_nid(unsig unsigned long *start_pfn, unsigned long *end_pfn); extern unsigned long find_min_pfn_with_active_regions(void); -#ifndef CONFIG_NEED_MULTIPLE_NODES +#ifndef CONFIG_NUMA static inline int early_pfn_to_nid(unsigned long pfn) { return 0; @@@ -2474,6 -2461,7 +2464,6 @@@ extern void set_dma_reserve(unsigned lo extern void memmap_init_range(unsigned long, int, unsigned long, unsigned long, unsigned long, enum meminit_context, struct vmem_altmap *, int migratetype); -extern void memmap_init_zone(struct zone *zone); extern void setup_per_zone_wmarks(void); extern int __meminit init_per_zone_wmark_min(void); extern void mem_init(void); @@@ -2680,45 -2668,17 +2670,45 @@@ extern struct vm_area_struct * find_vma extern struct vm_area_struct * find_vma_prev(struct mm_struct * mm, unsigned long addr, struct vm_area_struct **pprev); -/* Look up the first VMA which intersects the interval start_addr..end_addr-1, - NULL if none. Assume start_addr < end_addr. */ -static inline struct vm_area_struct * find_vma_intersection(struct mm_struct * mm, unsigned long start_addr, unsigned long end_addr) +/** + * find_vma_intersection() - Look up the first VMA which intersects the interval + * @mm: The process address space. + * @start_addr: The inclusive start user address. + * @end_addr: The exclusive end user address. + * + * Returns: The first VMA within the provided range, %NULL otherwise. Assumes + * start_addr < end_addr. + */ +static inline +struct vm_area_struct *find_vma_intersection(struct mm_struct *mm, + unsigned long start_addr, + unsigned long end_addr) { - struct vm_area_struct * vma = find_vma(mm,start_addr); + struct vm_area_struct *vma = find_vma(mm, start_addr); if (vma && end_addr <= vma->vm_start) vma = NULL; return vma; } +/** + * vma_lookup() - Find a VMA at a specific address + * @mm: The process address space. + * @addr: The user address. + * + * Return: The vm_area_struct at the given address, %NULL otherwise. + */ +static inline +struct vm_area_struct *vma_lookup(struct mm_struct *mm, unsigned long addr) +{ + struct vm_area_struct *vma = find_vma(mm, addr); + + if (vma && addr < vma->vm_start) + vma = NULL; + + return vma; +} + static inline unsigned long vm_start_gap(struct vm_area_struct *vma) { unsigned long vm_start = vma->vm_start; diff --combined init/Kconfig index a61c92066c2e,31397a7a45fb..55f9f7738ebb --- a/init/Kconfig +++ b/init/Kconfig @@@ -83,6 -83,9 +83,9 @@@ config TOOLS_SUPPORT_REL config CC_HAS_ASM_INLINE def_bool $(success,echo 'void foo(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null) + config CC_HAS_NO_PROFILE_FN_ATTR + def_bool $(success,echo '__attribute__((no_profile_instrument_function)) int x();' | $(CC) -x c - -c -o /dev/null -Werror) + config CONSTRUCTORS bool @@@ -442,7 -445,6 +445,7 @@@ config AUDITSYSCAL source "kernel/irq/Kconfig" source "kernel/time/Kconfig" +source "kernel/bpf/Kconfig" source "kernel/Kconfig.preempt" menu "CPU/Task time and stats accounting" @@@ -1714,6 -1716,46 +1717,6 @@@ config KALLSYMS_BASE_RELATIV # syscall, maps, verifier -config BPF_LSM - bool "LSM Instrumentation with BPF" - depends on BPF_EVENTS - depends on BPF_SYSCALL - depends on SECURITY - depends on BPF_JIT - help - Enables instrumentation of the security hooks with eBPF programs for - implementing dynamic MAC and Audit Policies. - - If you are unsure how to answer this question, answer N. - -config BPF_SYSCALL - bool "Enable bpf() system call" - select BPF - select IRQ_WORK - select TASKS_TRACE_RCU - select BINARY_PRINTF - select NET_SOCK_MSG if INET - default n - help - Enable the bpf() system call that allows to manipulate eBPF - programs and maps via file descriptors. - -config ARCH_WANT_DEFAULT_BPF_JIT - bool - -config BPF_JIT_ALWAYS_ON - bool "Permanently enable BPF JIT and remove BPF interpreter" - depends on BPF_SYSCALL && HAVE_EBPF_JIT && BPF_JIT - help - Enables BPF JIT and removes BPF interpreter to avoid - speculative execution of BPF instructions by the interpreter - -config BPF_JIT_DEFAULT_ON - def_bool ARCH_WANT_DEFAULT_BPF_JIT || BPF_JIT_ALWAYS_ON - depends on HAVE_EBPF_JIT && BPF_JIT - -source "kernel/bpf/preload/Kconfig" - config USERFAULTFD bool "Enable userfaultfd() system call" depends on MMU -- LinuxNextTracking
1 year, 8 months
1
0
0
0
[linux-next] LinuxNextTracking branch, master, updated. next-20210706
by batman@open-mesh.org
The following commit has been merged in the master branch: commit dbe69e43372212527abf48609aba7fc39a6daa27 Merge: a6eaf3850cb171c328a8b0db6d3c79286a1eba9d b6df00789e2831fff7a2c65aa7164b2a4dcbe599 Author: Linus Torvalds <torvalds(a)linux-foundation.org> Date: Wed Jun 30 15:51:09 2021 -0700 Merge tag 'net-next-5.14' of
git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
Pull networking updates from Jakub Kicinski: "Core: - BPF: - add syscall program type and libbpf support for generating instructions and bindings for in-kernel BPF loaders (BPF loaders for BPF), this is a stepping stone for signed BPF programs - infrastructure to migrate TCP child sockets from one listener to another in the same reuseport group/map to improve flexibility of service hand-off/restart - add broadcast support to XDP redirect - allow bypass of the lockless qdisc to improving performance (for pktgen: +23% with one thread, +44% with 2 threads) - add a simpler version of "DO_ONCE()" which does not require jump labels, intended for slow-path usage - virtio/vsock: introduce SOCK_SEQPACKET support - add getsocketopt to retrieve netns cookie - ip: treat lowest address of a IPv4 subnet as ordinary unicast address allowing reclaiming of precious IPv4 addresses - ipv6: use prandom_u32() for ID generation - ip: add support for more flexible field selection for hashing across multi-path routes (w/ offload to mlxsw) - icmp: add support for extended RFC 8335 PROBE (ping) - seg6: add support for SRv6 End.DT46 behavior - mptcp: - DSS checksum support (RFC 8684) to detect middlebox meddling - support Connection-time 'C' flag - time stamping support - sctp: packetization Layer Path MTU Discovery (RFC 8899) - xfrm: speed up state addition with seq set - WiFi: - hidden AP discovery on 6 GHz and other HE 6 GHz improvements - aggregation handling improvements for some drivers - minstrel improvements for no-ack frames - deferred rate control for TXQs to improve reaction times - switch from round robin to virtual time-based airtime scheduler - add trace points: - tcp checksum errors - openvswitch - action execution, upcalls - socket errors via sk_error_report Device APIs: - devlink: add rate API for hierarchical control of max egress rate of virtual devices (VFs, SFs etc.) - don't require RCU read lock to be held around BPF hooks in NAPI context - page_pool: generic buffer recycling New hardware/drivers: - mobile: - iosm: PCIe Driver for Intel M.2 Modem - support for Qualcomm MSM8998 (ipa) - WiFi: Qualcomm QCN9074 and WCN6855 PCI devices - sparx5: Microchip SparX-5 family of Enterprise Ethernet switches - Mellanox BlueField Gigabit Ethernet (control NIC of the DPU) - NXP SJA1110 Automotive Ethernet 10-port switch - Qualcomm QCA8327 switch support (qca8k) - Mikrotik 10/25G NIC (atl1c) Driver changes: - ACPI support for some MDIO, MAC and PHY devices from Marvell and NXP (our first foray into MAC/PHY description via ACPI) - HW timestamping (PTP) support: bnxt_en, ice, sja1105, hns3, tja11xx - Mellanox/Nvidia NIC (mlx5) - NIC VF offload of L2 bridging - support IRQ distribution to Sub-functions - Marvell (prestera): - add flower and match all - devlink trap - link aggregation - Netronome (nfp): connection tracking offload - Intel 1GE (igc): add AF_XDP support - Marvell DPU (octeontx2): ingress ratelimit offload - Google vNIC (gve): new ring/descriptor format support - Qualcomm mobile (rmnet & ipa): inline checksum offload support - MediaTek WiFi (mt76) - mt7915 MSI support - mt7915 Tx status reporting - mt7915 thermal sensors support - mt7921 decapsulation offload - mt7921 enable runtime pm and deep sleep - Realtek WiFi (rtw88) - beacon filter support - Tx antenna path diversity support - firmware crash information via devcoredump - Qualcomm WiFi (wcn36xx) - Wake-on-WLAN support with magic packets and GTK rekeying - Micrel PHY (ksz886x/ksz8081): add cable test support" * tag 'net-next-5.14' of
git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
: (2168 commits) tcp: change ICSK_CA_PRIV_SIZE definition tcp_yeah: check struct yeah size at compile time gve: DQO: Fix off by one in gve_rx_dqo() stmmac: intel: set PCI_D3hot in suspend stmmac: intel: Enable PHY WOL option in EHL net: stmmac: option to enable PHY WOL with PMT enabled net: say "local" instead of "static" addresses in ndo_dflt_fdb_{add,del} net: use netdev_info in ndo_dflt_fdb_{add,del} ptp: Set lookup cookie when creating a PTP PPS source. net: sock: add trace for socket errors net: sock: introduce sk_error_report net: dsa: replay the local bridge FDB entries pointing to the bridge dev too net: dsa: ensure during dsa_fdb_offload_notify that dev_hold and dev_put are on the same dev net: dsa: include fdb entries pointing to bridge in the host fdb list net: dsa: include bridge addresses which are local in the host fdb list net: dsa: sync static FDB entries on foreign interfaces to hardware net: dsa: install the host MDB and FDB entries in the master's RX filter net: dsa: reference count the FDB addresses at the cross-chip notifier level net: dsa: introduce a separate cross-chip notifier type for host FDBs net: dsa: reference count the MDB entries at the cross-chip notifier level ... diff --combined Documentation/networking/devlink/devlink-trap.rst index efa5f7f42c88,ef8928c355df..90d1381b88de --- a/Documentation/networking/devlink/devlink-trap.rst +++ b/Documentation/networking/devlink/devlink-trap.rst @@@ -495,8 -495,9 +495,9 @@@ help debug packet drops caused by thes links to the description of driver-specific traps registered by various device drivers: - * :doc:`netdevsim` - * :doc:`mlxsw` - * :doc:`prestera` + * Documentation/networking/devlink/netdevsim.rst + * Documentation/networking/devlink/mlxsw.rst ++ * Documentation/networking/devlink/prestera.rst .. _Generic-Packet-Trap-Groups: diff --combined MAINTAINERS index f4af84a7de42,25956727ff24..88449b7a4c95 --- a/MAINTAINERS +++ b/MAINTAINERS @@@ -973,7 -973,7 +973,7 @@@ F: drivers/net/ethernet/amd/xgbe AMD SENSOR FUSION HUB DRIVER M: Nehal Shah <nehal-bakulchandra.shah(a)amd.com> -M: Sandeep Singh <sandeep.singh(a)amd.com> +M: Basavaraj Natikar <basavaraj.natikar(a)amd.com> L: linux-input(a)vger.kernel.org S: Maintained F: Documentation/hid/amd-sfh* @@@ -1811,13 -1811,12 +1811,13 @@@ F: Documentation/devicetree/bindings/ne F: Documentation/devicetree/bindings/pinctrl/cortina,gemini-pinctrl.txt F: Documentation/devicetree/bindings/rtc/faraday,ftrtc010.txt F: arch/arm/mach-gemini/ +F: drivers/crypto/gemini/ F: drivers/net/ethernet/cortina/ F: drivers/pinctrl/pinctrl-gemini.c F: drivers/rtc/rtc-ftrtc010.c ARM/CZ.NIC TURRIS SUPPORT -M: Marek Behun <kabel(a)kernel.org> +M: Marek Beh��n <kabel(a)kernel.org> S: Maintained W:
https://www.turris.cz/
F: Documentation/ABI/testing/debugfs-moxtet @@@ -1973,7 -1972,6 +1973,7 @@@ F: Documentation/devicetree/bindings/in F: Documentation/devicetree/bindings/timer/intel,ixp4xx-timer.yaml F: arch/arm/mach-ixp4xx/ F: drivers/clocksource/timer-ixp4xx.c +F: drivers/crypto/ixp4xx_crypto.c F: drivers/gpio/gpio-ixp4xx.c F: drivers/irqchip/irq-ixp4xx.c F: include/linux/irqchip/irq-ixp4xx.h @@@ -4447,18 -4445,6 +4447,18 @@@ F: include/linux/compiler-clang. F: scripts/clang-tools/ K: \b(?i:clang|llvm)\b +CLANG CONTROL FLOW INTEGRITY SUPPORT +M: Sami Tolvanen <samitolvanen(a)google.com> +M: Kees Cook <keescook(a)chromium.org> +R: Nathan Chancellor <nathan(a)kernel.org> +R: Nick Desaulniers <ndesaulniers(a)google.com> +L: clang-built-linux(a)googlegroups.com +S: Supported +B:
https://github.com/ClangBuiltLinux/linux/issues
+T: git
git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git
for-next/clang/features +F: include/linux/cfi.h +F: kernel/cfi.c + CLEANCACHE API M: Konrad Rzeszutek Wilk <konrad.wilk(a)oracle.com> L: linux-kernel(a)vger.kernel.org @@@ -4624,12 -4610,6 +4624,12 @@@ S: Supporte F: drivers/video/console/ F: include/linux/console* +CONTEXT TRACKING +M: Frederic Weisbecker <frederic(a)kernel.org> +S: Maintained +F: kernel/context_tracking.c +F: include/linux/context_tracking* + CONTROL GROUP (CGROUP) M: Tejun Heo <tj(a)kernel.org> M: Zefan Li <lizefan.x(a)bytedance.com> @@@ -5199,14 -5179,7 +5199,14 @@@ DELL WMI NOTIFICATIONS DRIVE M: Matthew Garrett <mjg59(a)srcf.ucam.org> M: Pali Roh��r <pali(a)kernel.org> S: Maintained -F: drivers/platform/x86/dell/dell-wmi.c +F: drivers/platform/x86/dell/dell-wmi-base.c + +DELL WMI HARDWARE PRIVACY SUPPORT +M: Perry Yuan <Perry.Yuan(a)dell.com> +L: Dell.Client.Kernel(a)dell.com +L: platform-driver-x86(a)vger.kernel.org +S: Maintained +F: drivers/platform/x86/dell/dell-wmi-privacy.c DELTA ST MEDIA DRIVER M: Hugues Fruchet <hugues.fruchet(a)foss.st.com> @@@ -5216,13 -5189,6 +5216,13 @@@ W:
https://linuxtv.or
T: git
git://linuxtv.org/media_tree.git
F: drivers/media/platform/sti/delta +DELTA DPS920AB PSU DRIVER +M: Robert Marko <robert.marko(a)sartura.hr> +L: linux-hwmon(a)vger.kernel.org +S: Maintained +F: Documentation/hwmon/dps920ab.rst +F: drivers/hwmon/pmbus/dps920ab.c + DENALI NAND DRIVER L: linux-mtd(a)lists.infradead.org S: Orphan @@@ -6479,11 -6445,10 +6479,11 @@@ F: Documentation/filesystems/ecryptfs.r F: fs/ecryptfs/ EDAC-AMD64 -M: Borislav Petkov <bp(a)alien8.de> +M: Yazen Ghannam <yazen.ghannam(a)amd.com> L: linux-edac(a)vger.kernel.org -S: Maintained +S: Supported F: drivers/edac/amd64_edac* +F: drivers/edac/mce_amd* EDAC-ARMADA M: Jan Luebbe <jlu(a)pengutronix.de> @@@ -6806,7 -6771,7 +6806,7 @@@ F: include/video/s1d13xxxfb. EROFS FILE SYSTEM M: Gao Xiang <xiang(a)kernel.org> -M: Chao Yu <yuchao0(a)huawei.com> +M: Chao Yu <chao(a)kernel.org> L: linux-erofs(a)lists.ozlabs.org S: Maintained T: git
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
@@@ -6847,6 -6812,8 +6847,8 @@@ F: Documentation/devicetree/bindings/ne F: Documentation/devicetree/bindings/net/qca,ar803x.yaml F: Documentation/networking/phy.rst F: drivers/net/mdio/ + F: drivers/net/mdio/acpi_mdio.c + F: drivers/net/mdio/fwnode_mdio.c F: drivers/net/mdio/of_mdio.c F: drivers/net/pcs/ F: drivers/net/phy/ @@@ -7201,7 -7168,7 +7203,7 @@@ F: include/video FREESCALE CAAM (Cryptographic Acceleration and Assurance Module) DRIVER M: Horia Geant�� <horia.geanta(a)nxp.com> -M: Aymen Sghaier <aymen.sghaier(a)nxp.com> +M: Pankaj Gupta <pankaj.gupta(a)nxp.com> L: linux-crypto(a)vger.kernel.org S: Maintained F: Documentation/devicetree/bindings/crypto/fsl-sec4.txt @@@ -7389,6 -7356,7 +7391,6 @@@ F: drivers/net/ethernet/freescale/fs_en F: include/linux/fs_enet_pd.h FREESCALE SOC SOUND DRIVERS -M: Timur Tabi <timur(a)kernel.org> M: Nicolin Chen <nicoleotsuka(a)gmail.com> M: Xiubo Li <Xiubo.Lee(a)gmail.com> R: Fabio Estevam <festevam(a)gmail.com> @@@ -7591,12 -7559,6 +7593,12 @@@ M: Kieran Bingham <kbingham(a)kernel.org S: Supported F: scripts/gdb/ +GEMINI CRYPTO DRIVER +M: Corentin Labbe <clabbe(a)baylibre.com> +L: linux-crypto(a)vger.kernel.org +S: Maintained +F: drivers/crypto/gemini/ + GEMTEK FM RADIO RECEIVER DRIVER M: Hans Verkuil <hverkuil(a)xs4all.nl> L: linux-media(a)vger.kernel.org @@@ -8812,6 -8774,22 +8814,6 @@@ L: linux-i2c(a)vger.kernel.or S: Maintained F: drivers/i2c/busses/i2c-icy.c -IDE SUBSYSTEM -M: "David S. Miller" <davem(a)davemloft.net> -L: linux-ide(a)vger.kernel.org -S: Maintained -Q:
http://patchwork.ozlabs.org/project/linux-ide/list/
-T: git
git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide.git
-F: Documentation/ide/ -F: drivers/ide/ -F: include/linux/ide.h - -IDE/ATAPI DRIVERS -L: linux-ide(a)vger.kernel.org -S: Orphan -F: Documentation/cdrom/ide-cd.rst -F: drivers/ide/ide-cd* - IDEAPAD LAPTOP EXTRAS DRIVER M: Ike Panhc <ike.pan(a)canonical.com> L: platform-driver-x86(a)vger.kernel.org @@@ -9163,6 -9141,7 +9165,7 @@@ F: Documentation/networking/device_driv F: drivers/net/ethernet/intel/ F: drivers/net/ethernet/intel/*/ F: include/linux/avf/virtchnl.h + F: include/linux/net/intel/iidc.h INTEL FRAMEBUFFER DRIVER (excluding 810 and 815) M: Maik Broemme <mbroemme(a)libmpq.org> @@@ -9268,12 -9247,6 +9271,12 @@@ F: Documentation/admin-guide/media/ipu3 F: Documentation/userspace-api/media/v4l/pixfmt-meta-intel-ipu3.rst F: drivers/staging/media/ipu3/ +INTEL IXP4XX CRYPTO SUPPORT +M: Corentin Labbe <clabbe(a)baylibre.com> +L: linux-crypto(a)vger.kernel.org +S: Maintained +F: drivers/crypto/ixp4xx_crypto.c + INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT M: Krzysztof Halasa <khalasa(a)piap.pl> S: Maintained @@@ -9417,11 -9390,6 +9420,11 @@@ S: Maintaine F: arch/x86/include/asm/intel_scu_ipc.h F: drivers/platform/x86/intel_scu_* +INTEL SKYLAKE INT3472 ACPI DEVICE DRIVER +M: Daniel Scally <djrscally(a)gmail.com> +S: Maintained +F: drivers/platform/x86/intel/int3472/ + INTEL SPEED SELECT TECHNOLOGY M: Srinivas Pandruvada <srinivas.pandruvada(a)linux.intel.com> L: platform-driver-x86(a)vger.kernel.org @@@ -9442,7 -9410,7 +9445,7 @@@ F: include/linux/firmware/intel/stratix F: include/linux/firmware/intel/stratix10-svc-client.h INTEL TELEMETRY DRIVER -M: Rajneesh Bhardwaj <rajneesh.bhardwaj(a)linux.intel.com> +M: Rajneesh Bhardwaj <irenic.rajneesh(a)gmail.com> M: "David E. Box" <david.e.box(a)linux.intel.com> L: platform-driver-x86(a)vger.kernel.org S: Maintained @@@ -9487,6 -9455,13 +9490,13 @@@ L: Dell.Client.Kernel(a)dell.co S: Maintained F: drivers/platform/x86/intel-wmi-thunderbolt.c + INTEL WWAN IOSM DRIVER + M: M Chetan Kumar <m.chetan.kumar(a)intel.com> + M: Intel Corporation <linuxwwan(a)intel.com> + L: netdev(a)vger.kernel.org + S: Maintained + F: drivers/net/wwan/iosm/ + INTEL(R) TRACE HUB M: Alexander Shishkin <alexander.shishkin(a)linux.intel.com> S: Supported @@@ -10030,8 -10005,6 +10040,8 @@@ F: arch/arm64/include/asm/kvm F: arch/arm64/include/uapi/asm/kvm* F: arch/arm64/kvm/ F: include/kvm/arm_* +F: tools/testing/selftests/kvm/*/aarch64/ +F: tools/testing/selftests/kvm/aarch64/ KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips) M: Huacai Chen <chenhuacai(a)kernel.org> @@@ -10897,7 -10870,6 +10907,7 @@@ S: Maintaine F: drivers/mailbox/ F: include/linux/mailbox_client.h F: include/linux/mailbox_controller.h +F: include/dt-bindings/mailbox/ F: Documentation/devicetree/bindings/mailbox/ MAILBOX ARM MHUv2 @@@ -10984,7 -10956,7 +10994,7 @@@ F: include/linux/mv643xx. MARVELL MV88X3310 PHY DRIVER M: Russell King <linux(a)armlinux.org.uk> -M: Marek Behun <marek.behun(a)nic.cz> +M: Marek Beh��n <kabel(a)kernel.org> L: netdev(a)vger.kernel.org S: Maintained F: drivers/net/phy/marvell10g.c @@@ -11330,7 -11302,6 +11340,7 @@@ F: include/media/imx. MEDIA DRIVERS FOR FREESCALE IMX7 M: Rui Miguel Silva <rmfrfs(a)gmail.com> +M: Laurent Pinchart <laurent.pinchart(a)ideasonboard.com> L: linux-media(a)vger.kernel.org S: Maintained T: git
git://linuxtv.org/media_tree.git
@@@ -11440,7 -11411,6 +11450,7 @@@ L: linux-renesas-soc(a)vger.kernel.or S: Supported T: git
git://linuxtv.org/media_tree.git
F: Documentation/devicetree/bindings/media/renesas,csi2.yaml +F: Documentation/devicetree/bindings/media/renesas,isp.yaml F: Documentation/devicetree/bindings/media/renesas,vin.yaml F: drivers/media/platform/rcar-vin/ @@@ -12030,13 -12000,11 +12040,13 @@@ MICROCHIP ISC DRIVE M: Eugen Hristev <eugen.hristev(a)microchip.com> L: linux-media(a)vger.kernel.org S: Supported -F: Documentation/devicetree/bindings/media/atmel-isc.txt +F: Documentation/devicetree/bindings/media/atmel,isc.yaml +F: Documentation/devicetree/bindings/media/microchip,xisc.yaml F: drivers/media/platform/atmel/atmel-isc-base.c F: drivers/media/platform/atmel/atmel-isc-regs.h F: drivers/media/platform/atmel/atmel-isc.h F: drivers/media/platform/atmel/atmel-sama5d2-isc.c +F: drivers/media/platform/atmel/atmel-sama7g5-isc.c F: include/linux/atmel-isc-media.h MICROCHIP ISI DRIVER @@@ -12234,7 -12202,7 +12244,7 @@@ M: Maximilian Luz <luzmaximilian@gmail. L: platform-driver-x86(a)vger.kernel.org S: Maintained W:
https://github.com/linux-surface/surface-aggregator-module
-C:
irc://chat.freenode.net/##linux-surface
+C: irc://irc.libera.chat/linux-surface F: Documentation/driver-api/surface_aggregator/ F: drivers/platform/surface/aggregator/ F: drivers/platform/surface/surface_acpi_notify.c @@@ -12430,6 -12398,12 +12440,12 @@@ F: Documentation/userspace-api/media/dr F: drivers/media/pci/meye/ F: include/uapi/linux/meye.h + MOTORCOMM PHY DRIVER + M: Peter Geis <pgwipeout(a)gmail.com> + L: netdev(a)vger.kernel.org + S: Maintained + F: drivers/net/phy/motorcomm.c + MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD S: Orphan F: Documentation/driver-api/serial/moxa-smartio.rst @@@ -12644,7 -12618,7 +12660,7 @@@ S: Orpha F: drivers/net/ethernet/natsemi/natsemi.c NCR 5380 SCSI DRIVERS -M: Finn Thain <fthain(a)telegraphics.com.au> +M: Finn Thain <fthain(a)linux-m68k.org> M: Michael Schmitz <schmitzmic(a)gmail.com> L: linux-scsi(a)vger.kernel.org S: Maintained @@@ -12701,6 -12675,7 +12717,7 @@@ W:
http://www.netfilter.org
W:
http://www.iptables.org/
W:
http://www.nftables.org/
Q:
http://patchwork.ozlabs.org/project/netfilter-devel/list/
+ C: irc://irc.libera.chat/netfilter T: git
git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf.git
T: git
git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git
F: include/linux/netfilter* @@@ -13116,7 -13091,7 +13133,7 @@@ F: Documentation/filesystems/ntfs.rs F: fs/ntfs/ NUBUS SUBSYSTEM -M: Finn Thain <fthain(a)telegraphics.com.au> +M: Finn Thain <fthain(a)linux-m68k.org> L: linux-m68k(a)lists.linux-m68k.org S: Maintained F: arch/*/include/asm/nubus.h @@@ -13238,6 -13213,7 +13255,7 @@@ M: Vladimir Oltean <olteanv(a)gmail.com L: linux-kernel(a)vger.kernel.org S: Maintained F: drivers/net/dsa/sja1105 + F: drivers/net/pcs/pcs-xpcs-nxp.c NXP TDA998X DRM DRIVER M: Russell King <linux(a)armlinux.org.uk> @@@ -15183,13 -15159,6 +15201,13 @@@ S: Maintaine F: Documentation/devicetree/bindings/opp/qcom-nvmem-cpufreq.txt F: drivers/cpufreq/qcom-cpufreq-nvmem.c +QUALCOMM CRYPTO DRIVERS +M: Thara Gopinath <thara.gopinath(a)linaro.org> +L: linux-crypto(a)vger.kernel.org +L: linux-arm-msm(a)vger.kernel.org +S: Maintained +F: drivers/crypto/qce/ + QUALCOMM EMAC GIGABIT ETHERNET DRIVER M: Timur Tabi <timur(a)kernel.org> L: netdev(a)vger.kernel.org @@@ -15625,6 -15594,13 +15643,13 @@@ F: include/linux/rpmsg F: include/uapi/linux/rpmsg.h F: samples/rpmsg/ + REMOTE PROCESSOR MESSAGING (RPMSG) WWAN CONTROL DRIVER + M: Stephan Gerhold <stephan(a)gerhold.net> + L: netdev(a)vger.kernel.org + L: linux-remoteproc(a)vger.kernel.org + S: Maintained + F: drivers/net/wwan/rpmsg_wwan_ctrl.c + RENESAS CLOCK DRIVERS M: Geert Uytterhoeven <geert+renesas(a)glider.be> L: linux-renesas-soc(a)vger.kernel.org @@@ -15754,14 -15730,6 +15779,14 @@@ F: arch/riscv N: riscv K: riscv +RISC-V/MICROCHIP POLARFIRE SOC SUPPORT +M: Lewis Hanly <lewis.hanly(a)microchip.com> +L: linux-riscv(a)lists.infradead.org +S: Supported +F: drivers/mailbox/mailbox-mpfs.c +F: drivers/soc/microchip/ +F: include/soc/microchip/mpfs.h + RNBD BLOCK DRIVERS M: Md. Haris Iqbal <haris.iqbal(a)ionos.com> M: Jack Wang <jinpu.wang(a)ionos.com> @@@ -17063,13 -17031,6 +17088,13 @@@ S: Maintaine F: drivers/ssb/ F: include/linux/ssb/ +SONY IMX208 SENSOR DRIVER +M: Sakari Ailus <sakari.ailus(a)linux.intel.com> +L: linux-media(a)vger.kernel.org +S: Maintained +T: git
git://linuxtv.org/media_tree.git
+F: drivers/media/i2c/imx208.c + SONY IMX214 SENSOR DRIVER M: Ricardo Ribalda <ribalda(a)kernel.org> L: linux-media(a)vger.kernel.org @@@ -17738,6 -17699,7 +17763,7 @@@ M: Jose Abreu <Jose.Abreu(a)synopsys.com L: netdev(a)vger.kernel.org S: Supported F: drivers/net/pcs/pcs-xpcs.c + F: drivers/net/pcs/pcs-xpcs.h F: include/linux/pcs/pcs-xpcs.h SYNOPSYS DESIGNWARE I2C DRIVER @@@ -18240,13 -18202,6 +18266,13 @@@ W:
http://thinkwiki.org/wiki/Ibm-acp
T: git git://repo.or.cz/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git F: drivers/platform/x86/thinkpad_acpi.c +THINKPAD LMI DRIVER +M: Mark Pearson <markpearson(a)lenovo.com> +L: platform-driver-x86(a)vger.kernel.org +S: Maintained +F: Documentation/ABI/testing/sysfs-class-firmware-attributes +F: drivers/platform/x86/think-lmi.? + THUNDERBOLT DMA TRAFFIC TEST DRIVER M: Isaac Hazan <isaac.hazan(a)intel.com> L: linux-usb(a)vger.kernel.org @@@ -19649,10 -19604,6 +19675,10 @@@ F: include/dt-bindings/regulator F: include/linux/regulator/ K: regulator_get_optional +VOLTAGE AND CURRENT REGULATOR IRQ HELPERS +R: Matti Vaittinen <matti.vaittinen(a)fi.rohmeurope.com> +F: drivers/regulator/irq_helpers.c + VRF M: David Ahern <dsahern(a)kernel.org> L: netdev(a)vger.kernel.org @@@ -19670,7 -19621,6 +19696,7 @@@ S: Maintaine T: git
git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk.git
F: Documentation/core-api/printk-formats.rst F: lib/test_printf.c +F: lib/test_scanf.c F: lib/vsprintf.c VT1211 HARDWARE MONITOR DRIVER @@@ -19854,6 -19804,16 +19880,16 @@@ F: Documentation/core-api/workqueue.rs F: include/linux/workqueue.h F: kernel/workqueue.c + WWAN DRIVERS + M: Loic Poulain <loic.poulain(a)linaro.org> + M: Sergey Ryazanov <ryazanov.s.a(a)gmail.com> + R: Johannes Berg <johannes(a)sipsolutions.net> + L: netdev(a)vger.kernel.org + S: Maintained + F: drivers/net/wwan/ + F: include/linux/wwan.h + F: include/uapi/linux/wwan.h + X-POWERS AXP288 PMIC DRIVERS M: Hans de Goede <hdegoede(a)redhat.com> S: Maintained diff --combined arch/arm64/net/bpf_jit_comp.c index dd5000da18b8,be873a7da62b..dccf98a37283 --- a/arch/arm64/net/bpf_jit_comp.c +++ b/arch/arm64/net/bpf_jit_comp.c @@@ -16,7 -16,6 +16,7 @@@ #include <asm/byteorder.h> #include <asm/cacheflush.h> #include <asm/debug-monitors.h> +#include <asm/insn.h> #include <asm/set_memory.h> #include "bpf_jit.h" @@@ -179,9 -178,6 +179,6 @@@ static bool is_addsub_imm(u32 imm return !(imm & ~0xfff) || !(imm & ~0xfff000); } - /* Stack must be multiples of 16B */ - #define STACK_ALIGN(sz) (((sz) + 15) & ~15) - /* Tail call offset to jump into */ #if IS_ENABLED(CONFIG_ARM64_BTI_KERNEL) #define PROLOGUE_OFFSET 8 @@@ -256,7 -252,8 +253,8 @@@ static int build_prologue(struct jit_ct emit(A64_BTI_J, ctx); } - ctx->stack_size = STACK_ALIGN(prog->aux->stack_depth); + /* Stack must be multiples of 16B */ + ctx->stack_size = round_up(prog->aux->stack_depth, 16); /* Set up function call stack */ emit(A64_SUB_I(1, A64_SP, A64_SP, ctx->stack_size), ctx); @@@ -488,17 -485,12 +486,12 @@@ static int build_insn(const struct bpf_ break; case BPF_ALU | BPF_DIV | BPF_X: case BPF_ALU64 | BPF_DIV | BPF_X: + emit(A64_UDIV(is64, dst, dst, src), ctx); + break; case BPF_ALU | BPF_MOD | BPF_X: case BPF_ALU64 | BPF_MOD | BPF_X: - switch (BPF_OP(code)) { - case BPF_DIV: - emit(A64_UDIV(is64, dst, dst, src), ctx); - break; - case BPF_MOD: - emit(A64_UDIV(is64, tmp, dst, src), ctx); - emit(A64_MSUB(is64, dst, dst, tmp, src), ctx); - break; - } + emit(A64_UDIV(is64, tmp, dst, src), ctx); + emit(A64_MSUB(is64, dst, dst, tmp, src), ctx); break; case BPF_ALU | BPF_LSH | BPF_X: case BPF_ALU64 | BPF_LSH | BPF_X: diff --combined drivers/net/ethernet/broadcom/bnxt/bnxt.c index 598e5e6ace18,8f185a4883d2..f56245eeef7b --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@@ -49,6 -49,8 +49,8 @@@ #include <linux/log2.h> #include <linux/aer.h> #include <linux/bitmap.h> + #include <linux/ptp_clock_kernel.h> + #include <linux/timecounter.h> #include <linux/cpu_rmap.h> #include <linux/cpumask.h> #include <net/pkt_cls.h> @@@ -63,6 -65,7 +65,7 @@@ #include "bnxt_ethtool.h" #include "bnxt_dcb.h" #include "bnxt_xdp.h" + #include "bnxt_ptp.h" #include "bnxt_vfr.h" #include "bnxt_tc.h" #include "bnxt_devlink.h" @@@ -418,12 -421,25 +421,25 @@@ static netdev_tx_t bnxt_start_xmit(stru vlan_tag_flags |= 1 << TX_BD_CFA_META_TPID_SHIFT; } - if (unlikely(skb->no_fcs)) { - lflags |= cpu_to_le32(TX_BD_FLAGS_NO_CRC); - goto normal_tx; + if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP)) { + struct bnxt_ptp_cfg *ptp = bp->ptp_cfg; + + if (ptp && ptp->tx_tstamp_en && !skb_is_gso(skb) && + atomic_dec_if_positive(&ptp->tx_avail) >= 0) { + if (!bnxt_ptp_parse(skb, &ptp->tx_seqid)) { + lflags |= cpu_to_le32(TX_BD_FLAGS_STAMP); + skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS; + } else { + atomic_inc(&bp->ptp_cfg->tx_avail); + } + } } - if (free_size == bp->tx_ring_size && length <= bp->tx_push_thresh) { + if (unlikely(skb->no_fcs)) + lflags |= cpu_to_le32(TX_BD_FLAGS_NO_CRC); + + if (free_size == bp->tx_ring_size && length <= bp->tx_push_thresh && + !lflags) { struct tx_push_buffer *tx_push_buf = txr->tx_push; struct tx_push_bd *tx_push = &tx_push_buf->push_bd; struct tx_bd_ext *tx_push1 = &tx_push->txbd2; @@@ -590,6 -606,8 +606,8 @@@ normal_tx netdev_tx_sent_queue(txq, skb->len); + skb_tx_timestamp(skb); + /* Sync BD data before updating doorbell */ wmb(); @@@ -619,6 -637,9 +637,9 @@@ tx_done return NETDEV_TX_OK; tx_dma_error: + if (BNXT_TX_PTP_IS_SET(lflags)) + atomic_inc(&bp->ptp_cfg->tx_avail); + last_frag = i; /* start back at beginning and unmap skb */ @@@ -653,6 -674,7 +674,7 @@@ static void bnxt_tx_int(struct bnxt *bp for (i = 0; i < nr_pkts; i++) { struct bnxt_sw_tx_bd *tx_buf; + bool compl_deferred = false; struct sk_buff *skb; int j, last; @@@ -679,12 -701,21 +701,21 @@@ skb_frag_size(&skb_shinfo(skb)->frags[j]), PCI_DMA_TODEVICE); } + if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_IN_PROGRESS)) { + if (bp->flags & BNXT_FLAG_CHIP_P5) { + if (!bnxt_get_tx_ts_p5(bp, skb)) + compl_deferred = true; + else + atomic_inc(&bp->ptp_cfg->tx_avail); + } + } next_tx_int: cons = NEXT_TX(cons); tx_bytes += skb->len; - dev_kfree_skb_any(skb); + if (!compl_deferred) + dev_kfree_skb_any(skb); } netdev_tx_completed_queue(txq, nr_pkts, tx_bytes); @@@ -1706,9 -1737,9 +1737,9 @@@ static int bnxt_rx_pkt(struct bnxt *bp u8 *data_ptr, agg_bufs, cmp_type; dma_addr_t dma_addr; struct sk_buff *skb; + u32 flags, misc; void *data; int rc = 0; - u32 misc; rxcmp = (struct rx_cmp *) &cpr->cp_desc_ring[CP_RING(cp_cons)][CP_IDX(cp_cons)]; @@@ -1806,7 -1837,8 +1837,8 @@@ goto next_rx_no_len; } - len = le32_to_cpu(rxcmp->rx_cmp_len_flags_type) >> RX_CMP_LEN_SHIFT; + flags = le32_to_cpu(rxcmp->rx_cmp_len_flags_type); + len = flags >> RX_CMP_LEN_SHIFT; dma_addr = rx_buf->mapping; if (bnxt_rx_xdp(bp, rxr, cons, data, &data_ptr, &len, event)) { @@@ -1883,6 -1915,24 +1915,24 @@@ } } + if (unlikely((flags & RX_CMP_FLAGS_ITYPES_MASK) == + RX_CMP_FLAGS_ITYPE_PTP_W_TS)) { + if (bp->flags & BNXT_FLAG_CHIP_P5) { + u32 cmpl_ts = le32_to_cpu(rxcmp1->rx_cmp_timestamp); + u64 ns, ts; + + if (!bnxt_get_rx_ts_p5(bp, &ts, cmpl_ts)) { + struct bnxt_ptp_cfg *ptp = bp->ptp_cfg; + + spin_lock_bh(&ptp->ptp_lock); + ns = timecounter_cyc2time(&ptp->tc, ts); + spin_unlock_bh(&ptp->ptp_lock); + memset(skb_hwtstamps(skb), 0, + sizeof(*skb_hwtstamps(skb))); + skb_hwtstamps(skb)->hwtstamp = ns_to_ktime(ns); + } + } + } bnxt_deliver_skb(bp, bnapi, skb); rc = 1; @@@ -2184,7 -2234,6 +2234,7 @@@ static int bnxt_hwrm_handler(struct bnx case CMPL_BASE_TYPE_HWRM_ASYNC_EVENT: bnxt_async_event_process(bp, (struct hwrm_async_event_cmpl *)txcmp); + break; default: break; @@@ -7392,6 -7441,56 +7442,56 @@@ hwrm_func_resc_qcaps_exit return rc; } + /* bp->hwrm_cmd_lock already held. */ + static int __bnxt_hwrm_ptp_qcfg(struct bnxt *bp) + { + struct hwrm_port_mac_ptp_qcfg_output *resp = bp->hwrm_cmd_resp_addr; + struct hwrm_port_mac_ptp_qcfg_input req = {0}; + struct bnxt_ptp_cfg *ptp = bp->ptp_cfg; + u8 flags; + int rc; + + if (bp->hwrm_spec_code < 0x10801) { + rc = -ENODEV; + goto no_ptp; + } + + req.port_id = cpu_to_le16(bp->pf.port_id); + bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_PORT_MAC_PTP_QCFG, -1, -1); + rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT); + if (rc) + goto no_ptp; + + flags = resp->flags; + if (!(flags & PORT_MAC_PTP_QCFG_RESP_FLAGS_HWRM_ACCESS)) { + rc = -ENODEV; + goto no_ptp; + } + if (!ptp) { + ptp = kzalloc(sizeof(*ptp), GFP_KERNEL); + if (!ptp) + return -ENOMEM; + ptp->bp = bp; + bp->ptp_cfg = ptp; + } + if (flags & PORT_MAC_PTP_QCFG_RESP_FLAGS_PARTIAL_DIRECT_ACCESS_REF_CLOCK) { + ptp->refclk_regs[0] = le32_to_cpu(resp->ts_ref_clock_reg_lower); + ptp->refclk_regs[1] = le32_to_cpu(resp->ts_ref_clock_reg_upper); + } else if (bp->flags & BNXT_FLAG_CHIP_P5) { + ptp->refclk_regs[0] = BNXT_TS_REG_TIMESYNC_TS0_LOWER; + ptp->refclk_regs[1] = BNXT_TS_REG_TIMESYNC_TS0_UPPER; + } else { + rc = -ENODEV; + goto no_ptp; + } + return 0; + + no_ptp: + kfree(ptp); + bp->ptp_cfg = NULL; + return rc; + } + static int __bnxt_hwrm_func_qcaps(struct bnxt *bp) { int rc = 0; @@@ -7463,6 -7562,8 +7563,8 @@@ bp->flags &= ~BNXT_FLAG_WOL_CAP; if (flags & FUNC_QCAPS_RESP_FLAGS_WOL_MAGICPKT_SUPPORTED) bp->flags |= BNXT_FLAG_WOL_CAP; + if (flags & FUNC_QCAPS_RESP_FLAGS_PTP_SUPPORTED) + __bnxt_hwrm_ptp_qcfg(bp); } else { #ifdef CONFIG_BNXT_SRIOV struct bnxt_vf_info *vf = &bp->vf; @@@ -10021,6 -10122,7 +10123,7 @@@ static int __bnxt_open_nic(struct bnxt } } + bnxt_ptp_start(bp); rc = bnxt_init_nic(bp, irq_re_init); if (rc) { netdev_err(bp->dev, "bnxt_init_nic err: %x\n", rc); @@@ -10336,6 -10438,12 +10439,12 @@@ static int bnxt_ioctl(struct net_devic return bnxt_hwrm_port_phy_write(bp, mdio->phy_id, mdio->reg_num, mdio->val_in); + case SIOCSHWTSTAMP: + return bnxt_hwtstamp_set(dev, ifr); + + case SIOCGHWTSTAMP: + return bnxt_hwtstamp_get(dev, ifr); + default: /* do nothing */ break; @@@ -12552,6 -12660,8 +12661,8 @@@ static void bnxt_remove_one(struct pci_ if (BNXT_PF(bp)) devlink_port_type_clear(&bp->dl_port); + + bnxt_ptp_clear(bp); pci_disable_pcie_error_reporting(pdev); unregister_netdev(dev); clear_bit(BNXT_STATE_IN_FW_RESET, &bp->state); @@@ -12572,6 -12682,8 +12683,8 @@@ bnxt_dcb_free(bp); kfree(bp->edev); bp->edev = NULL; + kfree(bp->ptp_cfg); + bp->ptp_cfg = NULL; kfree(bp->fw_health); bp->fw_health = NULL; bnxt_cleanup_pci(bp); @@@ -13133,6 -13245,11 +13246,11 @@@ static int bnxt_init_one(struct pci_de rc); } + if (bnxt_ptp_init(bp)) { + netdev_warn(dev, "PTP initialization failed.\n"); + kfree(bp->ptp_cfg); + bp->ptp_cfg = NULL; + } bnxt_inv_fw_health_reg(bp); bnxt_dl_register(bp); @@@ -13162,6 -13279,8 +13280,8 @@@ init_err_pci_clean bnxt_free_hwrm_short_cmd_req(bp); bnxt_free_hwrm_resources(bp); bnxt_ethtool_free(bp); + kfree(bp->ptp_cfg); + bp->ptp_cfg = NULL; kfree(bp->fw_health); bp->fw_health = NULL; bnxt_cleanup_pci(bp); diff --combined drivers/net/ethernet/neterion/vxge/vxge-config.c index b47d74743f5a,38a273c4d593..a3204a7ef750 --- a/drivers/net/ethernet/neterion/vxge/vxge-config.c +++ b/drivers/net/ethernet/neterion/vxge/vxge-config.c @@@ -3784,7 -3784,6 +3784,7 @@@ vxge_hw_rts_rth_data0_data1_get(u32 j, VXGE_HW_RTS_ACCESS_STEER_DATA1_RTH_ITEM1_ENTRY_EN | VXGE_HW_RTS_ACCESS_STEER_DATA1_RTH_ITEM1_BUCKET_DATA( itable[j]); + return; default: return; } @@@ -4885,7 -4884,7 +4885,7 @@@ vpath_open_exit1 } /** - * vxge_hw_vpath_rx_doorbell_post - Close the handle got from previous vpath + * vxge_hw_vpath_rx_doorbell_init - Close the handle got from previous vpath * (vpath) open * @vp: Handle got from previous vpath open * diff --combined drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c index 918220ad0d53,b307264e59cf..a4fa507903ee --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c @@@ -319,10 -319,8 +319,8 @@@ int qlcnic_read_mac_addr(struct qlcnic_ static void qlcnic_delete_adapter_mac(struct qlcnic_adapter *adapter) { struct qlcnic_mac_vlan_list *cur; - struct list_head *head; - list_for_each(head, &adapter->mac_list) { - cur = list_entry(head, struct qlcnic_mac_vlan_list, list); + list_for_each_entry(cur, &adapter->mac_list, list) { if (ether_addr_equal_unaligned(adapter->mac_addr, cur->mac_addr)) { qlcnic_sre_macaddr_change(adapter, cur->mac_addr, 0, QLCNIC_MAC_DEL); @@@ -3344,9 -3342,6 +3342,6 @@@ qlcnic_can_start_firmware(struct qlcnic do { msleep(1000); prev_state = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DEV_STATE); - - if (prev_state == QLCNIC_DEV_QUISCENT) - continue; } while ((prev_state != QLCNIC_DEV_READY) && --dev_init_timeo); if (!dev_init_timeo) { @@@ -3456,7 -3451,6 +3451,7 @@@ wait_npar adapter->fw_wait_cnt = 0; return; } + break; case QLCNIC_DEV_FAILED: break; default: diff --combined drivers/net/ethernet/qualcomm/qca_spi.c index 0a6b8112b535,79fe3ec4e581..b64c254e00ba --- a/drivers/net/ethernet/qualcomm/qca_spi.c +++ b/drivers/net/ethernet/qualcomm/qca_spi.c @@@ -504,8 -504,12 +504,12 @@@ qcaspi_qca7k_sync(struct qcaspi *qca, i qcaspi_read_register(qca, SPI_REG_SIGNATURE, &signature); qcaspi_read_register(qca, SPI_REG_SIGNATURE, &signature); if (signature != QCASPI_GOOD_SIGNATURE) { + if (qca->sync == QCASPI_SYNC_READY) + qca->stats.bad_signature++; + qca->sync = QCASPI_SYNC_UNKNOWN; netdev_dbg(qca->net_dev, "sync: got CPU on, but signature was invalid, restart\n"); + return; } else { /* ensure that the WRBUF is empty */ qcaspi_read_register(qca, SPI_REG_WRBUF_SPC_AVA, @@@ -523,10 -527,14 +527,14 @@@ switch (qca->sync) { case QCASPI_SYNC_READY: - /* Read signature, if not valid go to unknown state. */ + /* Check signature twice, if not valid go to unknown state. */ qcaspi_read_register(qca, SPI_REG_SIGNATURE, &signature); + if (signature != QCASPI_GOOD_SIGNATURE) + qcaspi_read_register(qca, SPI_REG_SIGNATURE, &signature); + if (signature != QCASPI_GOOD_SIGNATURE) { qca->sync = QCASPI_SYNC_UNKNOWN; + qca->stats.bad_signature++; netdev_dbg(qca->net_dev, "sync: bad signature, restart\n"); /* don't reset right away */ return; @@@ -653,7 -661,8 +661,7 @@@ qcaspi_intr_handler(int irq, void *data struct qcaspi *qca = data; qca->intr_req++; - if (qca->spi_thread && - qca->spi_thread->state != TASK_RUNNING) + if (qca->spi_thread) wake_up_process(qca->spi_thread); return IRQ_HANDLED; @@@ -776,7 -785,8 +784,7 @@@ qcaspi_netdev_xmit(struct sk_buff *skb netif_trans_update(dev); - if (qca->spi_thread && - qca->spi_thread->state != TASK_RUNNING) + if (qca->spi_thread) wake_up_process(qca->spi_thread); return NETDEV_TX_OK; diff --combined drivers/net/hyperv/hyperv_net.h index b11aa68b44ec,9e5eee44f7d3..bc48855dff10 --- a/drivers/net/hyperv/hyperv_net.h +++ b/drivers/net/hyperv/hyperv_net.h @@@ -895,16 -895,9 +895,16 @@@ static inline u32 netvsc_rqstor_size(un ringbytes / NETVSC_MIN_IN_MSG_SIZE; } +/* XFER PAGE packets can specify a maximum of 375 ranges for NDIS >= 6.0 + * and a maximum of 64 ranges for NDIS < 6.0 with no RSC; with RSC, this + * limit is raised to 562 (= NVSP_RSC_MAX). + */ +#define NETVSC_MAX_XFER_PAGE_RANGES NVSP_RSC_MAX #define NETVSC_XFER_HEADER_SIZE(rng_cnt) \ (offsetof(struct vmtransfer_page_packet_header, ranges) + \ (rng_cnt) * sizeof(struct vmtransfer_page_range)) +#define NETVSC_MAX_PKT_SIZE (NETVSC_XFER_HEADER_SIZE(NETVSC_MAX_XFER_PAGE_RANGES) + \ + sizeof(struct nvsp_message) + (sizeof(u32) * VRSS_SEND_TAB_SIZE)) struct multi_send_data { struct sk_buff *skb; /* skb containing the pkt */ @@@ -1170,6 -1163,7 +1170,7 @@@ struct rndis_set_request u32 info_buflen; u32 info_buf_offset; u32 dev_vc_handle; + u8 info_buf[]; }; /* Response to NdisSetRequest */ diff --combined drivers/net/hyperv/rndis_filter.c index 983bf362466a,033ed6ed78c5..f6c9c2a670f9 --- a/drivers/net/hyperv/rndis_filter.c +++ b/drivers/net/hyperv/rndis_filter.c @@@ -1051,10 -1051,8 +1051,8 @@@ static int rndis_filter_set_packet_filt set = &request->request_msg.msg.set_req; set->oid = RNDIS_OID_GEN_CURRENT_PACKET_FILTER; set->info_buflen = sizeof(u32); - set->info_buf_offset = sizeof(struct rndis_set_request); - - memcpy((void *)(unsigned long)set + sizeof(struct rndis_set_request), - &new_filter, sizeof(u32)); + set->info_buf_offset = offsetof(typeof(*set), info_buf); + memcpy(set->info_buf, &new_filter, sizeof(u32)); ret = rndis_filter_send_request(dev, request); if (ret == 0) { @@@ -1259,11 -1257,7 +1257,11 @@@ static void netvsc_sc_open(struct vmbus /* Set the channel before opening.*/ nvchan->channel = new_sc; + new_sc->next_request_id_callback = vmbus_next_request_id; + new_sc->request_addr_callback = vmbus_request_addr; new_sc->rqstor_size = netvsc_rqstor_size(netvsc_ring_bytes); + new_sc->max_pkt_size = NETVSC_MAX_PKT_SIZE; + ret = vmbus_open(new_sc, netvsc_ring_bytes, netvsc_ring_bytes, NULL, 0, netvsc_channel_cb, nvchan); diff --combined include/linux/acpi.h index c8ec7803b1b6,6ace3a0f1415..b338613fb536 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@@ -132,7 -132,6 +132,7 @@@ enum acpi_address_range_id union acpi_subtable_headers { struct acpi_subtable_header common; struct acpi_hmat_structure hmat; + struct acpi_prmt_module_header prmt; }; typedef int (*acpi_tbl_table_handler)(struct acpi_table_header *table); @@@ -551,7 -550,6 +551,7 @@@ acpi_status acpi_run_osc(acpi_handle ha #define OSC_SB_OSLPI_SUPPORT 0x00000100 #define OSC_SB_CPC_DIVERSE_HIGH_SUPPORT 0x00001000 #define OSC_SB_GENERIC_INITIATOR_SUPPORT 0x00002000 +#define OSC_SB_PRM_SUPPORT 0x00020000 #define OSC_SB_NATIVE_USB4_SUPPORT 0x00040000 extern bool osc_sb_apei_support_acked; @@@ -668,6 -666,7 +668,6 @@@ extern bool acpi_driver_match_device(st const struct device_driver *drv); int acpi_device_uevent_modalias(struct device *, struct kobj_uevent_env *); int acpi_device_modalias(struct device *, char *, int); -void acpi_walk_dep_device_list(acpi_handle handle); struct platform_device *acpi_create_platform_device(struct acpi_device *, struct property_entry *); @@@ -711,6 -710,8 +711,8 @@@ static inline u64 acpi_arch_get_root_po } #endif + int acpi_get_local_address(acpi_handle handle, u32 *addr); + #else /* !CONFIG_ACPI */ #define acpi_disabled 1 @@@ -766,7 -767,7 +768,7 @@@ static inline bool is_acpi_device_node( return false; } -static inline struct acpi_device *to_acpi_device_node(struct fwnode_handle *fwnode) +static inline struct acpi_device *to_acpi_device_node(const struct fwnode_handle *fwnode) { return NULL; } @@@ -776,12 -777,12 +778,12 @@@ static inline bool is_acpi_data_node(co return false; } -static inline struct acpi_data_node *to_acpi_data_node(struct fwnode_handle *fwnode) +static inline struct acpi_data_node *to_acpi_data_node(const struct fwnode_handle *fwnode) { return NULL; } -static inline bool acpi_data_node_match(struct fwnode_handle *fwnode, +static inline bool acpi_data_node_match(const struct fwnode_handle *fwnode, const char *name) { return false; @@@ -912,7 -913,7 +914,7 @@@ acpi_create_platform_device(struct acpi return NULL; } -static inline bool acpi_dma_supported(struct acpi_device *adev) +static inline bool acpi_dma_supported(const struct acpi_device *adev) { return false; } @@@ -966,6 -967,11 +968,11 @@@ static inline struct acpi_device *acpi_ return NULL; } + static inline int acpi_get_local_address(acpi_handle handle, u32 *addr) + { + return -ENODEV; + } + #endif /* !CONFIG_ACPI */ #ifdef CONFIG_ACPI_HOTPLUG_IOAPIC @@@ -1005,7 -1011,6 +1012,7 @@@ int acpi_dev_resume(struct device *dev) int acpi_subsys_runtime_suspend(struct device *dev); int acpi_subsys_runtime_resume(struct device *dev); int acpi_dev_pm_attach(struct device *dev, bool power_on); +bool acpi_storage_d3(struct device *dev); #else static inline int acpi_subsys_runtime_suspend(struct device *dev) { return 0; } static inline int acpi_subsys_runtime_resume(struct device *dev) { return 0; } @@@ -1013,10 -1018,6 +1020,10 @@@ static inline int acpi_dev_pm_attach(st { return 0; } +static inline bool acpi_storage_d3(struct device *dev) +{ + return false; +} #endif #if defined(CONFIG_ACPI) && defined(CONFIG_PM_SLEEP) @@@ -1102,8 -1103,6 +1109,8 @@@ void __acpi_handle_debug(struct _ddebu #if defined(CONFIG_ACPI) && defined(CONFIG_GPIOLIB) bool acpi_gpio_get_irq_resource(struct acpi_resource *ares, struct acpi_resource_gpio **agpio); +bool acpi_gpio_get_io_resource(struct acpi_resource *ares, + struct acpi_resource_gpio **agpio); int acpi_dev_gpio_irq_get_by(struct acpi_device *adev, const char *name, int index); #else static inline bool acpi_gpio_get_irq_resource(struct acpi_resource *ares, @@@ -1111,11 -1110,6 +1118,11 @@@ { return false; } +static inline bool acpi_gpio_get_io_resource(struct acpi_resource *ares, + struct acpi_resource_gpio **agpio) +{ + return false; +} static inline int acpi_dev_gpio_irq_get_by(struct acpi_device *adev, const char *name, int index) { diff --combined include/linux/device.h index 959cb9d2c9ab,8f0ec3081a24..4cd200f8b47a --- a/include/linux/device.h +++ b/include/linux/device.h @@@ -399,7 -399,7 +399,7 @@@ struct dev_links_info * along with subsystem-level and driver-level callbacks. * @em_pd: device's energy model performance domain * @pins: For device pin management. - * See Documentation/driver-api/pinctl.rst for details. + * See Documentation/driver-api/pin-control.rst for details. * @msi_list: Hosts MSI descriptors * @msi_domain: The generic MSI domain this device is using. * @numa_node: NUMA node this device is close to. @@@ -817,6 -817,7 +817,7 @@@ int device_online(struct device *dev) void set_primary_fwnode(struct device *dev, struct fwnode_handle *fwnode); void set_secondary_fwnode(struct device *dev, struct fwnode_handle *fwnode); void device_set_of_node_from_dev(struct device *dev, const struct device *dev2); + void device_set_node(struct device *dev, struct fwnode_handle *fwnode); static inline int dev_num_vf(struct device *dev) { diff --combined include/linux/kernel.h index bf950621febf,e73f3bc3dba5..f2ad8a53f71f --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@@ -71,6 -71,18 +71,18 @@@ */ #define lower_32_bits(n) ((u32)((n) & 0xffffffff)) + /** + * upper_16_bits - return bits 16-31 of a number + * @n: the number we're accessing + */ + #define upper_16_bits(n) ((u16)((n) >> 16)) + + /** + * lower_16_bits - return bits 0-15 of a number + * @n: the number we're accessing + */ + #define lower_16_bits(n) ((u16)((n) & 0xffff)) + struct completion; struct pt_regs; struct user; @@@ -357,8 -369,6 +369,8 @@@ int sscanf(const char *, const char *, extern __scanf(2, 0) int vsscanf(const char *, const char *, va_list); +extern int no_hash_pointers_enable(char *str); + extern int get_option(char **str, int *pint); extern char *get_options(const char *str, int nints, int *ints); extern unsigned long long memparse(const char *ptr, char **retptr); diff --combined include/linux/mm.h index 7ec25dd2f8a9,6cf4c6842ff0..b8bc39237dac --- a/include/linux/mm.h +++ b/include/linux/mm.h @@@ -46,7 -46,7 +46,7 @@@ extern int sysctl_page_lock_unfairness void init_mm_internals(void); -#ifndef CONFIG_NEED_MULTIPLE_NODES /* Don't use mapnrs, do it properly */ +#ifndef CONFIG_NUMA /* Don't use mapnrs, do it properly */ extern unsigned long max_mapnr; static inline void set_max_mapnr(unsigned long limit) @@@ -124,6 -124,16 +124,6 @@@ extern int mmap_rnd_compat_bits __read_ #define lm_alias(x) __va(__pa_symbol(x)) #endif -/* - * With CONFIG_CFI_CLANG, the compiler replaces function addresses in - * instrumented C code with jump table addresses. Architectures that - * support CFI can define this macro to return the actual function address - * when needed. - */ -#ifndef function_nocfi -#define function_nocfi(x) (x) -#endif - /* * To prevent common memory management code establishing * a zero page mapping on a read fault. @@@ -224,11 -234,7 +224,11 @@@ int overcommit_policy_handler(struct ct int __add_to_page_cache_locked(struct page *page, struct address_space *mapping, pgoff_t index, gfp_t gfp, void **shadowp); +#if defined(CONFIG_SPARSEMEM) && !defined(CONFIG_SPARSEMEM_VMEMMAP) #define nth_page(page,n) pfn_to_page(page_to_pfn((page)) + (n)) +#else +#define nth_page(page,n) ((page) + (n)) +#endif /* to align the pointer to the (next) page boundary */ #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE) @@@ -1335,7 -1341,7 +1335,7 @@@ static inline bool page_needs_cow_for_d if (!is_cow_mapping(vma->vm_flags)) return false; - if (!atomic_read(&vma->vm_mm->has_pinned)) + if (!test_bit(MMF_HAS_PINNED, &vma->vm_mm->flags)) return false; return page_maybe_dma_pinned(page); @@@ -1662,10 -1668,11 +1662,11 @@@ struct address_space *page_mapping(stru static inline bool page_is_pfmemalloc(const struct page *page) { /* - * Page index cannot be this large so this must be - * a pfmemalloc page. + * lru.next has bit 1 set if the page is allocated from the + * pfmemalloc reserves. Callers may simply overwrite it if + * they do not need to preserve that information. */ - return page->index == -1UL; + return (uintptr_t)page->lru.next & BIT(1); } /* @@@ -1674,12 -1681,12 +1675,12 @@@ */ static inline void set_page_pfmemalloc(struct page *page) { - page->index = -1UL; + page->lru.next = (void *)BIT(1); } static inline void clear_page_pfmemalloc(struct page *page) { - page->index = 0; + page->lru.next = NULL; } /* @@@ -1703,8 -1710,8 +1704,8 @@@ extern bool can_do_mlock(void) #else static inline bool can_do_mlock(void) { return false; } #endif -extern int user_shm_lock(size_t, struct user_struct *); -extern void user_shm_unlock(size_t, struct user_struct *); +extern int user_shm_lock(size_t, struct ucounts *); +extern void user_shm_unlock(size_t, struct ucounts *); /* * Parameter block passed down to zap_pte_range in exceptional cases. @@@ -1844,8 -1851,12 +1845,8 @@@ extern int try_to_release_page(struct p extern void do_invalidatepage(struct page *page, unsigned int offset, unsigned int length); -void __set_page_dirty(struct page *, struct address_space *, int warn); -int __set_page_dirty_nobuffers(struct page *page); -int __set_page_dirty_no_writeback(struct page *page); int redirty_page_for_writepage(struct writeback_control *wbc, struct page *page); -void account_page_dirtied(struct page *page, struct address_space *mapping); void account_page_cleaned(struct page *page, struct address_space *mapping, struct bdi_writeback *wb); int set_page_dirty(struct page *page); @@@ -2410,7 -2421,7 +2411,7 @@@ static inline unsigned long free_initme extern char __init_begin[], __init_end[]; return free_reserved_area(&__init_begin, &__init_end, - poison, "unused kernel"); + poison, "unused kernel image (initmem)"); } static inline unsigned long get_num_physpages(void) @@@ -2450,7 -2461,7 +2451,7 @@@ extern void get_pfn_range_for_nid(unsig unsigned long *start_pfn, unsigned long *end_pfn); extern unsigned long find_min_pfn_with_active_regions(void); -#ifndef CONFIG_NEED_MULTIPLE_NODES +#ifndef CONFIG_NUMA static inline int early_pfn_to_nid(unsigned long pfn) { return 0; @@@ -2464,6 -2475,7 +2465,6 @@@ extern void set_dma_reserve(unsigned lo extern void memmap_init_range(unsigned long, int, unsigned long, unsigned long, unsigned long, enum meminit_context, struct vmem_altmap *, int migratetype); -extern void memmap_init_zone(struct zone *zone); extern void setup_per_zone_wmarks(void); extern int __meminit init_per_zone_wmark_min(void); extern void mem_init(void); @@@ -2670,45 -2682,17 +2671,45 @@@ extern struct vm_area_struct * find_vma extern struct vm_area_struct * find_vma_prev(struct mm_struct * mm, unsigned long addr, struct vm_area_struct **pprev); -/* Look up the first VMA which intersects the interval start_addr..end_addr-1, - NULL if none. Assume start_addr < end_addr. */ -static inline struct vm_area_struct * find_vma_intersection(struct mm_struct * mm, unsigned long start_addr, unsigned long end_addr) +/** + * find_vma_intersection() - Look up the first VMA which intersects the interval + * @mm: The process address space. + * @start_addr: The inclusive start user address. + * @end_addr: The exclusive end user address. + * + * Returns: The first VMA within the provided range, %NULL otherwise. Assumes + * start_addr < end_addr. + */ +static inline +struct vm_area_struct *find_vma_intersection(struct mm_struct *mm, + unsigned long start_addr, + unsigned long end_addr) { - struct vm_area_struct * vma = find_vma(mm,start_addr); + struct vm_area_struct *vma = find_vma(mm, start_addr); if (vma && end_addr <= vma->vm_start) vma = NULL; return vma; } +/** + * vma_lookup() - Find a VMA at a specific address + * @mm: The process address space. + * @addr: The user address. + * + * Return: The vm_area_struct at the given address, %NULL otherwise. + */ +static inline +struct vm_area_struct *vma_lookup(struct mm_struct *mm, unsigned long addr) +{ + struct vm_area_struct *vma = find_vma(mm, addr); + + if (vma && addr < vma->vm_start) + vma = NULL; + + return vma; +} + static inline unsigned long vm_start_gap(struct vm_area_struct *vma) { unsigned long vm_start = vma->vm_start; diff --combined include/linux/mm_types.h index b66d0225414e,862f88a8c28a..d33d97c69da9 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@@ -96,6 -96,13 +96,13 @@@ struct page unsigned long private; }; struct { /* page_pool used by netstack */ + /** + * @pp_magic: magic value to avoid recycling non + * page_pool allocated pages. + */ + unsigned long pp_magic; + struct page_pool *pp; + unsigned long _pp_mapping_pad; /** * @dma_addr: might require a 64-bit value on * 32-bit architectures. @@@ -435,6 -442,16 +442,6 @@@ struct mm_struct */ atomic_t mm_count; - /** - * @has_pinned: Whether this mm has pinned any pages. This can - * be either replaced in the future by @pinned_vm when it - * becomes stable, or grow into a counter on its own. We're - * aggresive on this bit now - even if the pinned pages were - * unpinned later on, we'll still keep this bit set for the - * lifecycle of this mm just for simplicity. - */ - atomic_t has_pinned; - #ifdef CONFIG_MMU atomic_long_t pgtables_bytes; /* PTE page table pages */ #endif diff --combined include/linux/printk.h index d796183f26c9,885379a1c9a1..e834d78f0478 --- a/include/linux/printk.h +++ b/include/linux/printk.h @@@ -8,6 -8,7 +8,7 @@@ #include <linux/linkage.h> #include <linux/cache.h> #include <linux/ratelimit_types.h> + #include <linux/once_lite.h> extern const char linux_banner[]; extern const char linux_proc_banner[]; @@@ -206,7 -207,6 +207,7 @@@ void __init setup_log_buf(int early) __printf(1, 2) void dump_stack_set_arch_desc(const char *fmt, ...); void dump_stack_print_info(const char *log_lvl); void show_regs_print_info(const char *log_lvl); +extern asmlinkage void dump_stack_lvl(const char *log_lvl) __cold; extern asmlinkage void dump_stack(void) __cold; extern void printk_safe_flush(void); extern void printk_safe_flush_on_panic(void); @@@ -270,10 -270,6 +271,10 @@@ static inline void show_regs_print_info { } +static inline void dump_stack_lvl(const char *log_lvl) +{ +} + static inline void dump_stack(void) { } @@@ -287,47 -283,6 +288,47 @@@ static inline void printk_safe_flush_on } #endif +#ifdef CONFIG_SMP +extern int __printk_cpu_trylock(void); +extern void __printk_wait_on_cpu_lock(void); +extern void __printk_cpu_unlock(void); + +/** + * printk_cpu_lock_irqsave() - Acquire the printk cpu-reentrant spinning + * lock and disable interrupts. + * @flags: Stack-allocated storage for saving local interrupt state, + * to be passed to printk_cpu_unlock_irqrestore(). + * + * If the lock is owned by another CPU, spin until it becomes available. + * Interrupts are restored while spinning. + */ +#define printk_cpu_lock_irqsave(flags) \ + for (;;) { \ + local_irq_save(flags); \ + if (__printk_cpu_trylock()) \ + break; \ + local_irq_restore(flags); \ + __printk_wait_on_cpu_lock(); \ + } + +/** + * printk_cpu_unlock_irqrestore() - Release the printk cpu-reentrant spinning + * lock and restore interrupts. + * @flags: Caller's saved interrupt state, from printk_cpu_lock_irqsave(). + */ +#define printk_cpu_unlock_irqrestore(flags) \ + do { \ + __printk_cpu_unlock(); \ + local_irq_restore(flags); \ + } while (0) \ + +#else + +#define printk_cpu_lock_irqsave(flags) ((void)flags) +#define printk_cpu_unlock_irqrestore(flags) ((void)flags) + +#endif /* CONFIG_SMP */ + extern int kptr_restrict; /** @@@ -482,27 -437,9 +483,9 @@@ #ifdef CONFIG_PRINTK #define printk_once(fmt, ...) \ - ({ \ - static bool __section(".data.once") __print_once; \ - bool __ret_print_once = !__print_once; \ - \ - if (!__print_once) { \ - __print_once = true; \ - printk(fmt, ##__VA_ARGS__); \ - } \ - unlikely(__ret_print_once); \ - }) + DO_ONCE_LITE(printk, fmt, ##__VA_ARGS__) #define printk_deferred_once(fmt, ...) \ - ({ \ - static bool __section(".data.once") __print_once; \ - bool __ret_print_once = !__print_once; \ - \ - if (!__print_once) { \ - __print_once = true; \ - printk_deferred(fmt, ##__VA_ARGS__); \ - } \ - unlikely(__ret_print_once); \ - }) + DO_ONCE_LITE(printk_deferred, fmt, ##__VA_ARGS__) #else #define printk_once(fmt, ...) \ no_printk(fmt, ##__VA_ARGS__) diff --combined net/core/dev.c index 2512f672bf8a,316b4032317e..c253c2aafe97 --- a/net/core/dev.c +++ b/net/core/dev.c @@@ -148,6 -148,7 +148,7 @@@ #include <net/devlink.h> #include <linux/pm_runtime.h> #include <linux/prandom.h> + #include <linux/once_lite.h> #include "net-sysfs.h" @@@ -3487,13 -3488,16 +3488,16 @@@ EXPORT_SYMBOL(__skb_gso_segment) /* Take action when hardware reception checksum errors are detected. */ #ifdef CONFIG_BUG + static void do_netdev_rx_csum_fault(struct net_device *dev, struct sk_buff *skb) + { + pr_err("%s: hw csum failure\n", dev ? dev->name : "<unknown>"); + skb_dump(KERN_ERR, skb, true); + dump_stack(); + } + void netdev_rx_csum_fault(struct net_device *dev, struct sk_buff *skb) { - if (net_ratelimit()) { - pr_err("%s: hw csum failure\n", dev ? dev->name : "<unknown>"); - skb_dump(KERN_ERR, skb, true); - dump_stack(); - } + DO_ONCE_LITE(do_netdev_rx_csum_fault, dev, skb); } EXPORT_SYMBOL(netdev_rx_csum_fault); #endif @@@ -3852,10 -3856,33 +3856,33 @@@ static inline int __dev_xmit_skb(struc qdisc_calculate_pkt_len(skb, q); if (q->flags & TCQ_F_NOLOCK) { + if (q->flags & TCQ_F_CAN_BYPASS && nolock_qdisc_is_empty(q) && + qdisc_run_begin(q)) { + /* Retest nolock_qdisc_is_empty() within the protection + * of q->seqlock to protect from racing with requeuing. + */ + if (unlikely(!nolock_qdisc_is_empty(q))) { + rc = q->enqueue(skb, q, &to_free) & + NET_XMIT_MASK; + __qdisc_run(q); + qdisc_run_end(q); + + goto no_lock_out; + } + + qdisc_bstats_cpu_update(q, skb); + if (sch_direct_xmit(skb, q, dev, txq, NULL, true) && + !nolock_qdisc_is_empty(q)) + __qdisc_run(q); + + qdisc_run_end(q); + return NET_XMIT_SUCCESS; + } + rc = q->enqueue(skb, q, &to_free) & NET_XMIT_MASK; - if (likely(!netif_xmit_frozen_or_stopped(txq))) - qdisc_run(q); + qdisc_run(q); + no_lock_out: if (unlikely(to_free)) kfree_skb_list(to_free); return rc; @@@ -4363,7 -4390,7 +4390,7 @@@ static inline void ____napi_schedule(st * makes sure to proceed with napi polling * if the thread is explicitly woken from here. */ - if (READ_ONCE(thread->state) != TASK_INTERRUPTIBLE) + if (READ_ONCE(thread->__state) != TASK_INTERRUPTIBLE) set_bit(NAPI_STATE_SCHED_THREADED, &napi->state); wake_up_process(thread); return; @@@ -5277,9 -5304,9 +5304,9 @@@ another_round if (static_branch_unlikely(&generic_xdp_needed_key)) { int ret2; - preempt_disable(); + migrate_disable(); ret2 = do_xdp_generic(rcu_dereference(skb->dev->xdp_prog), skb); - preempt_enable(); + migrate_enable(); if (ret2 != XDP_PASS) { ret = NET_RX_DROP; @@@ -6520,11 -6547,18 +6547,18 @@@ EXPORT_SYMBOL(napi_schedule_prep) * __napi_schedule_irqoff - schedule for receive * @n: entry to schedule * - * Variant of __napi_schedule() assuming hard irqs are masked + * Variant of __napi_schedule() assuming hard irqs are masked. + * + * On PREEMPT_RT enabled kernels this maps to __napi_schedule() + * because the interrupt disabled assumption might not be true + * due to force-threaded interrupts and spinlock substitution. */ void __napi_schedule_irqoff(struct napi_struct *n) { - ____napi_schedule(this_cpu_ptr(&softnet_data), n); + if (!IS_ENABLED(CONFIG_PREEMPT_RT)) + ____napi_schedule(this_cpu_ptr(&softnet_data), n); + else + __napi_schedule(n); } EXPORT_SYMBOL(__napi_schedule_irqoff); diff --combined net/core/filter.c index d81352ca1b5c,d22895caa164..d70187ce851b --- a/net/core/filter.c +++ b/net/core/filter.c @@@ -17,7 -17,6 +17,7 @@@ * Kris Katterjohn - Added many additional checks in bpf_check_classic() */ +#include <linux/atomic.h> #include <linux/module.h> #include <linux/types.h> #include <linux/mm.h> @@@ -42,6 -41,7 +42,6 @@@ #include <linux/timer.h> #include <linux/uaccess.h> #include <asm/unaligned.h> -#include <asm/cmpxchg.h> #include <linux/filter.h> #include <linux/ratelimit.h> #include <linux/seccomp.h> @@@ -3241,9 -3241,6 +3241,6 @@@ static int bpf_skb_proto_4_to_6(struct u32 off = skb_mac_header_len(skb); int ret; - if (skb_is_gso(skb) && !skb_is_gso_tcp(skb)) - return -ENOTSUPP; - ret = skb_cow(skb, len_diff); if (unlikely(ret < 0)) return ret; @@@ -3255,19 -3252,11 +3252,11 @@@ if (skb_is_gso(skb)) { struct skb_shared_info *shinfo = skb_shinfo(skb); - /* SKB_GSO_TCPV4 needs to be changed into - * SKB_GSO_TCPV6. - */ + /* SKB_GSO_TCPV4 needs to be changed into SKB_GSO_TCPV6. */ if (shinfo->gso_type & SKB_GSO_TCPV4) { shinfo->gso_type &= ~SKB_GSO_TCPV4; shinfo->gso_type |= SKB_GSO_TCPV6; } - - /* Due to IPv6 header, MSS needs to be downgraded. */ - skb_decrease_gso_size(shinfo, len_diff); - /* Header must be checked, and gso_segs recomputed. */ - shinfo->gso_type |= SKB_GSO_DODGY; - shinfo->gso_segs = 0; } skb->protocol = htons(ETH_P_IPV6); @@@ -3282,9 -3271,6 +3271,6 @@@ static int bpf_skb_proto_6_to_4(struct u32 off = skb_mac_header_len(skb); int ret; - if (skb_is_gso(skb) && !skb_is_gso_tcp(skb)) - return -ENOTSUPP; - ret = skb_unclone(skb, GFP_ATOMIC); if (unlikely(ret < 0)) return ret; @@@ -3296,19 -3282,11 +3282,11 @@@ if (skb_is_gso(skb)) { struct skb_shared_info *shinfo = skb_shinfo(skb); - /* SKB_GSO_TCPV6 needs to be changed into - * SKB_GSO_TCPV4. - */ + /* SKB_GSO_TCPV6 needs to be changed into SKB_GSO_TCPV4. */ if (shinfo->gso_type & SKB_GSO_TCPV6) { shinfo->gso_type &= ~SKB_GSO_TCPV6; shinfo->gso_type |= SKB_GSO_TCPV4; } - - /* Due to IPv4 header, MSS can be upgraded. */ - skb_increase_gso_size(shinfo, len_diff); - /* Header must be checked, and gso_segs recomputed. */ - shinfo->gso_type |= SKB_GSO_DODGY; - shinfo->gso_segs = 0; } skb->protocol = htons(ETH_P_IP); @@@ -3919,6 -3897,34 +3897,34 @@@ static const struct bpf_func_proto bpf_ .arg2_type = ARG_ANYTHING, }; + /* XDP_REDIRECT works by a three-step process, implemented in the functions + * below: + * + * 1. The bpf_redirect() and bpf_redirect_map() helpers will lookup the target + * of the redirect and store it (along with some other metadata) in a per-CPU + * struct bpf_redirect_info. + * + * 2. When the program returns the XDP_REDIRECT return code, the driver will + * call xdp_do_redirect() which will use the information in struct + * bpf_redirect_info to actually enqueue the frame into a map type-specific + * bulk queue structure. + * + * 3. Before exiting its NAPI poll loop, the driver will call xdp_do_flush(), + * which will flush all the different bulk queues, thus completing the + * redirect. + * + * Pointers to the map entries will be kept around for this whole sequence of + * steps, protected by RCU. However, there is no top-level rcu_read_lock() in + * the core code; instead, the RCU protection relies on everything happening + * inside a single NAPI poll sequence, which means it's between a pair of calls + * to local_bh_disable()/local_bh_enable(). + * + * The map entries are marked as __rcu and the map code makes sure to + * dereference those pointers with rcu_dereference_check() in a way that works + * for both sections that to hold an rcu_read_lock() and sections that are + * called from NAPI without a separate rcu_read_lock(). The code below does not + * use RCU annotations, but relies on those in the map code. + */ void xdp_do_flush(void) { __dev_flush(); @@@ -3927,6 -3933,23 +3933,23 @@@ } EXPORT_SYMBOL_GPL(xdp_do_flush); + void bpf_clear_redirect_map(struct bpf_map *map) + { + struct bpf_redirect_info *ri; + int cpu; + + for_each_possible_cpu(cpu) { + ri = per_cpu_ptr(&bpf_redirect_info, cpu); + /* Avoid polluting remote cacheline due to writes if + * not needed. Once we pass this test, we need the + * cmpxchg() to make sure it hasn't been changed in + * the meantime by remote CPU. + */ + if (unlikely(READ_ONCE(ri->map) == map)) + cmpxchg(&ri->map, map, NULL); + } + } + int xdp_do_redirect(struct net_device *dev, struct xdp_buff *xdp, struct bpf_prog *xdp_prog) { @@@ -3934,6 -3957,7 +3957,7 @@@ enum bpf_map_type map_type = ri->map_type; void *fwd = ri->tgt_value; u32 map_id = ri->map_id; + struct bpf_map *map; int err; ri->map_id = 0; /* Valid map id idr range: [1,INT_MAX[ */ @@@ -3943,7 -3967,14 +3967,14 @@@ case BPF_MAP_TYPE_DEVMAP: fallthrough; case BPF_MAP_TYPE_DEVMAP_HASH: - err = dev_map_enqueue(fwd, xdp, dev); + map = READ_ONCE(ri->map); + if (unlikely(map)) { + WRITE_ONCE(ri->map, NULL); + err = dev_map_enqueue_multi(xdp, dev, map, + ri->flags & BPF_F_EXCLUDE_INGRESS); + } else { + err = dev_map_enqueue(fwd, xdp, dev); + } break; case BPF_MAP_TYPE_CPUMAP: err = cpu_map_enqueue(fwd, xdp, dev); @@@ -3985,13 -4016,21 +4016,21 @@@ static int xdp_do_generic_redirect_map( enum bpf_map_type map_type, u32 map_id) { struct bpf_redirect_info *ri = this_cpu_ptr(&bpf_redirect_info); + struct bpf_map *map; int err; switch (map_type) { case BPF_MAP_TYPE_DEVMAP: fallthrough; case BPF_MAP_TYPE_DEVMAP_HASH: - err = dev_map_generic_redirect(fwd, skb, xdp_prog); + map = READ_ONCE(ri->map); + if (unlikely(map)) { + WRITE_ONCE(ri->map, NULL); + err = dev_map_redirect_multi(dev, skb, xdp_prog, map, + ri->flags & BPF_F_EXCLUDE_INGRESS); + } else { + err = dev_map_generic_redirect(fwd, skb, xdp_prog); + } if (unlikely(err)) goto err; break; @@@ -10008,11 -10047,13 +10047,13 @@@ out static void bpf_init_reuseport_kern(struct sk_reuseport_kern *reuse_kern, struct sock_reuseport *reuse, struct sock *sk, struct sk_buff *skb, + struct sock *migrating_sk, u32 hash) { reuse_kern->skb = skb; reuse_kern->sk = sk; reuse_kern->selected_sk = NULL; + reuse_kern->migrating_sk = migrating_sk; reuse_kern->data_end = skb->data + skb_headlen(skb); reuse_kern->hash = hash; reuse_kern->reuseport_id = reuse->reuseport_id; @@@ -10021,12 -10062,13 +10062,13 @@@ struct sock *bpf_run_sk_reuseport(struct sock_reuseport *reuse, struct sock *sk, struct bpf_prog *prog, struct sk_buff *skb, + struct sock *migrating_sk, u32 hash) { struct sk_reuseport_kern reuse_kern; enum sk_action action; - bpf_init_reuseport_kern(&reuse_kern, reuse, sk, skb, hash); + bpf_init_reuseport_kern(&reuse_kern, reuse, sk, skb, migrating_sk, hash); action = BPF_PROG_RUN(prog, &reuse_kern); if (action == SK_PASS) @@@ -10136,6 -10178,8 +10178,8 @@@ sk_reuseport_func_proto(enum bpf_func_i return &sk_reuseport_load_bytes_proto; case BPF_FUNC_skb_load_bytes_relative: return &sk_reuseport_load_bytes_relative_proto; + case BPF_FUNC_get_socket_cookie: + return &bpf_get_socket_ptr_cookie_proto; default: return bpf_base_func_proto(func_id); } @@@ -10165,6 -10209,14 +10209,14 @@@ sk_reuseport_is_valid_access(int off, i case offsetof(struct sk_reuseport_md, hash): return size == size_default; + case offsetof(struct sk_reuseport_md, sk): + info->reg_type = PTR_TO_SOCKET; + return size == sizeof(__u64); + + case offsetof(struct sk_reuseport_md, migrating_sk): + info->reg_type = PTR_TO_SOCK_COMMON_OR_NULL; + return size == sizeof(__u64); + /* Fields that allow narrowing */ case bpf_ctx_range(struct sk_reuseport_md, eth_protocol): if (size < sizeof_field(struct sk_buff, protocol)) @@@ -10237,6 -10289,14 +10289,14 @@@ static u32 sk_reuseport_convert_ctx_acc case offsetof(struct sk_reuseport_md, bind_inany): SK_REUSEPORT_LOAD_FIELD(bind_inany); break; + + case offsetof(struct sk_reuseport_md, sk): + SK_REUSEPORT_LOAD_FIELD(sk); + break; + + case offsetof(struct sk_reuseport_md, migrating_sk): + SK_REUSEPORT_LOAD_FIELD(migrating_sk); + break; } return insn - insn_buf; diff --combined net/ipv4/ah4.c index fab0958c41be,2d2d08aa787d..6eea1e9e998d --- a/net/ipv4/ah4.c +++ b/net/ipv4/ah4.c @@@ -450,7 -450,6 +450,7 @@@ static int ah4_err(struct sk_buff *skb case ICMP_DEST_UNREACH: if (icmp_hdr(skb)->code != ICMP_FRAG_NEEDED) return 0; + break; case ICMP_REDIRECT: break; default: @@@ -555,7 -554,6 +555,6 @@@ static int ah4_rcv_cb(struct sk_buff *s static const struct xfrm_type ah_type = { - .description = "AH4", .owner = THIS_MODULE, .proto = IPPROTO_AH, .flags = XFRM_TYPE_REPLAY_PROT, diff --combined net/ipv4/esp4.c index 8e3b445a8c21,f414ad246fdf..a09e36c4a413 --- a/net/ipv4/esp4.c +++ b/net/ipv4/esp4.c @@@ -673,7 -673,7 +673,7 @@@ static int esp_output(struct xfrm_stat struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb); u32 padto; - padto = min(x->tfcpad, xfrm_state_mtu(x, dst->child_mtu_cached)); + padto = min(x->tfcpad, __xfrm_state_mtu(x, dst->child_mtu_cached)); if (skb->len < padto) esp.tfclen = padto - skb->len; } @@@ -982,7 -982,6 +982,7 @@@ static int esp4_err(struct sk_buff *skb case ICMP_DEST_UNREACH: if (icmp_hdr(skb)->code != ICMP_FRAG_NEEDED) return 0; + break; case ICMP_REDIRECT: break; default: @@@ -1199,7 -1198,6 +1199,6 @@@ static int esp4_rcv_cb(struct sk_buff * static const struct xfrm_type esp_type = { - .description = "ESP4", .owner = THIS_MODULE, .proto = IPPROTO_ESP, .flags = XFRM_TYPE_REPLAY_PROT, diff --combined net/ipv4/ipcomp.c index bbb56f5e06dd,2e69e81e1f5d..366094c1ce6c --- a/net/ipv4/ipcomp.c +++ b/net/ipv4/ipcomp.c @@@ -31,7 -31,6 +31,7 @@@ static int ipcomp4_err(struct sk_buff * case ICMP_DEST_UNREACH: if (icmp_hdr(skb)->code != ICMP_FRAG_NEEDED) return 0; + break; case ICMP_REDIRECT: break; default: @@@ -153,7 -152,6 +153,6 @@@ static int ipcomp4_rcv_cb(struct sk_buf } static const struct xfrm_type ipcomp_type = { - .description = "IPCOMP4", .owner = THIS_MODULE, .proto = IPPROTO_COMP, .init_state = ipcomp4_init_state, diff --combined net/ipv4/tcp.c index 64bf179cc915,a0a96eb826c4..d5ab5f243640 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@@ -1738,8 -1738,8 +1738,8 @@@ int tcp_set_rcvlowat(struct sock *sk, i } EXPORT_SYMBOL(tcp_set_rcvlowat); - static void tcp_update_recv_tstamps(struct sk_buff *skb, - struct scm_timestamping_internal *tss) + void tcp_update_recv_tstamps(struct sk_buff *skb, + struct scm_timestamping_internal *tss) { if (skb->tstamp) tss->ts[0] = ktime_to_timespec64(skb->tstamp); @@@ -2024,8 -2024,6 +2024,6 @@@ static int tcp_zerocopy_vm_insert_batch } #define TCP_VALID_ZC_MSG_FLAGS (TCP_CMSG_TS) - static void tcp_recv_timestamp(struct msghdr *msg, const struct sock *sk, - struct scm_timestamping_internal *tss); static void tcp_zc_finalize_rx_tstamp(struct sock *sk, struct tcp_zerocopy_receive *zc, struct scm_timestamping_internal *tss) @@@ -2095,8 -2093,8 +2093,8 @@@ static int tcp_zerocopy_receive(struct mmap_read_lock(current->mm); - vma = find_vma(current->mm, address); - if (!vma || vma->vm_start > address || vma->vm_ops != &tcp_vm_ops) { + vma = vma_lookup(current->mm, address); + if (!vma || vma->vm_ops != &tcp_vm_ops) { mmap_read_unlock(current->mm); return -EINVAL; } @@@ -2197,8 -2195,8 +2195,8 @@@ out #endif /* Similar to __sock_recv_timestamp, but does not require an skb */ - static void tcp_recv_timestamp(struct msghdr *msg, const struct sock *sk, - struct scm_timestamping_internal *tss) + void tcp_recv_timestamp(struct msghdr *msg, const struct sock *sk, + struct scm_timestamping_internal *tss) { int new_tstamp = sock_flag(sk, SOCK_TSTAMP_NEW); bool has_timestamping = false; @@@ -3061,7 -3059,7 +3059,7 @@@ int tcp_disconnect(struct sock *sk, in sk->sk_frag.offset = 0; } - sk->sk_error_report(sk); + sk_error_report(sk); return 0; } EXPORT_SYMBOL(tcp_disconnect); @@@ -4450,7 -4448,7 +4448,7 @@@ int tcp_abort(struct sock *sk, int err sk->sk_err = err; /* This barrier is coupled with smp_rmb() in tcp_poll() */ smp_wmb(); - sk->sk_error_report(sk); + sk_error_report(sk); if (tcp_need_reset(sk->sk_state)) tcp_send_active_reset(sk, GFP_ATOMIC); tcp_done(sk); diff --combined net/packet/af_packet.c index d56941d51e20,77476184741d..57a1971f29e5 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@@ -1656,7 -1656,6 +1656,7 @@@ static int fanout_add(struct sock *sk, case PACKET_FANOUT_ROLLOVER: if (type_flags & PACKET_FANOUT_FLAG_ROLLOVER) return -EINVAL; + break; case PACKET_FANOUT_HASH: case PACKET_FANOUT_LB: case PACKET_FANOUT_CPU: @@@ -3207,7 -3206,7 +3207,7 @@@ static int packet_do_bind(struct sock * } else { sk->sk_err = ENETDOWN; if (!sock_flag(sk, SOCK_DEAD)) - sk->sk_error_report(sk); + sk_error_report(sk); } out_unlock: @@@ -3935,12 -3934,9 +3935,9 @@@ packet_setsockopt(struct socket *sock, return -EFAULT; lock_sock(sk); - if (po->rx_ring.pg_vec || po->tx_ring.pg_vec) { - ret = -EBUSY; - } else { + if (!po->rx_ring.pg_vec && !po->tx_ring.pg_vec) po->tp_tx_has_off = !!val; - ret = 0; - } + release_sock(sk); return 0; } @@@ -4107,7 -4103,7 +4104,7 @@@ static int packet_notifier(struct notif __unregister_prot_hook(sk, false); sk->sk_err = ENETDOWN; if (!sock_flag(sk, SOCK_DEAD)) - sk->sk_error_report(sk); + sk_error_report(sk); } if (msg == NETDEV_UNREGISTER) { packet_cached_dev_reset(po); diff --combined net/sctp/input.c index 5ceaf75105ba,02e73264e81e..eb3c2a34a31c --- a/net/sctp/input.c +++ b/net/sctp/input.c @@@ -385,7 -385,9 +385,9 @@@ static int sctp_add_backlog(struct soc void sctp_icmp_frag_needed(struct sock *sk, struct sctp_association *asoc, struct sctp_transport *t, __u32 pmtu) { - if (!t || (t->pathmtu <= pmtu)) + if (!t || + (t->pathmtu <= pmtu && + t->pl.probe_size + sctp_transport_pl_hlen(t) <= pmtu)) return; if (sock_owned_by_user(sk)) { @@@ -554,6 -556,49 +556,50 @@@ void sctp_err_finish(struct sock *sk, s sctp_transport_put(t); } + static void sctp_v4_err_handle(struct sctp_transport *t, struct sk_buff *skb, + __u8 type, __u8 code, __u32 info) + { + struct sctp_association *asoc = t->asoc; + struct sock *sk = asoc->base.sk; + int err = 0; + + switch (type) { + case ICMP_PARAMETERPROB: + err = EPROTO; + break; + case ICMP_DEST_UNREACH: + if (code > NR_ICMP_UNREACH) + return; + if (code == ICMP_FRAG_NEEDED) { + sctp_icmp_frag_needed(sk, asoc, t, SCTP_TRUNC4(info)); + return; + } + if (code == ICMP_PROT_UNREACH) { + sctp_icmp_proto_unreachable(sk, asoc, t); + return; + } + err = icmp_err_convert[code].errno; + break; + case ICMP_TIME_EXCEEDED: + if (code == ICMP_EXC_FRAGTIME) + return; + + err = EHOSTUNREACH; + break; + case ICMP_REDIRECT: + sctp_icmp_redirect(sk, t, skb); ++ return; + default: + return; + } + if (!sock_owned_by_user(sk) && inet_sk(sk)->recverr) { + sk->sk_err = err; + sk_error_report(sk); + } else { /* Only an error on timeout */ + sk->sk_err_soft = err; + } + } + /* * This routine is called by the ICMP module when it gets some * sort of error condition. If err < 0 then the socket should @@@ -572,22 -617,19 +618,19 @@@ int sctp_v4_err(struct sk_buff *skb, __u32 info) { const struct iphdr *iph = (const struct iphdr *)skb->data; - const int ihlen = iph->ihl * 4; const int type = icmp_hdr(skb)->type; const int code = icmp_hdr(skb)->code; - struct sock *sk; - struct sctp_association *asoc = NULL; + struct net *net = dev_net(skb->dev); struct sctp_transport *transport; - struct inet_sock *inet; + struct sctp_association *asoc; __u16 saveip, savesctp; - int err; - struct net *net = dev_net(skb->dev); + struct sock *sk; /* Fix up skb to look at the embedded net header. */ saveip = skb->network_header; savesctp = skb->transport_header; skb_reset_network_header(skb); - skb_set_transport_header(skb, ihlen); + skb_set_transport_header(skb, iph->ihl * 4); sk = sctp_err_lookup(net, AF_INET, skb, sctp_hdr(skb), &asoc, &transport); /* Put back, the original values. */ skb->network_header = saveip; @@@ -596,59 -638,41 +639,41 @@@ __ICMP_INC_STATS(net, ICMP_MIB_INERRORS); return -ENOENT; } - /* Warning: The sock lock is held. Remember to call - * sctp_err_finish! - */ - switch (type) { - case ICMP_PARAMETERPROB: - err = EPROTO; - break; - case ICMP_DEST_UNREACH: - if (code > NR_ICMP_UNREACH) - goto out_unlock; + sctp_v4_err_handle(transport, skb, type, code, info); + sctp_err_finish(sk, transport); - /* PMTU discovery (RFC1191) */ - if (ICMP_FRAG_NEEDED == code) { - sctp_icmp_frag_needed(sk, asoc, transport, - SCTP_TRUNC4(info)); - goto out_unlock; - } else { - if (ICMP_PROT_UNREACH == code) { - sctp_icmp_proto_unreachable(sk, asoc, - transport); - goto out_unlock; - } - } - err = icmp_err_convert[code].errno; - break; - case ICMP_TIME_EXCEEDED: - /* Ignore any time exceeded errors due to fragment reassembly - * timeouts. - */ - if (ICMP_EXC_FRAGTIME == code) - goto out_unlock; + return 0; + } - err = EHOSTUNREACH; - break; - case ICMP_REDIRECT: - sctp_icmp_redirect(sk, transport, skb); - goto out_unlock; - default: - goto out_unlock; + int sctp_udp_v4_err(struct sock *sk, struct sk_buff *skb) + { + struct net *net = dev_net(skb->dev); + struct sctp_association *asoc; + struct sctp_transport *t; + struct icmphdr *hdr; + __u32 info = 0; + + skb->transport_header += sizeof(struct udphdr); + sk = sctp_err_lookup(net, AF_INET, skb, sctp_hdr(skb), &asoc, &t); + if (!sk) { + __ICMP_INC_STATS(net, ICMP_MIB_INERRORS); + return -ENOENT; } - inet = inet_sk(sk); - if (!sock_owned_by_user(sk) && inet->recverr) { - sk->sk_err = err; - sk->sk_error_report(sk); - } else { /* Only an error on timeout */ - sk->sk_err_soft = err; + skb->transport_header -= sizeof(struct udphdr); + hdr = (struct icmphdr *)(skb_network_header(skb) - sizeof(struct icmphdr)); + if (hdr->type == ICMP_REDIRECT) { + /* can't be handled without outer iphdr known, leave it to udp_err */ + sctp_err_finish(sk, t); + return 0; } + if (hdr->type == ICMP_DEST_UNREACH && hdr->code == ICMP_FRAG_NEEDED) + info = ntohs(hdr->un.frag.mtu); + sctp_v4_err_handle(t, skb, hdr->type, hdr->code, info); - out_unlock: - sctp_err_finish(sk, transport); - return 0; + sctp_err_finish(sk, t); + return 1; } /* @@@ -1131,7 -1155,8 +1156,8 @@@ static struct sctp_association *__sctp_ if (!af) continue; - af->from_addr_param(paddr, params.addr, sh->source, 0); + if (!af->from_addr_param(paddr, params.addr, sh->source, 0)) + continue; asoc = __sctp_lookup_association(net, laddr, paddr, transportp); if (asoc) @@@ -1167,6 -1192,9 +1193,9 @@@ static struct sctp_association *__sctp_ union sctp_addr_param *param; union sctp_addr paddr; + if (ntohs(ch->length) < sizeof(*asconf) + sizeof(struct sctp_paramhdr)) + return NULL; + /* Skip over the ADDIP header and find the Address parameter */ param = (union sctp_addr_param *)(asconf + 1); @@@ -1174,7 -1202,8 +1203,8 @@@ if (unlikely(!af)) return NULL; - af->from_addr_param(&paddr, param, peer_port, 0); + if (af->from_addr_param(&paddr, param, peer_port, 0)) + return NULL; return __sctp_lookup_association(net, laddr, &paddr, transportp); } @@@ -1236,7 -1265,6 +1266,7 @@@ static struct sctp_association *__sctp_ net, ch, laddr, sctp_hdr(skb)->source, transportp); + break; default: break; } @@@ -1246,7 -1274,7 +1276,7 @@@ ch = (struct sctp_chunkhdr *)ch_end; chunk_num++; - } while (ch_end < skb_tail_pointer(skb)); + } while (ch_end + sizeof(*ch) < skb_tail_pointer(skb)); return asoc; } diff --combined net/tipc/link.c index 1b7a487c8841,5b6181277cc5..cf586840caeb --- a/net/tipc/link.c +++ b/net/tipc/link.c @@@ -654,7 -654,6 +654,7 @@@ int tipc_link_fsm_evt(struct tipc_link break; case LINK_FAILOVER_BEGIN_EVT: l->state = LINK_FAILINGOVER; + break; case LINK_FAILURE_EVT: case LINK_RESET_EVT: case LINK_ESTABLISH_EVT: @@@ -913,7 -912,7 +913,7 @@@ static int link_schedule_user(struct ti skb = tipc_msg_create(SOCK_WAKEUP, 0, INT_H_SIZE, 0, dnode, l->addr, dport, 0, 0); if (!skb) - return -ENOBUFS; + return -ENOMEM; msg_set_dest_droppable(buf_msg(skb), true); TIPC_SKB_CB(skb)->chain_imp = msg_importance(hdr); skb_queue_tail(&l->wakeupq, skb); @@@ -1031,7 -1030,7 +1031,7 @@@ void tipc_link_reset(struct tipc_link * * * Consumes the buffer chain. * Messages at TIPC_SYSTEM_IMPORTANCE are always accepted - * Return: 0 if success, or errno: -ELINKCONG, -EMSGSIZE or -ENOBUFS + * Return: 0 if success, or errno: -ELINKCONG, -EMSGSIZE or -ENOBUFS or -ENOMEM */ int tipc_link_xmit(struct tipc_link *l, struct sk_buff_head *list, struct sk_buff_head *xmitq) @@@ -1089,7 -1088,7 +1089,7 @@@ if (!_skb) { kfree_skb(skb); __skb_queue_purge(list); - return -ENOBUFS; + return -ENOMEM; } __skb_queue_tail(transmq, skb); tipc_link_set_skb_retransmit_time(skb, l); diff --combined net/xfrm/xfrm_policy.c index e70cf1d2c0e0,837df4b5c1bc..827d84255021 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c @@@ -1902,7 -1902,8 +1902,7 @@@ static int xfrm_policy_match(const stru match = xfrm_selector_match(sel, fl, family); if (match) - ret = security_xfrm_policy_lookup(pol->security, fl->flowi_secid, - dir); + ret = security_xfrm_policy_lookup(pol->security, fl->flowi_secid); return ret; } @@@ -2091,12 -2092,15 +2091,15 @@@ static struct xfrm_policy *xfrm_policy_ if (unlikely(!daddr || !saddr)) return NULL; - rcu_read_lock(); retry: - do { - sequence = read_seqcount_begin(&xfrm_policy_hash_generation); - chain = policy_hash_direct(net, daddr, saddr, family, dir); - } while (read_seqcount_retry(&xfrm_policy_hash_generation, sequence)); + sequence = read_seqcount_begin(&xfrm_policy_hash_generation); + rcu_read_lock(); + + chain = policy_hash_direct(net, daddr, saddr, family, dir); + if (read_seqcount_retry(&xfrm_policy_hash_generation, sequence)) { + rcu_read_unlock(); + goto retry; + } ret = NULL; hlist_for_each_entry_rcu(pol, chain, bydst) { @@@ -2127,11 -2131,15 +2130,15 @@@ } skip_inexact: - if (read_seqcount_retry(&xfrm_policy_hash_generation, sequence)) + if (read_seqcount_retry(&xfrm_policy_hash_generation, sequence)) { + rcu_read_unlock(); goto retry; + } - if (ret && !xfrm_pol_hold_rcu(ret)) + if (ret && !xfrm_pol_hold_rcu(ret)) { + rcu_read_unlock(); goto retry; + } fail: rcu_read_unlock(); @@@ -2180,7 -2188,8 +2187,7 @@@ static struct xfrm_policy *xfrm_sk_poli goto out; } err = security_xfrm_policy_lookup(pol->security, - fl->flowi_secid, - dir); + fl->flowi_secid); if (!err) { if (!xfrm_pol_hold_rcu(pol)) goto again; @@@ -3245,7 -3254,7 +3252,7 @@@ xfrm_state_ok(const struct xfrm_tmpl *t /* * 0 or more than 0 is returned when validation is succeeded (either bypass - * because of optional transport mode, or next index of the mathced secpath + * because of optional transport mode, or next index of the matched secpath * state with the template. * -1 is returned when no matching template is found. * Otherwise "-2 - errored_index" is returned. -- LinuxNextTracking
1 year, 8 months
1
0
0
0
Coverity Scan: Analysis completed for batctl
by scan-admin@coverity.com
Your request for analysis of batctl has been completed successfully. The results are available at
https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P…
Build ID: 395314 Analysis Summary: New defects found: 0 Defects eliminated: 0
1 year, 8 months
1
0
0
0
← Newer
1
2
Older →
Jump to page:
1
2
Results per page:
10
25
50
100
200