Import of kernel-4.18.0-553.63.1.el8_10

This commit is contained in:
eabdullin 2025-09-05 12:22:09 +00:00
parent 11c08197f9
commit ab554a9950
16 changed files with 92 additions and 13 deletions

View File

@ -20,4 +20,10 @@ config RH_KABI_SIZE_ALIGN_CHECKS
This option enables more stringent kabi checks. Those must be disable
in case of a debug-build because they allow to change struct sizes.
config RH_KABI_STABLE_ASM_OFFSETS
bool "Enables asm-offsets.c constant stabilization"
default n
help
This option extends check-kabi to test a subset of asm-offsets.c
constants.

View File

@ -12,7 +12,7 @@ RHEL_MINOR = 10
#
# Use this spot to avoid future merge conflicts.
# Do not trim this comment.
RHEL_RELEASE = 553.62.1
RHEL_RELEASE = 553.63.1
#
# ZSTREAM

View File

@ -5991,3 +5991,4 @@ CONFIG_OBJAGG=m
#
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RH_KABI_SIZE_ALIGN_CHECKS is not set
# CONFIG_RH_KABI_STABLE_ASM_OFFSETS is not set

View File

@ -5963,3 +5963,4 @@ CONFIG_OBJAGG=m
#
CONFIG_RHEL_DIFFERENCES=y
CONFIG_RH_KABI_SIZE_ALIGN_CHECKS=y
CONFIG_RH_KABI_STABLE_ASM_OFFSETS=y

View File

@ -6398,3 +6398,4 @@ CONFIG_KVM_XIVE=y
#
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RH_KABI_SIZE_ALIGN_CHECKS is not set
# CONFIG_RH_KABI_STABLE_ASM_OFFSETS is not set

View File

@ -6354,3 +6354,4 @@ CONFIG_KVM_XIVE=y
#
CONFIG_RHEL_DIFFERENCES=y
CONFIG_RH_KABI_SIZE_ALIGN_CHECKS=y
CONFIG_RH_KABI_STABLE_ASM_OFFSETS=y

View File

@ -3564,3 +3564,4 @@ CONFIG_S390_GUEST=y
#
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RH_KABI_SIZE_ALIGN_CHECKS is not set
# CONFIG_RH_KABI_STABLE_ASM_OFFSETS is not set

View File

@ -1489,3 +1489,4 @@ CONFIG_HAVE_KVM=y
#
CONFIG_RHEL_DIFFERENCES=y
CONFIG_RH_KABI_SIZE_ALIGN_CHECKS=y
# CONFIG_RH_KABI_STABLE_ASM_OFFSETS is not set

View File

@ -3540,3 +3540,4 @@ CONFIG_S390_GUEST=y
#
CONFIG_RHEL_DIFFERENCES=y
CONFIG_RH_KABI_SIZE_ALIGN_CHECKS=y
CONFIG_RH_KABI_STABLE_ASM_OFFSETS=y

View File

@ -8280,3 +8280,4 @@ CONFIG_OBJAGG=m
#
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RH_KABI_SIZE_ALIGN_CHECKS is not set
# CONFIG_RH_KABI_STABLE_ASM_OFFSETS is not set

View File

@ -8221,3 +8221,4 @@ CONFIG_OBJAGG=m
#
CONFIG_RHEL_DIFFERENCES=y
CONFIG_RH_KABI_SIZE_ALIGN_CHECKS=y
CONFIG_RH_KABI_STABLE_ASM_OFFSETS=y

View File

@ -178,6 +178,7 @@ static int ch9200_mdio_read(struct net_device *netdev, int phy_id, int loc)
{
struct usbnet *dev = netdev_priv(netdev);
unsigned char buff[2];
int ret;
netdev_dbg(netdev, "%s phy_id:%02x loc:%02x\n",
__func__, phy_id, loc);
@ -185,8 +186,10 @@ static int ch9200_mdio_read(struct net_device *netdev, int phy_id, int loc)
if (phy_id != 0)
return -ENODEV;
control_read(dev, REQUEST_READ, 0, loc * 2, buff, 0x02,
CONTROL_TIMEOUT_MS);
ret = control_read(dev, REQUEST_READ, 0, loc * 2, buff, 0x02,
CONTROL_TIMEOUT_MS);
if (ret < 0)
return ret;
return (buff[0] | buff[1] << 8);
}

View File

