diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2023-10-26 19:55:16 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2023-10-26 23:09:17 +0200 |
commit | 05ec45c9c979a958e022fe691e6cf03a338e9263 (patch) | |
tree | 470588b15afb6ea8668d7618045d9f186688959a /source/l | |
parent | 9fedb36bd1958e9be51adfcd9ce4485d923334b0 (diff) | |
download | current-05ec45c9c979a958e022fe691e6cf03a338e9263.tar.gz current-05ec45c9c979a958e022fe691e6cf03a338e9263.tar.xz |
Thu Oct 26 19:55:16 UTC 202320231026195516
a/kernel-firmware-20231024_4ee0175-noarch-1.txz: Upgraded.
a/kernel-generic-6.1.60-x86_64-1.txz: Upgraded.
a/kernel-huge-6.1.60-x86_64-1.txz: Upgraded.
a/kernel-modules-6.1.60-x86_64-1.txz: Upgraded.
a/shadow-4.14.1-x86_64-1.txz: Upgraded.
d/kernel-headers-6.1.60-x86-1.txz: Upgraded.
k/kernel-source-6.1.60-noarch-1.txz: Upgraded.
Hey folks, if you've been following LQ you know I've talked before about
dropping the huge kernel and moving the distribution to use only the generic
kernel plus an initrd. After mulling this over for a few months, I think I
was looking at the problem in the wrong way. First of all, it's clear that
some Slackware users have been using the huge kernel all along, without an
initrd, and are (to say the least) unhappy about the prospect of a new
requirement to start using one. I've been recommending the generic kernel for
some time, and a major reason is that we've been using the same set of kernel
modules with two slightly different kernels. Because of this, there have
always been a few (generally seldom used) kernel modules that won't load into
the huge kernel. These are things that aren't built into the huge kernel, but
because of a difference in some kernel module dependency, they won't load.
The conclusion that I've come to here is that rather than drop the huge
kernel, or slap a LOCALVERSION on it and provide a whole duplicate tree of
kernel modules especially for the huge kernel, it would be better to make the
generic kernel more huge, and minimize the differences between the two kernel
configs.
That's what I've done here.
Shown below are the differences between the previous generic kernel config
and the one shipping in this update. You'll notice that most of the popular
filesystems are built in. At this point the main difference it that the huge
kernel has a couple of dozen SCSI drivers built into it. The modules for those
drivers won't load into the huge kernel, but they're fully built in so that
doesn't matter. If you find any other modules that will not load into the huge
kernel, please make a note about it on LQ and I'll see what can be done.
So, tl;dr - what does this change mean?
Unless your root device is on SCSI, if you were able to use the huge kernel
without an initrd previously, you should now be able to use the generic
kernel without an initrd. The kernel is a bit bigger, but we probably have
enough RAM these days that it won't make a difference.
Enjoy! :-)
-CIFS_SMB_DIRECT n
9P_FS m -> y
9P_FSCACHE n -> y
BTRFS_FS m -> y
CIFS m -> y
CRYPTO_CMAC m -> y
CRYPTO_CRC32 m -> y
CRYPTO_XXHASH m -> y
CRYPTO_ZSTD m -> y
EFIVAR_FS m -> y
EXFAT_FS m -> y
EXT2_FS m -> y
EXT3_FS m -> y
EXT4_FS m -> y
F2FS_FS m -> y
FAILOVER m -> y
FAT_FS m -> y
FSCACHE m -> y
FS_ENCRYPTION_ALGS m -> y
FS_MBCACHE m -> y
HW_RANDOM_VIRTIO m -> y
ISO9660_FS m -> y
JBD2 m -> y
JFS_FS m -> y
LZ4HC_COMPRESS m -> y
LZ4_COMPRESS m -> y
MSDOS_FS m -> y
NETFS_SUPPORT m -> y
NET_9P m -> y
NET_9P_FD m -> y
NET_9P_VIRTIO m -> y
NET_FAILOVER m -> y
NFSD m -> y
NLS_CODEPAGE_437 m -> y
NTFS3_FS m -> y
NTFS_FS m -> y
PSTORE_LZ4_COMPRESS n -> m
PSTORE_LZO_COMPRESS n -> m
PSTORE_ZSTD_COMPRESS n -> y
QFMT_V2 m -> y
QUOTA_TREE m -> y
REISERFS_FS m -> y
RPCSEC_GSS_KRB5 m -> y
SMBFS m -> y
SQUASHFS m -> y
UDF_FS m -> y
VFAT_FS m -> y
VIRTIO_BALLOON m -> y
VIRTIO_BLK m -> y
VIRTIO_CONSOLE m -> y
VIRTIO_INPUT m -> y
VIRTIO_MMIO m -> y
VIRTIO_NET m -> y
VIRTIO_PCI m -> y
VIRTIO_PCI_LIB m -> y
VIRTIO_PCI_LIB_LEGACY m -> y
VIRTIO_PMEM m -> y
XFS_FS m -> y
ZONEFS_FS n -> m
ZSTD_COMPRESS m -> y
+NFS_FSCACHE y
+PSTORE_LZ4_COMPRESS_DEFAULT n
+PSTORE_LZO_COMPRESS_DEFAULT n
+PSTORE_ZSTD_COMPRESS_DEFAULT n
kde/plasma-workspace-5.27.9.1-x86_64-1.txz: Upgraded.
l/glib2-2.78.1-x86_64-1.txz: Upgraded.
l/netpbm-11.04.03-x86_64-1.txz: Upgraded.
l/newt-0.52.24-x86_64-1.txz: Upgraded.
n/gpgme-1.23.0-x86_64-1.txz: Upgraded.
n/p11-kit-0.25.1-x86_64-1.txz: Upgraded.
n/php-8.2.12-x86_64-1.txz: Upgraded.
This is a bugfix release.
For more information, see:
https://www.php.net/ChangeLog-8.php#8.2.12
x/xorg-server-21.1.9-x86_64-1.txz: Upgraded.
This update fixes security issues:
OOB write in XIChangeDeviceProperty/RRChangeOutputProperty.
Use-after-free bug in DestroyWindow.
For more information, see:
https://lists.x.org/archives/xorg-announce/2023-October/003430.html
https://www.cve.org/CVERecord?id=CVE-2023-5367
https://www.cve.org/CVERecord?id=CVE-2023-5380
(* Security fix *)
x/xorg-server-xephyr-21.1.9-x86_64-1.txz: Upgraded.
x/xorg-server-xnest-21.1.9-x86_64-1.txz: Upgraded.
x/xorg-server-xvfb-21.1.9-x86_64-1.txz: Upgraded.
x/xorg-server-xwayland-23.2.2-x86_64-1.txz: Upgraded.
This update fixes a security issue:
OOB write in XIChangeDeviceProperty/RRChangeOutputProperty.
For more information, see:
https://lists.x.org/archives/xorg-announce/2023-October/003430.html
https://www.cve.org/CVERecord?id=CVE-2023-5367
(* Security fix *)
xap/mozilla-thunderbird-115.4.1-x86_64-1.txz: Upgraded.
This release contains security fixes and improvements.
For more information, see:
https://www.mozilla.org/en-US/thunderbird/115.4.1/releasenotes/
https://www.mozilla.org/en-US/security/advisories/mfsa2023-47/
https://www.cve.org/CVERecord?id=CVE-2023-5721
https://www.cve.org/CVERecord?id=CVE-2023-5732
https://www.cve.org/CVERecord?id=CVE-2023-5724
https://www.cve.org/CVERecord?id=CVE-2023-5725
https://www.cve.org/CVERecord?id=CVE-2023-5726
https://www.cve.org/CVERecord?id=CVE-2023-5727
https://www.cve.org/CVERecord?id=CVE-2023-5728
https://www.cve.org/CVERecord?id=CVE-2023-5730
(* Security fix *)
xfce/thunar-4.18.8-x86_64-1.txz: Upgraded.
isolinux/initrd.img: Rebuilt.
kernels/*: Upgraded.
usb-and-pxe-installers/usbboot.img: Rebuilt.
Diffstat (limited to 'source/l')
-rw-r--r-- | source/l/glib2/82c764ce2e42f0d1032627dabcbd742d5f2bd8fa.patch | 132 | ||||
-rwxr-xr-x | source/l/glib2/glib2.SlackBuild | 4 |
2 files changed, 1 insertions, 135 deletions
diff --git a/source/l/glib2/82c764ce2e42f0d1032627dabcbd742d5f2bd8fa.patch b/source/l/glib2/82c764ce2e42f0d1032627dabcbd742d5f2bd8fa.patch deleted file mode 100644 index 911b78c88..000000000 --- a/source/l/glib2/82c764ce2e42f0d1032627dabcbd742d5f2bd8fa.patch +++ /dev/null @@ -1,132 +0,0 @@ -From 82c764ce2e42f0d1032627dabcbd742d5f2bd8fa Mon Sep 17 00:00:00 2001 -From: Philip Withnall <philip@tecnocode.co.uk> -Date: Mon, 11 Sep 2023 16:02:15 +0100 -Subject: [PATCH] gthreadedresolver: Fix race between source callbacks and - finalize -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -I had thought that because `g_source_destroy()` was called for the two -sources (cancel and timeout) in the `GTask` finalize function for a -threaded resolver operation, that it would be fine to use a plain -pointer in the source callbacks to point to the `GTask`. - -That turns out to not be true: because the source callbacks are executed -in the GLib worker thread, and the `GTask` can be finalized in another -thread, it’s possible for a source callback (e.g. `cancelled_cb()`) to -be scheduled in the worker thread, then for the `GTask` to be finalized, -and then the source callback to continue execution and find itself -doing a use-after-free. - -Fix that by using a weak ref to the `GTask` in the source callbacks, -rather than a plain pointer. - -Signed-off-by: Philip Withnall <philip@tecnocode.co.uk> - -Fixes: #3105 ---- - gio/gthreadedresolver.c | 43 +++++++++++++++++++++++++++++++++++------ - 1 file changed, 37 insertions(+), 6 deletions(-) - -diff --git a/gio/gthreadedresolver.c b/gio/gthreadedresolver.c -index 2d94531bfd..c7a567549f 100644 ---- a/gio/gthreadedresolver.c -+++ b/gio/gthreadedresolver.c -@@ -1422,10 +1422,17 @@ lookup_records_finish (GResolver *resolver, - static gboolean - timeout_cb (gpointer user_data) - { -- GTask *task = G_TASK (user_data); -- LookupData *data = g_task_get_task_data (task); -+ GWeakRef *weak_task = user_data; -+ GTask *task = NULL; /* (owned) */ -+ LookupData *data; - gboolean should_return; - -+ task = g_weak_ref_get (weak_task); -+ if (task == NULL) -+ return G_SOURCE_REMOVE; -+ -+ data = g_task_get_task_data (task); -+ - g_mutex_lock (&data->lock); - - should_return = g_atomic_int_compare_and_exchange (&data->will_return, NOT_YET, TIMED_OUT); -@@ -1443,6 +1450,8 @@ timeout_cb (gpointer user_data) - g_cond_broadcast (&data->cond); - g_mutex_unlock (&data->lock); - -+ g_object_unref (task); -+ - return G_SOURCE_REMOVE; - } - -@@ -1452,10 +1461,17 @@ static gboolean - cancelled_cb (GCancellable *cancellable, - gpointer user_data) - { -- GTask *task = G_TASK (user_data); -- LookupData *data = g_task_get_task_data (task); -+ GWeakRef *weak_task = user_data; -+ GTask *task = NULL; /* (owned) */ -+ LookupData *data; - gboolean should_return; - -+ task = g_weak_ref_get (weak_task); -+ if (task == NULL) -+ return G_SOURCE_REMOVE; -+ -+ data = g_task_get_task_data (task); -+ - g_mutex_lock (&data->lock); - - g_assert (g_cancellable_is_cancelled (cancellable)); -@@ -1473,9 +1489,18 @@ cancelled_cb (GCancellable *cancellable, - g_cond_broadcast (&data->cond); - g_mutex_unlock (&data->lock); - -+ g_object_unref (task); -+ - return G_SOURCE_REMOVE; - } - -+static void -+weak_ref_clear_and_free (GWeakRef *weak_ref) -+{ -+ g_weak_ref_clear (weak_ref); -+ g_free (weak_ref); -+} -+ - static void - run_task_in_thread_pool_async (GThreadedResolver *self, - GTask *task) -@@ -1490,17 +1515,23 @@ run_task_in_thread_pool_async (GThreadedResolver *self, - - if (timeout_ms != 0) - { -+ GWeakRef *weak_task = g_new0 (GWeakRef, 1); -+ g_weak_ref_set (weak_task, task); -+ - data->timeout_source = g_timeout_source_new (timeout_ms); - g_source_set_static_name (data->timeout_source, "[gio] threaded resolver timeout"); -- g_source_set_callback (data->timeout_source, G_SOURCE_FUNC (timeout_cb), task, NULL); -+ g_source_set_callback (data->timeout_source, G_SOURCE_FUNC (timeout_cb), g_steal_pointer (&weak_task), (GDestroyNotify) weak_ref_clear_and_free); - g_source_attach (data->timeout_source, GLIB_PRIVATE_CALL (g_get_worker_context) ()); - } - - if (cancellable != NULL) - { -+ GWeakRef *weak_task = g_new0 (GWeakRef, 1); -+ g_weak_ref_set (weak_task, task); -+ - data->cancellable_source = g_cancellable_source_new (cancellable); - g_source_set_static_name (data->cancellable_source, "[gio] threaded resolver cancellable"); -- g_source_set_callback (data->cancellable_source, G_SOURCE_FUNC (cancelled_cb), task, NULL); -+ g_source_set_callback (data->cancellable_source, G_SOURCE_FUNC (cancelled_cb), g_steal_pointer (&weak_task), (GDestroyNotify) weak_ref_clear_and_free); - g_source_attach (data->cancellable_source, GLIB_PRIVATE_CALL (g_get_worker_context) ()); - } - --- -GitLab - diff --git a/source/l/glib2/glib2.SlackBuild b/source/l/glib2/glib2.SlackBuild index b8bcddad6..739578e0f 100755 --- a/source/l/glib2/glib2.SlackBuild +++ b/source/l/glib2/glib2.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=glib2 VERSION=${VERSION:-$(echo glib-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} @@ -70,8 +70,6 @@ rm -rf glib-$VERSION tar xvf $CWD/glib-$VERSION.tar.?z* || exit 1 cd glib-$VERSION || exit 1 -cat $CWD/82c764ce2e42f0d1032627dabcbd742d5f2bd8fa.patch | patch -p1 --verbose || exit 1 - chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ |