Import of kernel-6.12.0-124.28.1.el10_1
This commit is contained in:
parent
85c1100e1e
commit
356537e51c
@ -12,7 +12,7 @@ RHEL_MINOR = 1
|
||||
#
|
||||
# Use this spot to avoid future merge conflicts.
|
||||
# Do not trim this comment.
|
||||
RHEL_RELEASE = 124.27.1
|
||||
RHEL_RELEASE = 124.28.1
|
||||
|
||||
#
|
||||
# RHEL_REBASE_NUM
|
||||
|
||||
@ -785,42 +785,53 @@ void ceph_reset_client_addr(struct ceph_client *client)
|
||||
}
|
||||
EXPORT_SYMBOL(ceph_reset_client_addr);
|
||||
|
||||
/*
|
||||
* true if we have the mon map (and have thus joined the cluster)
|
||||
*/
|
||||
static bool have_mon_and_osd_map(struct ceph_client *client)
|
||||
{
|
||||
return client->monc.monmap && client->monc.monmap->epoch &&
|
||||
client->osdc.osdmap && client->osdc.osdmap->epoch;
|
||||
}
|
||||
|
||||
/*
|
||||
* mount: join the ceph cluster, and open root directory.
|
||||
*/
|
||||
int __ceph_open_session(struct ceph_client *client, unsigned long started)
|
||||
{
|
||||
unsigned long timeout = client->options->mount_timeout;
|
||||
long err;
|
||||
DEFINE_WAIT_FUNC(wait, woken_wake_function);
|
||||
long timeout = ceph_timeout_jiffies(client->options->mount_timeout);
|
||||
bool have_monmap, have_osdmap;
|
||||
int err;
|
||||
|
||||
/* open session, and wait for mon and osd maps */
|
||||
err = ceph_monc_open_session(&client->monc);
|
||||
if (err < 0)
|
||||
return err;
|
||||
|
||||
while (!have_mon_and_osd_map(client)) {
|
||||
if (timeout && time_after_eq(jiffies, started + timeout))
|
||||
return -ETIMEDOUT;
|
||||
add_wait_queue(&client->auth_wq, &wait);
|
||||
for (;;) {
|
||||
mutex_lock(&client->monc.mutex);
|
||||
err = client->auth_err;
|
||||
have_monmap = client->monc.monmap && client->monc.monmap->epoch;
|
||||
mutex_unlock(&client->monc.mutex);
|
||||
|
||||
down_read(&client->osdc.lock);
|
||||
have_osdmap = client->osdc.osdmap && client->osdc.osdmap->epoch;
|
||||
up_read(&client->osdc.lock);
|
||||
|
||||
if (err || (have_monmap && have_osdmap))
|
||||
break;
|
||||
|
||||
if (signal_pending(current)) {
|
||||
err = -ERESTARTSYS;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!timeout) {
|
||||
err = -ETIMEDOUT;
|
||||
break;
|
||||
}
|
||||
|
||||
/* wait */
|
||||
dout("mount waiting for mon_map\n");
|
||||
err = wait_event_interruptible_timeout(client->auth_wq,
|
||||
have_mon_and_osd_map(client) || (client->auth_err < 0),
|
||||
ceph_timeout_jiffies(timeout));
|
||||
if (err < 0)
|
||||
return err;
|
||||
if (client->auth_err < 0)
|
||||
return client->auth_err;
|
||||
timeout = wait_woken(&wait, TASK_INTERRUPTIBLE, timeout);
|
||||
}
|
||||
remove_wait_queue(&client->auth_wq, &wait);
|
||||
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
pr_info("client%llu fsid %pU\n", ceph_client_gid(client),
|
||||
&client->fsid);
|
||||
|
||||
@ -36,8 +36,9 @@ static int monmap_show(struct seq_file *s, void *p)
|
||||
int i;
|
||||
struct ceph_client *client = s->private;
|
||||
|
||||
mutex_lock(&client->monc.mutex);
|
||||
if (client->monc.monmap == NULL)
|
||||
return 0;
|
||||
goto out_unlock;
|
||||
|
||||
seq_printf(s, "epoch %d\n", client->monc.monmap->epoch);
|
||||
for (i = 0; i < client->monc.monmap->num_mon; i++) {
|
||||
@ -48,6 +49,9 @@ static int monmap_show(struct seq_file *s, void *p)
|
||||
ENTITY_NAME(inst->name),
|
||||
ceph_pr_addr(&inst->addr));
|
||||
}
|
||||
|
||||
out_unlock:
|
||||
mutex_unlock(&client->monc.mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -56,13 +60,14 @@ static int osdmap_show(struct seq_file *s, void *p)
|
||||
int i;
|
||||
struct ceph_client *client = s->private;
|
||||
struct ceph_osd_client *osdc = &client->osdc;
|
||||
struct ceph_osdmap *map = osdc->osdmap;
|
||||
struct ceph_osdmap *map;
|
||||
struct rb_node *n;
|
||||
|
||||
if (map == NULL)
|
||||
return 0;
|
||||
|
||||
down_read(&osdc->lock);
|
||||
map = osdc->osdmap;
|
||||
if (map == NULL)
|
||||
goto out_unlock;
|
||||
|
||||
seq_printf(s, "epoch %u barrier %u flags 0x%x\n", map->epoch,
|
||||
osdc->epoch_barrier, map->flags);
|
||||
|
||||
@ -131,6 +136,7 @@ static int osdmap_show(struct seq_file *s, void *p)
|
||||
seq_printf(s, "]\n");
|
||||
}
|
||||
|
||||
out_unlock:
|
||||
up_read(&osdc->lock);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1,3 +1,7 @@
|
||||
* Wed Jan 07 2026 CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> [6.12.0-124.28.1.el10_1]
|
||||
- libceph: fix potential use-after-free in have_mon_and_osd_map() (CKI Backport Bot) [RHEL-137403] {CVE-2025-68285}
|
||||
Resolves: RHEL-137403
|
||||
|
||||
* Sat Dec 27 2025 CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> [6.12.0-124.27.1.el10_1]
|
||||
- arm64: errata: Expand speculative SSBS workaround for Cortex-A720AE (Waiman Long) [RHEL-120684]
|
||||
- arm64: cputype: Add Cortex-A720AE definitions (Waiman Long) [RHEL-120684]
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
|
||||
kernel-uki-virt-addons.centos,1,Red Hat,kernel-uki-virt-addons,6.12.0-124.27.1.el10.x86_64,mailto:secalert@redhat.com
|
||||
kernel-uki-virt-addons.almalinux,1,AlmaLinux,kernel-uki-virt-addons,6.12.0-124.27.1.el10.x86_64,mailto:security@almalinux.org
|
||||
kernel-uki-virt-addons.centos,1,Red Hat,kernel-uki-virt-addons,6.12.0-124.28.1.el10.x86_64,mailto:secalert@redhat.com
|
||||
kernel-uki-virt-addons.almalinux,1,AlmaLinux,kernel-uki-virt-addons,6.12.0-124.28.1.el10.x86_64,mailto:security@almalinux.org
|
||||
|
||||
4
uki.sbat
4
uki.sbat
@ -1,3 +1,3 @@
|
||||
sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
|
||||
kernel-uki-virt.centos,1,Red Hat,kernel-uki-virt,6.12.0-124.27.1.el10.x86_64,mailto:secalert@redhat.com
|
||||
kernel-uki-virt.almalinux,1,AlmaLinux,kernel-uki-virt,6.12.0-124.27.1.el10.x86_64,mailto:security@almalinux.org
|
||||
kernel-uki-virt.centos,1,Red Hat,kernel-uki-virt,6.12.0-124.28.1.el10.x86_64,mailto:secalert@redhat.com
|
||||
kernel-uki-virt.almalinux,1,AlmaLinux,kernel-uki-virt,6.12.0-124.28.1.el10.x86_64,mailto:security@almalinux.org
|
||||
|
||||
Loading…
Reference in New Issue
Block a user