@ -2923,11 +2923,23 @@ static int validate_lock_args(struct dlm_ls *ls, struct dlm_lkb *lkb,
lkb->lkb_timeout_cs = args->timeout;
rv = 0;
out:
if (rv)
log_debug(ls, "validate_lock_args %d %x %x %x %d %d %s",
switch (rv) {
case 0:
break;
case -EINVAL:
/* annoy the user because dlm usage is wrong */
WARN_ON(1);
log_error(ls, "%s %d %x %x %x %d %d", __func__,
rv, lkb->lkb_id, lkb->lkb_flags, args->flags,
lkb->lkb_status, lkb->lkb_wait_type,
lkb->lkb_resource->res_name);
lkb->lkb_status, lkb->lkb_wait_type);
break;
default:
log_debug(ls, "%s %d %x %x %x %d %d", __func__,
rv, lkb->lkb_id, lkb->lkb_flags, args->flags,
lkb->lkb_status, lkb->lkb_wait_type);
break;
}
return rv;
}
@ -3060,11 +3072,25 @@ static int validate_unlock_args(struct dlm_lkb *lkb, struct dlm_args *args)
lkb->lkb_astparam = args->astparam;
rv = 0;
out:
if (rv)
log_debug(ls, "validate_unlock_args %d %x %x %x %x %d %s", rv,
switch (rv) {
case 0:
break;
case -EINVAL:
/* annoy the user because dlm usage is wrong */
WARN_ON(1);
log_error(ls, "%s %d %x %x %x %x %d %s", __func__, rv,
lkb->lkb_id, lkb->lkb_flags, lkb->lkb_exflags,
args->flags, lkb->lkb_wait_type,
lkb->lkb_resource->res_name);
break;
default:
log_debug(ls, "%s %d %x %x %x %x %d %s", __func__, rv,
lkb->lkb_id, lkb->lkb_flags, lkb->lkb_exflags,
args->flags, lkb->lkb_wait_type,
lkb->lkb_resource->res_name);
break;
}
return rv;
}

View File

@ -348,6 +348,11 @@
* Adds a new field to an enumeration type. This must always be added to
* the end of the enum. Before using this macro, make sure this is actually
* safe to do.
*
* RH_KABI_ASSERT_EQ_CONST
* RH_KABI_ASSERT_EQ_CONSTEXPR
* Static assertion equality check against a C preprocessor (or a C constant
* expression).
*/
#undef linux
@ -512,4 +517,22 @@
(_ptr)->_struct##_size_rh > __off ? true : false; \
})
#if IS_BUILTIN(CONFIG_RH_KABI_STABLE_ASM_OFFSETS)
# define RH_KABI_ASSERT_EQ_CONSTEXPR(kind, sym, expval, val) { \
typedef char kind; \
kind (*expected)[expval]; \
kind (*actual)[val]; \
_Static_assert((expval) == (val), "unexpected value of " sym); \
expected = actual = NULL; \
}
# define RH_KABI_ASSERT_EQ_CONST(expval, val) \
_Static_assert((expval) == (val), \
"unexpected value of " #val " (" \
"actual: " __stringify(val) ", " \
"expected: " __stringify(expval) ")")
#else
# define RH_KABI_ASSERT_EQ_CONSTEXPR(kind, sym, expval, val)
# define RH_KABI_ASSERT_EQ_CONST(expval, val)
#endif
#endif /* _LINUX_RH_KABI_H */

View File

@ -1098,6 +1098,7 @@ start_over:
goto check_out;
pr_debug("scan_swap_map of si %d failed to find offset\n",
si->type);
cond_resched();
spin_lock(&swap_avail_lock);
nextsi:

View File

@ -717,21 +717,31 @@ static bool reqsk_queue_unlink(struct request_sock *req)
found = __sk_nulls_del_node_init_rcu(req_to_sk(req));
spin_unlock(lock);
}
if (timer_pending(&req->rsk_timer) && del_timer_sync(&req->rsk_timer))
reqsk_put(req);
return found;
}
bool inet_csk_reqsk_queue_drop(struct sock *sk, struct request_sock *req)
static bool __inet_csk_reqsk_queue_drop(struct sock *sk,
struct request_sock *req,
bool from_timer)
{
bool unlinked = reqsk_queue_unlink(req);
if (!from_timer && timer_delete_sync(&req->rsk_timer))
reqsk_put(req);
if (unlinked) {
reqsk_queue_removed(&inet_csk(sk)->icsk_accept_queue, req);
reqsk_put(req);
}
return unlinked;
}
bool inet_csk_reqsk_queue_drop(struct sock *sk, struct request_sock *req)
{
return __inet_csk_reqsk_queue_drop(sk, req, false);
}
EXPORT_SYMBOL(inet_csk_reqsk_queue_drop);
void inet_csk_reqsk_queue_drop_and_put(struct sock *sk, struct request_sock *req)
@ -804,7 +814,8 @@ static void reqsk_timer_handler(struct timer_list *t)
return;
}
drop:
inet_csk_reqsk_queue_drop_and_put(sk_listener, req);
__inet_csk_reqsk_queue_drop(sk_listener, req, true);
reqsk_put(req);
}
static void reqsk_queue_hash_req(struct request_sock *req,