Stephen Rothwell [Mon, 17 Jan 2022 22:22:05 +0000 (09:22 +1100)]
Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6.git
Stephen Rothwell [Mon, 17 Jan 2022 22:22:05 +0000 (09:22 +1100)]
Merge branch 'master' of git://github.com/ceph/ceph-client.git
# Conflicts:
# include/linux/ceph/libceph.h
# net/ceph/ceph_common.c
Stephen Rothwell [Mon, 17 Jan 2022 22:22:03 +0000 (09:22 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/kdave/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:22:02 +0000 (09:22 +1100)]
Merge branch 'fscache-next' of git://git./linux/kernel/git/dhowells/linux-fs.git
Stephen Rothwell [Mon, 17 Jan 2022 22:22:01 +0000 (09:22 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/brauner/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:19:35 +0000 (09:19 +1100)]
Merge branch 'xtensa-for-next' of git://github.com/jcmvbkbc/linux-xtensa.git
Stephen Rothwell [Mon, 17 Jan 2022 22:19:34 +0000 (09:19 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/s390/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:19:34 +0000 (09:19 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/riscv/linux.git
# Conflicts:
# arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dts
# arch/riscv/include/asm/sbi.h
Stephen Rothwell [Mon, 17 Jan 2022 22:19:32 +0000 (09:19 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/deller/parisc-linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:19:31 +0000 (09:19 +1100)]
Merge branch 'next' of git://git./linux/kernel/git/greentime/linux.git
# Conflicts:
# arch/nds32/Kbuild
# arch/nds32/Kconfig
Stephen Rothwell [Mon, 17 Jan 2022 22:19:28 +0000 (09:19 +1100)]
Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze.git
Stephen Rothwell [Mon, 17 Jan 2022 22:19:20 +0000 (09:19 +1100)]
Merge branch 'h8300-next' of git://git.sourceforge.jp/gitroot/uclinux-h8/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:19:19 +0000 (09:19 +1100)]
Merge branch 'clk-next' of git://git./linux/kernel/git/clk/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:19:18 +0000 (09:19 +1100)]
Merge branch 'for-next' of git://github.com/Xilinx/linux-xlnx.git
Stephen Rothwell [Mon, 17 Jan 2022 22:19:16 +0000 (09:19 +1100)]
Merge branch 'ti-next' of git://git./linux/kernel/git/ti/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:19:09 +0000 (09:19 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/tegra/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:19:09 +0000 (09:19 +1100)]
Merge branch 'next' of https://git.linaro.org/people/jens.wiklander/linux-tee.git
Stephen Rothwell [Mon, 17 Jan 2022 22:19:06 +0000 (09:19 +1100)]
Merge branch 'sunxi/for-next' of git://git./linux/kernel/git/sunxi/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:19:04 +0000 (09:19 +1100)]
Merge branch 'for-linux-next' of git://git./linux/kernel/git/sudeep.holla/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:19:01 +0000 (09:19 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/krzk/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:58 +0000 (09:18 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/mmind/linux-rockchip.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:55 +0000 (09:18 +1100)]
Merge branch 'next' of git://git./linux/kernel/git/geert/renesas-devel.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:54 +0000 (09:18 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/nsaenz/linux-rpi.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:53 +0000 (09:18 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/qcom/linux.git
# Conflicts:
# arch/arm/configs/multi_v7_defconfig
Stephen Rothwell [Mon, 17 Jan 2022 22:18:48 +0000 (09:18 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/tmlind/linux-omap.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:48 +0000 (09:18 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/gclement/mvebu.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:47 +0000 (09:18 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/matthias.bgg/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:47 +0000 (09:18 +1100)]
Merge branch 'next' of git://git./linux/kernel/git/ssantosh/linux-keystone.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:41 +0000 (09:18 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/shawnguo/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:38 +0000 (09:18 +1100)]
Merge branch 'for-next' of https://git./linux/kernel/git/krzk/linux-mem-ctrl.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:35 +0000 (09:18 +1100)]
Merge branch 'at91-next' of git://git./linux/kernel/git/at91/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:34 +0000 (09:18 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/joel/bmc.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:33 +0000 (09:18 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/amlogic/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:28 +0000 (09:18 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/mani/linux-actions.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:19 +0000 (09:18 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/soc/soc.git
Stephen Rothwell [Mon, 17 Jan 2022 22:18:18 +0000 (09:18 +1100)]
Merge branch 'for-next' of git://git.armlinux.org.uk/~rmk/linux-arm.git
Stephen Rothwell [Mon, 17 Jan 2022 22:17:04 +0000 (09:17 +1100)]
Merge branch 'perf/core' of git://git./linux/kernel/git/acme/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 22:01:15 +0000 (09:01 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/masahiroy/linux-kbuild.git
# Conflicts:
# scripts/link-vmlinux.sh
Stephen Rothwell [Mon, 17 Jan 2022 21:54:24 +0000 (08:54 +1100)]
Merge branch 'irq/irqchip-fixes' of git://git./linux/kernel/git/maz/arm-platforms.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:23 +0000 (08:54 +1100)]
Merge branch 'fixes' of git://git./linux/kernel/git/rw/ubifs.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:22 +0000 (08:54 +1100)]
Merge branch 'gpio/for-current' of git://git./linux/kernel/git/brgl/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:20 +0000 (08:54 +1100)]
Merge branch 'fix' of git://git./linux/kernel/git/leo/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:15 +0000 (08:54 +1100)]
Merge branch 'rtc-fixes' of git://git./linux/kernel/git/abelloni/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:14 +0000 (08:54 +1100)]
Merge branch 'next-fixes' of git://git./linux/kernel/git/kdave/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:13 +0000 (08:54 +1100)]
Merge branch 'hwmon' of git://git./linux/kernel/git/groeck/linux-staging.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:11 +0000 (08:54 +1100)]
Merge branch 'fixes' of git://linuxtv.org/mchehab/media-next.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:09 +0000 (08:54 +1100)]
Merge branch 'fixes-togreg' of git://git./linux/kernel/git/jic23/iio.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:09 +0000 (08:54 +1100)]
Merge branch 'for-usb-fixes' of git://git./linux/kernel/git/peter.chen/usb.git
# Conflicts:
# drivers/usb/chipidea/ci_hdrc_imx.c
Stephen Rothwell [Mon, 17 Jan 2022 21:54:06 +0000 (08:54 +1100)]
Merge branch 'for-linus' of git://git./linux/kernel/git/broonie/spi.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:05 +0000 (08:54 +1100)]
Merge branch 'for-linus' of git://git./linux/kernel/git/broonie/regulator.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:03 +0000 (08:54 +1100)]
Merge branch 'for-linus' of git://git./linux/kernel/git/broonie/regmap.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:02 +0000 (08:54 +1100)]
Merge branch 'for-linus' of git://git./linux/kernel/git/broonie/sound.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:02 +0000 (08:54 +1100)]
Merge branch 'for-linus' of git://git./linux/kernel/git/tiwai/sound.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:01 +0000 (08:54 +1100)]
Merge branch 'master' of git://git./linux/kernel/git/pablo/nf.git
Stephen Rothwell [Mon, 17 Jan 2022 21:54:00 +0000 (08:54 +1100)]
Merge branch 'master' of git://git./linux/kernel/git/bpf/bpf.git
Stephen Rothwell [Mon, 17 Jan 2022 21:53:59 +0000 (08:53 +1100)]
Merge branch 'master' of git://git./linux/kernel/git/netdev/net.git
Stephen Rothwell [Mon, 17 Jan 2022 21:53:58 +0000 (08:53 +1100)]
Merge branch 'fixes' of git://git./linux/kernel/git/powerpc/linux.git
Stephen Rothwell [Mon, 17 Jan 2022 21:53:57 +0000 (08:53 +1100)]
Merge branch 'fixes' of https://git./linux/kernel/git/krzk/linux-mem-ctrl.git
Stephen Rothwell [Mon, 17 Jan 2022 21:53:56 +0000 (08:53 +1100)]
Merge branch 'for-curr' of git://git./linux/kernel/git/vgupta/arc.git
Eugene Korenevsky [Fri, 14 Jan 2022 19:53:40 +0000 (22:53 +0300)]
cifs: quirk for STATUS_OBJECT_NAME_INVALID returned for non-ASCII dfs refs
Windows SMB server responds with STATUS_OBJECT_NAME_INVALID code to
SMB2 QUERY_INFO request for "\<server>\<dfsname>\<linkpath>" DFS reference,
where <dfsname> contains non-ASCII unicode symbols.
Check such DFS reference and emulate -EREMOTE if it is actual.
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=215440
Signed-off-by: Eugene Korenevsky <ekorenevsky@astralinux.ru>
Signed-off-by: Steve French <stfrench@microsoft.com>
Eugene Korenevsky [Fri, 14 Jan 2022 19:53:00 +0000 (22:53 +0300)]
cifs: alloc_path_with_tree_prefix: do not append sep. if the path is empty
alloc_path_with_tree_prefix() concatenates tree prefix and the path.
Windows CIFS client does not add separator after the tree prefix if the path
is empty. Let's do the same.
This fixes mounting DFS namespaces with names containing non-ASCII symbols.
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=215440
Signed-off-by: Eugene Korenevsky <ekorenevsky@astralinux.ru>
Signed-off-by: Steve French <stfrench@microsoft.com>
Yang Li [Mon, 17 Jan 2022 01:11:30 +0000 (09:11 +0800)]
cifs: clean up an inconsistent indenting
Eliminate the follow smatch warning:
fs/cifs/sess.c:1581 sess_auth_rawntlmssp_authenticate() warn:
inconsistent indenting
Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Shyam Prasad N [Mon, 17 Jan 2022 06:20:47 +0000 (00:20 -0600)]
cifs: free ntlmsspblob allocated in negotiate
One of my previous fixes:
cifs: send workstation name during ntlmssp session setup
...changed the prototype of build_ntlmssp_negotiate_blob
from being allocated by the caller to being allocated within
the function. The caller needs to free this object too.
While SMB2 version of the caller did it, I forgot to free
for the SMB1 version. Fixing that here.
Fixes:
49bd49f983b5 ("cifs: send workstation name during ntlmssp session setup")
Cc: stable@vger.kernel.org # 5.16
Signed-off-by: Shyam Prasad N <sprasad@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
David Sterba [Mon, 17 Jan 2022 17:38:18 +0000 (18:38 +0100)]
Merge branch 'misc-5.17' into next-fixes
Filipe Manana [Mon, 17 Jan 2022 16:28:29 +0000 (16:28 +0000)]
btrfs: fix too long loop when defragging a 1 byte file
When attempting to defrag a file with a single byte, we can end up in a
too long loop, which is nearly infinite because at btrfs_defrag_file()
we end up with the variable last_byte assigned with a value of
18446744073709551615 (which is (u64)-1). The problem comes from the fact
we end up doing:
last_byte = round_up(last_byte, fs_info->sectorsize) - 1;
So if last_byte was assigned 0, which is i_size - 1, we underflow and
end up with the value
18446744073709551615.
This is trivial to reproduce and the following script triggers it:
$ cat test.sh
#!/bin/bash
DEV=/dev/sdj
MNT=/mnt/sdj
mkfs.btrfs -f $DEV
mount $DEV $MNT
echo -n "X" > $MNT/foobar
btrfs filesystem defragment $MNT/foobar
umount $MNT
So fix this by not decrementing last_byte by 1 before doing the sector
size round up. Also, to make it easier to follow, make the round up right
after computing last_byte.
Reported-by: Anthony Ruhier <aruhier@mailbox.org>
Fixes:
7b508037d4cac3 ("btrfs: defrag: use defrag_one_cluster() to implement btrfs_defrag_file()")
CC: stable@vger.kernel.org # 5.16+
Link: https://lore.kernel.org/linux-btrfs/0a269612-e43f-da22-c5bc-b34b1b56ebe8@mailbox.org/
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Qu Wenruo [Thu, 16 Dec 2021 11:47:35 +0000 (19:47 +0800)]
btrfs: don't start transaction for scrub if the fs is mounted read-only
[BUG]
The following super simple script would crash btrfs at unmount time, if
CONFIG_BTRFS_ASSERT() is set.
mkfs.btrfs -f $dev
mount $dev $mnt
xfs_io -f -c "pwrite 0 4k" $mnt/file
umount $mnt
mount -r ro $dev $mnt
btrfs scrub start -Br $mnt
umount $mnt
This will trigger the following ASSERT() introduced by commit
0a31daa4b602 ("btrfs: add assertion for empty list of transactions at
late stage of umount").
That patch is definitely not the cause, it just makes enough noise for
developers.
[CAUSE]
We will start transaction for the following call chain during scrub:
scrub_enumerate_chunks()
|- btrfs_inc_block_group_ro()
|- btrfs_join_transaction()
However for RO mount, there is no running transaction at all, thus
btrfs_join_transaction() will start a new transaction.
Furthermore, since it's read-only mount, btrfs_sync_fs() will not call
btrfs_commit_super() to commit the new but empty transaction.
And leads to the ASSERT().
The bug has been there for a long time. Only the new ASSERT() makes it
noisy enough to be noticed.
[FIX]
For read-only scrub on read-only mount, there is no need to start a
transaction nor to allocate new chunks in btrfs_inc_block_group_ro().
Just do extra read-only mount check in btrfs_inc_block_group_ro(), and
if it's read-only, skip all chunk allocation and go inc_block_group_ro()
directly.
CC: stable@vger.kernel.org # 5.4+
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Russell King (Oracle) [Mon, 17 Jan 2022 14:52:33 +0000 (14:52 +0000)]
net: sfp: fix high power modules without diagnostic monitoring
Commit
7cfa9c92d0a3 ("net: sfp: avoid power switch on address-change
modules") unintetionally changed the semantics for high power modules
without the digital diagnostics monitoring. We repeatedly attempt to
read the power status from the non-existing 0xa2 address in a futile
hope this failure is temporary:
[ 8.856051] sfp sfp-eth3: module NTT
0000000000000000 rev 0000 sn
0000000000000000 dc 160408
[ 8.865843] mvpp2
f4000000.ethernet eth3: switched to inband/1000base-x link mode
[ 8.873469] sfp sfp-eth3: Failed to read EEPROM: -5
[ 8.983251] sfp sfp-eth3: Failed to read EEPROM: -5
[ 9.103250] sfp sfp-eth3: Failed to read EEPROM: -5
We previosuly assumed such modules were powered up in the correct mode,
continuing without further configuration as long as the required power
class was supported by the host.
Restore this behaviour, while preserving the intent of subsequent
patches to avoid the "Address Change Sequence not supported" warning
if we are not going to be accessing the DDM address.
Fixes:
7cfa9c92d0a3 ("net: sfp: avoid power switch on address-change modules")
Reported-by: 照山周一郎 <teruyama@springboard-inc.jp>
Tested-by: 照山周一郎 <teruyama@springboard-inc.jp>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Miaoqian Lin [Fri, 14 Jan 2022 06:51:24 +0000 (06:51 +0000)]
gpio: idt3243x: Fix IRQ check in idt_gpio_probe
platform_get_irq() returns negative error number instead 0 on failure.
And the doc of platform_get_irq() provides a usage example:
int irq = platform_get_irq(pdev, 0);
if (irq < 0)
return irq;
Fix the check of return value to catch errors correctly.
Fixes:
4195926aedca ("gpio: Add support for IDT 79RC3243x GPIO controller")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Miaoqian Lin [Fri, 14 Jan 2022 06:48:20 +0000 (06:48 +0000)]
gpio: mpc8xxx: Fix IRQ check in mpc8xxx_probe
platform_get_irq() returns negative error number instead 0 on failure.
And the doc of platform_get_irq() provides a usage example:
int irq = platform_get_irq(pdev, 0);
if (irq < 0)
return irq;
Fix the check of return value to catch errors correctly.
Fixes:
76c47d1449fc ("gpio: mpc8xxx: Add ACPI support")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Christophe JAILLET [Sun, 26 Dec 2021 14:46:21 +0000 (15:46 +0100)]
irqchip/loongson-pch-ms: Use bitmap_free() to free bitmap
kfree() and bitmap_free() are the same. But using the latter is more
consistent when freeing memory allocated with bitmap_zalloc().
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/0b982ab54844803049c217b2899baa59602faacd.1640529916.git.christophe.jaillet@wanadoo.fr
Heiko Carstens [Mon, 17 Jan 2022 12:31:40 +0000 (13:31 +0100)]
s390: add Sven Schnelle as reviewer
Sven Schnelle will help reviewing s390 architecture code.
Acked-by: Sven Schnelle <svens@linux.ibm.com>
Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>
Acked-by: Vasily Gorbik <gor@linux.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Nico Boehr [Tue, 11 Jan 2022 10:00:03 +0000 (11:00 +0100)]
s390/uaccess: introduce bit field for OAC specifier
Previously, we've used magic values to specify the OAC
(operand-access control) for mvcos.
Instead we introduce a bit field for it.
When using a bit field, we cannot use an immediate value with K
constraint anymore, since GCC older than 10 doesn't recognize
the bit field union as a compile time constant.
To make things work with older compilers,
load the OAC value through a register.
Bloat-o-meter reports a slight increase in kernel size with this change:
Total: Before=
15692135, After=
15693015, chg +0.01%
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
Co-developed-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Link: https://lore.kernel.org/r/20220111100003.743116-1-scgl@linux.ibm.com
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Thomas Richter [Thu, 13 Jan 2022 11:51:56 +0000 (12:51 +0100)]
s390/cpumf: Support for CPU Measurement Sampling Facility LS bit
Adds support for the CPU Measurement Sampling Facility limit sampling
bit in the sampling device driver.
Limited samples have no valueable information are not collected.
Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
Acked-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Thomas Richter [Thu, 13 Jan 2022 11:31:16 +0000 (12:31 +0100)]
s390/cpumf: Support for CPU Measurement Facility CSVN 7
Adds support for the CPU Measurement Counter Facility second version
number 7.
Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
Acked-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
David S. Miller [Mon, 17 Jan 2022 13:07:47 +0000 (13:07 +0000)]
Merge branch 'skb-leak-fixes'
Gal Pressman says:
====================
net: Couple of skb memory leak fixes
As discussed in:
https://lore.kernel.org/netdev/
20220102081253.9123-1-gal@nvidia.com/
These are the two followup suggestions from Eric and Jakub.
Patch #1 adds a sk_defer_free_flush() call to the kTLS splice_read
handler.
Patch #2 verifies the defer list is empty on socket destroy, and calls a
defer free flush as well.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Gal Pressman [Mon, 17 Jan 2022 09:27:33 +0000 (11:27 +0200)]
net: Flush deferred skb free on socket destroy
The cited Fixes patch moved to a deferred skb approach where the skbs
are not freed immediately under the socket lock. Add a WARN_ON_ONCE()
to verify the deferred list is empty on socket destroy, and empty it to
prevent potential memory leaks.
Fixes:
f35f821935d8 ("tcp: defer skb freeing after socket lock is released")
Signed-off-by: Gal Pressman <gal@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Gal Pressman [Mon, 17 Jan 2022 09:27:32 +0000 (11:27 +0200)]
net/tls: Fix another skb memory leak when running kTLS traffic
This patch is a followup to
commit
ffef737fd037 ("net/tls: Fix skb memory leak when running kTLS traffic")
Which was missing another sk_defer_free_flush() call in
tls_sw_splice_read().
Fixes:
f35f821935d8 ("tcp: defer skb freeing after socket lock is released")
Signed-off-by: Gal Pressman <gal@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Horatiu Vultur [Mon, 17 Jan 2022 12:53:00 +0000 (13:53 +0100)]
net: ocelot: Fix the call to switchdev_bridge_port_offload
In the blamed commit, the call to the function
switchdev_bridge_port_offload was passing the wrong argument for
atomic_nb. It was ocelot_netdevice_nb instead of ocelot_swtchdev_nb.
This patch fixes this issue.
Fixes:
4e51bf44a03af6 ("net: bridge: move the switchdev object replay helpers to "push" mode")
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sander Vanheule [Sun, 9 Jan 2022 14:54:34 +0000 (15:54 +0100)]
irqchip/realtek-rtl: Service all pending interrupts
Instead of only servicing the lowest pending interrupt line, make sure
all pending SoC interrupts are serviced before exiting the chained
handler. This adds a small overhead if only one interrupt is pending,
but should prevent rapid re-triggering of the handler.
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/5082ad3cb8b4eedf55075561b93eff6570299fe1.1641739718.git.sander@svanheule.net
Sander Vanheule [Sun, 9 Jan 2022 14:54:33 +0000 (15:54 +0100)]
irqchip/realtek-rtl: Fix off-by-one in routing
There is an offset between routing values (1..6) and the connected MIPS
CPU interrupts (2..7), but no distinction was made between these two
values.
This issue was previously hidden during testing, because an interrupt
mapping was used where for each required interrupt another (unused)
routing was configured, with an offset of +1.
Offset the CPU IRQ numbers by -1 to retrieve the correct routing value.
Fixes:
9f3a0f34b84a ("irqchip: Add support for Realtek RTL838x/RTL839x interrupt controller")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/177b920aa8d8610615692d0e657e509f363c85ca.1641739718.git.sander@svanheule.net
Sander Vanheule [Sun, 9 Jan 2022 14:54:32 +0000 (15:54 +0100)]
irqchip/realtek-rtl: Map control data to virq
The driver assigned the irqchip and irq handler to the hardware irq,
instead of the virq. This is incorrect, and only worked because these
irq numbers happened to be the same on the devices used for testing the
original driver.
Fixes:
9f3a0f34b84a ("irqchip: Add support for Realtek RTL838x/RTL839x interrupt controller")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/4b4936606480265db47df152f00bc2ed46340599.1641739718.git.sander@svanheule.net
Marc Zyngier [Sat, 8 Jan 2022 14:01:18 +0000 (14:01 +0000)]
irqchip/apple-aic: Drop unused ipi_hwirq field
This field was never used, remove it.
Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: Hector Martin <marcan@marcan.st>
Link: https://lore.kernel.org/r/20220108140118.3378937-1-maz@kernel.org
Gary Bisson [Wed, 12 Jan 2022 21:16:42 +0000 (22:16 +0100)]
arm64: dts: meson-g12-common: add uart_ao_b pins muxing
- RX/TX signals can be mapped on 2 different pairs of pins so supporting
both options
- RTS/CTS signals however only have 1 option available
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20220112211642.2248901-4-gary.bisson@boundarydevices.com
Gary Bisson [Wed, 12 Jan 2022 21:16:41 +0000 (22:16 +0100)]
arm64: dts: meson-g12-common: add more pwm_f options
Add missing PWM_F pin muxing for GPIOA_11 and GPIOZ_12.
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20220112211642.2248901-3-gary.bisson@boundarydevices.com
Helge Deller [Mon, 17 Jan 2022 09:10:10 +0000 (10:10 +0100)]
parisc: Fix missing prototype for 'toc_intr' warning in toc.c
Fix a missing prototype warning noticed by the kernel test robot.
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Helge Deller <deller@gmx.de>
Helge Deller [Fri, 14 Jan 2022 06:57:20 +0000 (07:57 +0100)]
parisc: Autodetect default output device and set console= kernel parameter
Usually palo (the PA-RISC boot loader) will check at boot time if the
machine/firmware was configured to use the serial line (ttyS0, SERIAL_x)
or the graphical display (tty0, graph) as default output device and add
the correct "console=ttyS0" or "console=tty0" Linux kernel parameter to
the kernel command line when starting the Linux kernel.
But the kernel could also have been started via the HP-UX boot loader
or directly in qemu, in which cases the console parameter is missing.
This patch fixes this problem by adding the correct console= parameter
if it's missing in the current kernel command line.
Signed-off-by: Helge Deller <deller@gmx.de>
Helge Deller [Fri, 14 Jan 2022 06:52:07 +0000 (07:52 +0100)]
parisc: Use safer strscpy() in setup_cmdline()
Signed-off-by: Helge Deller <deller@gmx.de>
Helge Deller [Thu, 13 Jan 2022 15:35:53 +0000 (16:35 +0100)]
video/fbdev/stifb: Implement the stifb_fillrect() function
The stifb driver (for Artist/HCRX graphics on PA-RISC) was missing
the fillrect function.
Tested on a 715/64 PA-RISC machine and in qemu.
Signed-off-by: Helge Deller <deller@gmx.de>
Takashi Iwai [Sun, 16 Jan 2022 08:28:38 +0000 (09:28 +0100)]
ALSA: core: Fix SSID quirk lookup for subvendor=0
Some weird devices set the codec SSID vendor ID 0, and
snd_pci_quirk_lookup_id() loop aborts at the point although it should
still try matching with the SSID device ID. This resulted in a
missing quirk for some old Macs.
Fix the loop termination condition to check both subvendor and
subdevice.
Fixes:
73355ddd8775 ("ALSA: hda: Code refactoring snd_hda_pick_fixup()")
Cc: <stable@vger.kernel.org>
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=215495
Link: https://lore.kernel.org/r/20220116082838.19382-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Linus Torvalds [Mon, 17 Jan 2022 07:53:21 +0000 (09:53 +0200)]
Merge tag '5.17-rc-part1-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6
Pull cifs updates from Steve French:
- multichannel patches mostly related to improving reconnect behavior
- minor cleanup patches
* tag '5.17-rc-part1-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
cifs: fix FILE_BOTH_DIRECTORY_INFO definition
cifs: move superblock magic defitions to magic.h
cifs: Fix smb311_update_preauth_hash() kernel-doc comment
cifs: avoid race during socket reconnect between send and recv
cifs: maintain a state machine for tcp/smb/tcon sessions
cifs: fix hang on cifs_get_next_mid()
cifs: take cifs_tcp_ses_lock for status checks
cifs: reconnect only the connection and not smb session where possible
cifs: add WARN_ON for when chan_count goes below minimum
cifs: adjust DebugData to use chans_need_reconnect for conn status
cifs: use the chans_need_reconnect bitmap for reconnect status
cifs: track individual channel status using chans_need_reconnect
cifs: remove redundant assignment to pointer p
NeilBrown [Sun, 16 Jan 2022 22:07:26 +0000 (09:07 +1100)]
devtmpfs regression fix: reconfigure on each mount
Prior to Linux v5.4 devtmpfs used mount_single() which treats the given
mount options as "remount" options, so it updates the configuration of
the single super_block on each mount.
Since that was changed, the mount options used for devtmpfs are ignored.
This is a regression which affect systemd - which mounts devtmpfs with
"-o mode=755,size=4m,nr_inodes=1m".
This patch restores the "remount" effect by calling reconfigure_single()
Fixes:
d401727ea0d7 ("devtmpfs: don't mix {ramfs,shmem}_fill_super() with mount_single()")
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Mon, 17 Jan 2022 06:48:09 +0000 (08:48 +0200)]
Merge tag 'fbdev-5.17-1' of git://git./linux/kernel/git/deller/linux-fbdev
Pull fbdev maintainership update from Helge Deller:
"The fbdev layer is orphaned, but seems to need some care. So I'd like
to step up as new maintainer"
* tag 'fbdev-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
MAINTAINERS: Add Helge as fbdev maintainer
Linus Torvalds [Mon, 17 Jan 2022 06:27:55 +0000 (08:27 +0200)]
Merge branch 'for-linus' of git://git./linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov:
"Updates to Goodix touchscreen driver (addition of pen support) and
Silead touchscreen driver (also addition of pen support and parsing of
embedded firmware to determine screen size), along with assorted fixes
for other drivers"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: ti_am335x_tsc - fix a typo in a comment
Input: zinitix - add compatible for bt532
Input: zinitix - handle proper supply names
dt-bindings: input/ts/zinitix: Convert to YAML, fix and extend
Input: axp20x-pek - revert "always register interrupt handlers" change
Input: gpio-keys - avoid clearing twice some memory
Input: byd - fix typo in a comment
Input: ucb1400_ts - remove redundant variable penup
Input: ti_am335x_tsc - lower the X and Y sampling time
Input: ti_am335x_tsc - fix STEPCONFIG setup for Z2
Input: ti_am335x_tsc - set ADCREFM for X configuration
Input: silead - add pen support
Input: silead - add support for EFI-embedded fw using different min/max coordinates
Input: goodix - 2 small fixes for pen support
Input: goodix - improve gpiod_get() error logging
Input: goodix - add pen support
Input: ff-core - correct magnitude setting for rumble compatibility
Input: palmas-pwrbutton - make a couple of arrays static const
Input: wacom_i2c - clean up the query device fields
Input: palmas-pwrbutton - use bitfield helpers
Linus Torvalds [Mon, 17 Jan 2022 06:20:28 +0000 (08:20 +0200)]
Merge tag 'i3c/for-5.17' of git://git./linux/kernel/git/i3c/linux
Pull i3c updates from Alexandre Belloni:
"Mostly non urgent fixes and a few improvements (including runtime pm
suport) to the Silvaco driver"
* tag 'i3c/for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
i3c: master: dw: check return of dw_i3c_master_get_free_pos()
i3c: master: mipi-i3c-hci: correct the config reference for endianness
i3c: master: svc: enable the interrupt in the enable ibi function
i3c: master: svc: add the missing module device table
i3c: master: svc: add runtime pm support
i3c: master: svc: set ODSTOP to let I2C device see the STOP signal
i3c: master: svc: add support for slave to stop returning data
i3c: master: svc: separate err, fifo and disable interrupt of reset function
i3c: master: svc: fix atomic issue
i3c: master: svc: move module reset behind clk enable
i3c/master/mipi-i3c-hci: Fix a potentially infinite loop in 'hci_dat_v1_get_index()'
i3c: fix incorrect address slot lookup on 64-bit
i3c/master/mipi-i3c-hci: Prefer kcalloc over open coded arithmetic
i3c/master/mipi-i3c-hci: Prefer struct_size over open coded arithmetic
Linus Torvalds [Mon, 17 Jan 2022 06:14:18 +0000 (08:14 +0200)]
Merge tag 'ntb-5.17' of git://github.com/jonmason/ntb
Pull NTB updates from Jon Mason:
"New AMD PCI ID for NTB, and a number of bug fixes for ntb_hw_switchtec
for Linux v5.17"
* tag 'ntb-5.17' of git://github.com/jonmason/ntb:
ntb_hw_switchtec: Fix a minor issue in config_req_id_table()
ntb_hw_switchtec: Remove code for disabling ID protection
ntb_hw_switchtec: Update the way of getting VEP instance ID
ntb_hw_switchtec: AND with the part_map for a valid tpart_vec
ntb_hw_switchtec: Fix bug with more than 32 partitions
ntb_hw_switchtec: Fix pff ioread to read into mmio_part_cfg_all
ntb_hw_switchtec: fix the spelling of "its"
NTB/msi: Fix ntbm_msi_request_threaded_irq() kernel-doc comment
ntb_hw_amd: Add NTB PCI ID for new gen CPU
Linus Torvalds [Mon, 17 Jan 2022 06:07:57 +0000 (08:07 +0200)]
Merge tag 'linux-watchdog-5.17-rc1' of git://linux-watchdog.org/linux-watchdog
Pull watchdog updates from Wim Van Sebroeck:
- New device support:
- Watchdog Timer driver for RZ/G2L
- Realtek Otto watchdog timer
- Apple SoC watchdog driver
- Fintek F81966
- Remove BCM63XX_WDT after support for this SoC was added to
BCM7038_WDT
- Improvements of the BCM7038_WDT and s3c2410_wdt code
- Several other fixes and improvements
* tag 'linux-watchdog-5.17-rc1' of git://www.linux-watchdog.org/linux-watchdog: (38 commits)
watchdog: msc313e: Check if the WDT was running at boot
watchdog: Add Apple SoC watchdog driver
dt-bindings: watchdog: Add SM6350 and SM8250 compatible
watchdog: s3c2410: Fix getting the optional clock
watchdog: s3c2410: Use platform_get_irq() to get the interrupt
dt-bindings: watchdog: atmel: Add missing 'interrupts' property
watchdog: mtk_wdt: use platform_get_irq_optional
watchdog: Add Watchdog Timer driver for RZ/G2L
dt-bindings: watchdog: renesas,wdt: Add support for RZ/G2L
watchdog: da9063: Add hard dependency on I2C
watchdog: Add Realtek Otto watchdog timer
dt-bindings: watchdog: Realtek Otto WDT binding
watchdog: s3c2410: Add Exynos850 support
watchdog: da9063: use atomic safe i2c transfer in reset handler
watchdog: davinci: Use div64_ul instead of do_div
watchdog: Remove BCM63XX_WDT
MIPS: BCM63XX: Provide platform data to watchdog device
watchdog: bcm7038_wdt: Add platform device id for bcm63xx-wdt
watchdog: Allow building BCM7038_WDT for BCM63XX
watchdog: bcm7038_wdt: Support platform data configuration
...
Linus Torvalds [Mon, 17 Jan 2022 06:00:56 +0000 (08:00 +0200)]
Merge branch 'for-5.17' of git://git./linux/kernel/git/jlawall/linux
Pull coccinelle updates from Julia Lawall:
"Remove some semantic patches and remove a maintainer.
Qing Wang <wangqing@vivo.com> reported that fen.cocci mostly finds
false positives, so it is dropped.
scripts/coccinelle/iterators/for_each_child.cocci also subsumes it, in
a more correct way.
Matthew Wilcox <willy@infradead.org> reported that bugon.cocci mostly
gives false positives. It is an old script and was designed to be
inaccurate to maximally cover problems, but most of what it is useful
for has been done already.
Gilles Muller passed away and is thus dropped from the maintainers
list"
* 'for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux:
drop fen.cocci
scripts/coccinelle: drop bugon.cocci
MAINTAINERS: remove Gilles Muller
Linus Torvalds [Mon, 17 Jan 2022 05:32:51 +0000 (07:32 +0200)]
Merge branch 'modules-next' of git://git./linux/kernel/git/mcgrof/linux
Pull module updates from Luis Chamberlain:
"The biggest change here is in-kernel support for module decompression.
This change is being made to help support LSMs like LoadPin as
otherwise it loses link between the source of kernel module on the
disk and binary blob that is being loaded into the kernel.
kmod decompression is still done by userspace even with this is done,
both because there are no measurable gains in not doing so and as it
adds a secondary extra check for validating the module before loading
it into the kernel.
The rest of the changes are minor, the only other change worth
mentionin there is Jessica Yu is now bowing out of maintenance of
modules as she's taking a break from work.
While there were other changes posted for modules, those have not yet
received much review of testing so I'm not yet comfortable in merging
any of those changes yet."
* 'modules-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
module: fix signature check failures when using in-kernel decompression
kernel: Fix spelling mistake "compresser" -> "compressor"
MAINTAINERS: add mailing lists for kmod and modules
module.h: allow #define strings to work with MODULE_IMPORT_NS
module: add in-kernel support for decompressing
MAINTAINERS: Remove myself as modules maintainer
module: Remove outdated comment
Linus Torvalds [Mon, 17 Jan 2022 05:26:43 +0000 (07:26 +0200)]
unicode: fix .gitignore for generated utfdata file
Commit
2b3d04787012 ("unicode: Add utf8-data module") changed the
generated utf8data file from 'utf8data.h' to 'utf8data.c', but didn't
change the comments or the .gitignore to match.
The comments should be updated too, but at least they don't cause any
visible breakage. But the gitignore file needs changing to avoid git
complaining about untracked files.
Fixes:
2b3d04787012 ("unicode: Add utf8-data module")
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Mon, 17 Jan 2022 03:49:30 +0000 (05:49 +0200)]
Merge branch 'signal-for-v5.17' of git://git./linux/kernel/git/ebiederm/user-namespace
Pull signal/exit/ptrace updates from Eric Biederman:
"This set of changes deletes some dead code, makes a lot of cleanups
which hopefully make the code easier to follow, and fixes bugs found
along the way.
The end-game which I have not yet reached yet is for fatal signals
that generate coredumps to be short-circuit deliverable from
complete_signal, for force_siginfo_to_task not to require changing
userspace configured signal delivery state, and for the ptrace stops
to always happen in locations where we can guarantee on all
architectures that the all of the registers are saved and available on
the stack.
Removal of profile_task_ext, profile_munmap, and profile_handoff_task
are the big successes for dead code removal this round.
A bunch of small bug fixes are included, as most of the issues
reported were small enough that they would not affect bisection so I
simply added the fixes and did not fold the fixes into the changes
they were fixing.
There was a bug that broke coredumps piped to systemd-coredump. I
dropped the change that caused that bug and replaced it entirely with
something much more restrained. Unfortunately that required some
rebasing.
Some successes after this set of changes: There are few enough calls
to do_exit to audit in a reasonable amount of time. The lifetime of
struct kthread now matches the lifetime of struct task, and the
pointer to struct kthread is no longer stored in set_child_tid. The
flag SIGNAL_GROUP_COREDUMP is removed. The field group_exit_task is
removed. Issues where task->exit_code was examined with
signal->group_exit_code should been examined were fixed.
There are several loosely related changes included because I am
cleaning up and if I don't include them they will probably get lost.
The original postings of these changes can be found at:
https://lkml.kernel.org/r/87a6ha4zsd.fsf@email.froward.int.ebiederm.org
https://lkml.kernel.org/r/87bl1kunjj.fsf@email.froward.int.ebiederm.org
https://lkml.kernel.org/r/87r19opkx1.fsf_-_@email.froward.int.ebiederm.org
I trimmed back the last set of changes to only the obviously correct
once. Simply because there was less time for review than I had hoped"
* 'signal-for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (44 commits)
ptrace/m68k: Stop open coding ptrace_report_syscall
ptrace: Remove unused regs argument from ptrace_report_syscall
ptrace: Remove second setting of PT_SEIZED in ptrace_attach
taskstats: Cleanup the use of task->exit_code
exit: Use the correct exit_code in /proc/<pid>/stat
exit: Fix the exit_code for wait_task_zombie
exit: Coredumps reach do_group_exit
exit: Remove profile_handoff_task
exit: Remove profile_task_exit & profile_munmap
signal: clean up kernel-doc comments
signal: Remove the helper signal_group_exit
signal: Rename group_exit_task group_exec_task
coredump: Stop setting signal->group_exit_task
signal: Remove SIGNAL_GROUP_COREDUMP
signal: During coredumps set SIGNAL_GROUP_EXIT in zap_process
signal: Make coredump handling explicit in complete_signal
signal: Have prepare_signal detect coredumps using signal->core_state
signal: Have the oom killer detect coredumps using signal->core_state
exit: Move force_uaccess back into do_exit
exit: Guarantee make_task_dead leaks the tsk when calling do_task_exit
...