Add a btf_get_from_fd() helper, which constructs struct btf from in-kernel BTF
data by FD. This is used for loading module BTFs.
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20201203204634.1325171-4-andrii@kernel.org
Having real btf_data_size stored in struct module is benefitial to quickly
determine which kernel modules have associated BTF object and which don't.
There is no harm in keeping this info, as opposed to keeping invalid pointer.
Fixes: 607c543f93 ("bpf: Sanitize BTF data pointer after module is loaded")
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20201203204634.1325171-3-andrii@kernel.org
__module_address() needs to be called with preemption disabled or with
module_mutex taken. preempt_disable() is enough for read-only uses, which is
what this fix does. Also, module_put() does internal check for NULL, so drop
it as well.
Fixes: a38d1107f9 ("bpf: support raw tracepoints in modules")
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Link: https://lore.kernel.org/bpf/20201203204634.1325171-2-andrii@kernel.org
Prankur gupta says:
====================
This patch contains support to set tcp window_field field from bpf setsockops.
v2: Used TCP_WINDOW_CLAMP setsockopt logic for bpf_setsockopt (review comment addressed)
v3: Created a common function for duplicated code (review comment addressed)
v4: Removing logic to pass struct sock and struct tcp_sock together (review comment addressed)
====================
Acked-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Adds a new bpf_setsockopt for TCP sockets, TCP_BPF_WINDOW_CLAMP,
which sets the maximum receiver window size. It will be useful for
limiting receiver window based on RTT.
Signed-off-by: Prankur gupta <prankgup@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20201202213152.435886-2-prankgup@fb.com
- Code cleanups and error code path at init time fixes on the sp804
(Kefen Wang)
- Add new OST timer driver device tree bindings (Zhou Yanjie)
- Remove EZChip NPS clocksource driver corresponding to the NPS
platform which was removed from the ARC architecture (Vineet Gupta)
- Add missing clk_disable_unprepare() on error path for Orion (Yang
Yingliang)
- Add device tree bindings documentation for Renesas r8a774e1
(Marian-Cristian Rotariu)
- Convert Renesas TMU to json-schema (Geert Uytterhoeven)
- Fix memory leak on the error path at init time on the cadence_ttc
driver (Yu Kuai)
- Fix section mismatch for Ingenic timer driver (Daniel Lezcano)
- Make RISCV_TIMER depends on RISCV_SBI (Kefeng Wang)
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEGn3N4YVz0WNVyHskqDIjiipP6E8FAl/JOi0ACgkQqDIjiipP
6E+tWQf+J+z4jPuzEgcGHk+SzaR9rwTpz8+kEmHBFefDVVEIdarAtgtNqOLsdkwM
uLvbNI7KX2wrXEXH1tK2SYTOO0iRHKAchROucA0CxTUdOoCFguGEXjimlq0EzZ9N
xq3uAd2joJ7HZKhVrKXaB2tPa/QuuX+T0GOLmzKWNN44fD+tIGCsLmu1+/vgypu1
4OTnHb+ps+O99ZqZnpNM8sDd0zJ4dTQj1ptNtys8yhs5nBDXOXHGknLYxFyd0oZP
p5DlIUZsD3OfY2qRnh1rPhTU61IW0R3V2nq3PfJy3h5DZm/5+XkL4CTG51Ef01UX
N+EAiyW1pnfStDiaa0UIu6JKzIsbuA==
=hVIS
-----END PGP SIGNATURE-----
Merge tag 'timers-v5.11' of https://git.linaro.org/people/daniel.lezcano/linux into timers/core
Pull clocksource/event driver updates from Daniel Lezcano:
- Add static annotation for the sp804 init functions (Zhen Lei)
- Code cleanups and error code path at init time fixes on the sp804
(Kefen Wang)
- Add new OST timer driver device tree bindings (Zhou Yanjie)
- Remove EZChip NPS clocksource driver corresponding to the NPS
platform which was removed from the ARC architecture (Vineet Gupta)
- Add missing clk_disable_unprepare() on error path for Orion (Yang
Yingliang)
- Add device tree bindings documentation for Renesas r8a774e1
(Marian-Cristian Rotariu)
- Convert Renesas TMU to json-schema (Geert Uytterhoeven)
- Fix memory leak on the error path at init time on the cadence_ttc
driver (Yu Kuai)
- Fix section mismatch for Ingenic timer driver (Daniel Lezcano)
- Make RISCV_TIMER depends on RISCV_SBI (Kefeng Wang)
Link: https://lore.kernel.org/r/028084fa-d29b-a1d5-7eab-17f77ef69863@linaro.org
The device is being unplugged, so pass the request to userspace to
ask for a graceful cleanup. This should free up the thread that
would otherwise loop waiting for the device to be fully released.
Signed-off-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
While performing some destructive tests with vfio-ccw, where the
paths to a device are forcible removed and thus the device itself
is unreachable, it is rather easy to end up in an endless loop in
vfio_del_group_dev() due to the lack of a request callback for the
associated device.
In this example, one MDEV (77c) is used by a guest, while another
(77b) is not. The symptom is that the iommu is detached from the
mdev for 77b, but not 77c, until that guest is shutdown:
[ 238.794867] vfio_ccw 0.0.077b: MDEV: Unregistering
[ 238.794996] vfio_mdev 11f2d2bc-4083-431d-a023-eff72715c4f0: Removing from iommu group 2
[ 238.795001] vfio_mdev 11f2d2bc-4083-431d-a023-eff72715c4f0: MDEV: detaching iommu
[ 238.795036] vfio_ccw 0.0.077c: MDEV: Unregistering
...silence...
Let's wire in the request call back to the mdev device, so that a
device being physically removed from the host can be (gracefully?)
handled by the parent device at the time the device is removed.
Add a message when registering the device if a driver doesn't
provide this callback, so a clue is given that this same loop
may be encountered in a similar situation, and a message when
this occurs instead of the awkward silence noted above.
Signed-off-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
When mounting with "idsfromsid" mount option, Azure
corrupted the owner SIDs due to excessive padding
caused by placing the owner fields at the end of the
security descriptor on create. Placing owners at the
front of the security descriptor (rather than the end)
is also safer, as the number of ACEs (that follow it)
are variable.
Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Suggested-by: Rohith Surabattula <rohiths@microsoft.com>
CC: Stable <stable@vger.kernel.org> # v5.8
Signed-off-by: Steve French <stfrench@microsoft.com>
In some scenarios (DFS and BAD_NETWORK_NAME) set_root_set() can be
called with a NULL ses->tcon_ipc.
Signed-off-by: Aurelien Aptel <aaptel@suse.com>
Reviewed-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
CC: Stable <stable@vger.kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
For an operation compounded with an SMB2 CREATE request, client must set
COMPOUND_FID(0xFFFFFFFFFFFFFFFF) to FileID field of smb2 ioctl.
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Fixes: 2e4564b31b ("smb3: add support stat of WSL reparse points for special file types")
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Changeset 6b80975c63 ("scripts: kernel-doc: fix typedef parsing")
added support for things like:
typedef unsigned long foo();
However, it caused a regression on this prototype:
typedef bool v4l2_check_dv_timings_fnc(const struct v4l2_dv_timings *t, void *handle);
This is only noticed after adding a patch that checks if the
kernel-doc identifier matches the typedef:
./scripts/kernel-doc -none $(git grep '^.. kernel-doc::' Documentation/ |cut -d ' ' -f 3|sort|uniq) 2>&1|grep expecting
include/media/v4l2-dv-timings.h:38: warning: expecting prototype for typedef v4l2_check_dv_timings_fnc. Prototype was for typedef nc instead
The problem is that, with the new parsing logic, it is not
checking for complete words at the type part.
Fix it by adding a \b at the end of each type word at the
regex.
fixes: 6b80975c63 ("scripts: kernel-doc: fix typedef parsing")
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/218ff56dcb8e73755005d3fb64586eb1841a276b.1606896997.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Fix four typos in kcov.rst, sphinx.rst, clang-format.rst, and embargoed-hardware-issues.rst
Signed-off-by: Andrew Klychkov <andrew.a.klychkov@gmail.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Miguel Ojeda <ojeda@kernel.org>
Link: https://lore.kernel.org/r/20201202075438.GA35516@spblnx124.lan
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Fix two typos in kernel-docs.rst
Signed-off-by: Andrew Klychkov <andrew.a.klychkov@gmail.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Link: https://lore.kernel.org/r/20201202074938.GA35075@spblnx124.lan
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Change wording to say that messages are logged to the kernel log
buffer instead of to dmesg. dmesg is just one program that can
print the kernel log buffer.
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: David Howells <dhowells@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Link: https://lore.kernel.org/r/20201202012409.19194-1-rdunlap@infradead.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Support for periodic tick interrupts has been moved from the RTC class to
the HR-timers long time ago. Then it has been removed from this driver by
commits 80d4bb515b ("RTC: Cleanup rtc_class_ops->irq_set_state") and
696160fec1 ("RTC: Cleanup rtc_class_ops->irq_set_freq()"). They however
did not remove all the code related to the tick handling. Do it now then.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201202111318.5353-2-m.szyprowski@samsung.com
Bootloader might use RTC hardware and leave it in the enabled state. Ensure
that the potentially enabled periodic tick interrupts are disabled before
enabling the driver, because they might cause lockup if tick interrupt
happens after disabling RTC gate clock.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201202111318.5353-1-m.szyprowski@samsung.com
Modify Coccinelle documentation to clarify usage of make command to
run coccicheck on a folder.
Changes in v2:
- Give example of folder instead of file
- Add note
Signed-off-by: Sumera Priyadarsini <sylphrenadin@gmail.com>
Link: https://lore.kernel.org/r/20201126075730.w6brpeuviefmsxhl@adolin
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
There's no real reason it should be disabled, and at least we can
use it for development & testing with the RTC test driver.
However, two devices are missing a HAS_IOMEM dependency, so add
that to avoid build failures from e.g. allyesconfig.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201120211103.6895ac740d11.Ic19a9926e8e4c70c03329e55f9e5b1d45095b904@changeid
Add support for the same output format as the bash script,
and use its implementation instead of the previous one.
I opted to do such patch in order to have a single script
responsible for parsing Documentation/features and
produce different outputs.
As someone may rely on the past format, which is easy
to parse it, get_feat.pl now gains a new command with
the same output format as the previous script.
As a side effect, the perl script is a lot faster, as it reads
each file only once, instead of parsing files several times
via a for command and grep commands inside it.
This patch also changes the features list order to be
case-insensitive, in order to better match the output of
the existing script.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/a97f49677805ad4e6b982d02c0db8c9dfbbd20a6.1606748711.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
The Documentation/features contains a set of parseable files.
It is not worth converting them to ReST format, as they're
useful the way it is. It is, however, interesting to parse
them and produce output on different formats:
1) Output the contents of a feature in ReST format;
2) Output what features a given architecture supports;
3) Output a matrix with features x architectures.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/8b0c1ad06d689283a6d78c4ccd188a02c3acc0de.1606748711.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
v2: Fix some missing Sign offs from me that Greg found in v1.
Includes low priority/late breaking/long standing bug fixes.
Note this includes the last few patches that were listed in the description
for the previous pull request but weren't actually in the PULL.
New devices support
* bosch,bmc150-accel
- Support for BMA222, including adding binding doc that was previously
missing.
* st,lsm6dsx
- Support LSM6DSOP accelerometer + gyroscope sensor.
yaml-conversions by manufacturer
* core
- adc
- iio-binding (drop as now in dt-schema)
- temperature (drop as not clear it is generic)
* generic (no specific manufacturer)
- dpot-dac
- current-sense-amplifier
- current-sense-shunt
- envelope-detector
- voltage-divider
* adi,ad5592r adi,ad7124 adi,ad7292 adi,adf4350
* atmel,sama9260-adc
* bosch,bma180 bosch,bmg180
* brcm,iproc-static-adc
* capella,cm3605
* fsl,mma8452
* kionix,kxcjk1013
* maxim,max1027 (from trivial)
* mediatek,mt2701-auxdac
* microchip,mcp4531 (from trivial)
* qcom,pm8018-adc qcom,spi-iadc
* st,st-sensors
* ti,ads124s08 ti,afe4403 ti,afe4404 ti,lmp91000 ti,palmas-gpadc
Features
* bosch,bmc150
- Handle unusual ACPI binding where two devices are provided in a single
ACPI device (BOSC0200).
- ACPI based mount matrix handling
* st,hts221
- regulator control
* st,lsm6dsx
- regulator control
Cleanup + minor fixes
* core
- Reduce duplication in iio_format_avail_{list,range}() and iio_format_list()
- Fix an issue in the demux update code that could lead to misaligned data.
Possible no existing driver hits this. Been there a very long time with
no bug reports.
- Improve iio_map_array_register() error handling.
- Avoid polling driver again if try_reenable() callback returns non 0.
Only users of this were bugs so also drop the return value.
* core/cb_buffer
- Return an error if no callback provided (include adding a dummy for one
unusual case where no callback is valid).
* trigger/hrtimer-trig, sysfs-trig
- Fix an issue seen with PREEMPT_RT by marking irq_work as expiring in hard
interrupt context.
* adi,ad_sigma_delta library
- Avoid putting SPI transfer buffers on stack for DMA safety reasons
* adi,ad5272
- Fix discrepancy in polarity of reset line between binding documentation
(which was right) and driver.
* adi,ad7298
- Use devm for all of probe
* atmel,at91_adc
- Drop at91_adc_ids as only support DT probe
- Simplify resolution selection and bindings
- Drop binding for triggers and move into driver based on compatible.
- Merge at91_adc_probe_dt() into main at91_adc_probe()
* bosch,bmc150
- Drop unused structure member.
* bosch,bmi160
- Fix overly long buffer due to wrong channel count.
- Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
* fsl,mag3110
- Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
* fsl,mpl3115
- Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
* invn,mpu3050
- Use 64 bit local variable and FIELD_GET to simplify code that extracts
values from OTP.
* qcom,spmi-vadc
- Drop wrong use of io-channel-ranges in binding doc.
* rockchip,saradc
- Fix a missing clk_disable_unprepare() in an error path.
* rohm,rpr0521
- Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
* samsung,exynos-adc
- Drop wrong use of io-channel-ranges in binding doc.
* st,lsm6dsx
- Reduce duplication in the chip model specific tables.
- Fix an issue with missed edge-interrupts that can occur when using
the FIFO.
* st,uvis21
- Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
* ti,adc084s021
- Tidy up endian types to clear a warning.
* ti,ads124s08
- Fix too long a buffer.
- Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
Counter
* microchip,tcb-counter
- Add Kamel Bouhara to MAINTAINERS
- Fix CMR value check
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEbilms4eEBlKRJoGxVIU0mcT0FogFAl/JP7cRHGppYzIzQGtl
cm5lbC5vcmcACgkQVIU0mcT0FojIDRAAgm7Evn9xropmg1LY3GdPuaEXrK3PMTCK
l2/YQSbtb2LMMNUgFCPypuxXnPDaASNY/iORQACZ2bPyO89I1F8cZjFK214G8uRb
YuVP60/j1qRbT42LmgNH+mPz5ANseguDcz63/RIcXYXrIADJqpfPUHPSsgv9asGF
a1aKhn7G3z17DUSAQKNhYkXQ1O1ojwTaXNPPklfV0+G6oJJ6zD7/jNCQh+KxZPXo
GNLaSJh2jHNqrSPhScQeB6RMy6GEAF8PMYHK38A6S/UldO8YuuZLeRGqWKaC1v9j
67CuDVwkGZ2NHpv4/aU3wUGYbxU2sPpF9HZLiqxCkFOlhMK00XM3susMndjkdApT
gB2KuhMIRDjsoE/GievcZxwCGuWvnO7A47lk6hLbFGzxRzzr8qZ44e4VT0/4jPD9
NkqDrF0/u1WqdLPkD7vFMT0FjKhXaeIYxpNmD9z6HiUdFHgFwrrd2d58mEGP4EKt
YVlGd3tZh4giP56W30Yd96fk5B5JtLr33mXk9+9aOJa+tMI6rPLHgCPm2AklVeMF
7ZtG+1so1AdXAyDeeBw9f0nyjikcIfTEMrwxd223QKH7q9SYQ6UCuj6UqOp1laQK
OKAPVTouPrgjSf4pRbwU0LETjMj9qIpSPhMSQ2xVYU5dgzj5TvtYe/Ew+oFqd7nQ
GpBgXmyjnL0=
=1uz5
-----END PGP SIGNATURE-----
Merge tag 'iio-for-5.11b-take2' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes:
2nd set of IIO device support, features, cleanups and yaml conversions for 5.11
v2: Fix some missing Sign offs from me that Greg found in v1.
Includes low priority/late breaking/long standing bug fixes.
Note this includes the last few patches that were listed in the description
for the previous pull request but weren't actually in the PULL.
New devices support
* bosch,bmc150-accel
- Support for BMA222, including adding binding doc that was previously
missing.
* st,lsm6dsx
- Support LSM6DSOP accelerometer + gyroscope sensor.
yaml-conversions by manufacturer
* core
- adc
- iio-binding (drop as now in dt-schema)
- temperature (drop as not clear it is generic)
* generic (no specific manufacturer)
- dpot-dac
- current-sense-amplifier
- current-sense-shunt
- envelope-detector
- voltage-divider
* adi,ad5592r adi,ad7124 adi,ad7292 adi,adf4350
* atmel,sama9260-adc
* bosch,bma180 bosch,bmg180
* brcm,iproc-static-adc
* capella,cm3605
* fsl,mma8452
* kionix,kxcjk1013
* maxim,max1027 (from trivial)
* mediatek,mt2701-auxdac
* microchip,mcp4531 (from trivial)
* qcom,pm8018-adc qcom,spi-iadc
* st,st-sensors
* ti,ads124s08 ti,afe4403 ti,afe4404 ti,lmp91000 ti,palmas-gpadc
Features
* bosch,bmc150
- Handle unusual ACPI binding where two devices are provided in a single
ACPI device (BOSC0200).
- ACPI based mount matrix handling
* st,hts221
- regulator control
* st,lsm6dsx
- regulator control
Cleanup + minor fixes
* core
- Reduce duplication in iio_format_avail_{list,range}() and iio_format_list()
- Fix an issue in the demux update code that could lead to misaligned data.
Possible no existing driver hits this. Been there a very long time with
no bug reports.
- Improve iio_map_array_register() error handling.
- Avoid polling driver again if try_reenable() callback returns non 0.
Only users of this were bugs so also drop the return value.
* core/cb_buffer
- Return an error if no callback provided (include adding a dummy for one
unusual case where no callback is valid).
* trigger/hrtimer-trig, sysfs-trig
- Fix an issue seen with PREEMPT_RT by marking irq_work as expiring in hard
interrupt context.
* adi,ad_sigma_delta library
- Avoid putting SPI transfer buffers on stack for DMA safety reasons
* adi,ad5272
- Fix discrepancy in polarity of reset line between binding documentation
(which was right) and driver.
* adi,ad7298
- Use devm for all of probe
* atmel,at91_adc
- Drop at91_adc_ids as only support DT probe
- Simplify resolution selection and bindings
- Drop binding for triggers and move into driver based on compatible.
- Merge at91_adc_probe_dt() into main at91_adc_probe()
* bosch,bmc150
- Drop unused structure member.
* bosch,bmi160
- Fix overly long buffer due to wrong channel count.
- Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
* fsl,mag3110
- Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
* fsl,mpl3115
- Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
* invn,mpu3050
- Use 64 bit local variable and FIELD_GET to simplify code that extracts
values from OTP.
* qcom,spmi-vadc
- Drop wrong use of io-channel-ranges in binding doc.
* rockchip,saradc
- Fix a missing clk_disable_unprepare() in an error path.
* rohm,rpr0521
- Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
* samsung,exynos-adc
- Drop wrong use of io-channel-ranges in binding doc.
* st,lsm6dsx
- Reduce duplication in the chip model specific tables.
- Fix an issue with missed edge-interrupts that can occur when using
the FIFO.
* st,uvis21
- Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
* ti,adc084s021
- Tidy up endian types to clear a warning.
* ti,ads124s08
- Fix too long a buffer.
- Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
Counter
* microchip,tcb-counter
- Add Kamel Bouhara to MAINTAINERS
- Fix CMR value check
* tag 'iio-for-5.11b-take2' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (80 commits)
iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume
iio: imu: st_lsm6dsx: fix edge-trigger interrupts
counter: microchip-tcb-capture: Fix CMR value check
iio: sysfs-trigger: Mark irq_work to expire in hardirq context
iio: hrtimer-trigger: Mark hrtimer to expire in hard interrupt context
iio: accel: bmc150: Get mount-matrix from ACPI
iio: accel: bmc150: Check for a second ACPI device for BOSC0200
iio: accel: bmc150: Removed unused bmc150_accel_dat irq member
iio:gyro:mpu3050 Treat otp value as a __le64 and use FIELD_GET() to break up
iio:adc:ti-ads124s08: Fix alignment and data leak issues.
iio:adc:ti-ads124s08: Fix buffer being too long.
iio:pressure:mpl3115: Force alignment of buffer
iio:imu:bmi160: Fix alignment and data leak issues
iio:imu:bmi160: Fix too large a buffer.
iio:magnetometer:mag3110: Fix alignment and data leak issues.
iio:light:st_uvis25: Fix timestamp alignment and prevent data leak.
iio:light:rpr0521: Fix timestamp alignment and prevent data leak.
iio:adc:ti-adc084s021 Tidy up endian types
iio:trigger: rename try_reenable() to reenable() plus return void
iio: Fix: Do not poll the driver again if try_reenable() callback returns non 0.
...
Florian Westphal says:
====================
mptcp: reject invalid mp_join requests right away
At the moment MPTCP can detect an invalid join request (invalid token,
max number of subflows reached, and so on) right away but cannot reject
the connection until the 3WHS has completed.
Instead the connection will complete and the subflow is reset afterwards.
To send the reset most information is already available, but we don't have
good spot where the reset could be sent:
1. The ->init_req callback is too early and also doesn't allow to return an
error that could be used to inform the TCP stack that the SYN should be
dropped.
2. The ->route_req callback lacks the skb needed to send a reset.
3. The ->send_synack callback is the best fit from the available hooks,
but its called after the request socket has been inserted into the queue
already. This means we'd have to remove it again right away.
From a technical point of view, the second hook would be best:
1. Its before insertion into listener queue.
2. If it returns NULL TCP will drop the packet for us.
Problem is that we'd have to pass the skb to the function just for MPTCP.
Paolo suggested to merge init_req and route_req callbacks instead:
This makes all info available to MPTCP -- a return value of NULL drops the
packet and MPTCP can send the reset if needed.
Because 'route_req' has a 'const struct sock *', this means either removal
of const qualifier, or a bit of code churn to pass 'const' in security land.
This does the latter; I did not find any spots that need write access to struct
sock.
To recap, the two alternatives are:
1. Solve it entirely in MPTCP: use the ->send_synack callback to
unlink the request socket from the listener & drop it.
2. Avoid 'security' churn by removing the const qualifier.
====================
Link: https://lore.kernel.org/r/20201130153631.21872-1-fw@strlen.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
RFC 8684 says:
If the token is unknown or the host wants to refuse subflow establishment
(for example, due to a limit on the number of subflows it will permit),
the receiver will send back a reset (RST) signal, analogous to an unknown
port in TCP, containing an MP_TCPRST option (Section 3.6) with an
"MPTCP specific error" reason code.
mptcp-next doesn't support MP_TCPRST yet, this can be added in another
change.
Signed-off-by: Florian Westphal <fw@strlen.de>
Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
The Multipath-TCP standard (RFC 8684) says that an MPTCP host should send
a TCP reset if the token in a MP_JOIN request is unknown.
At this time we don't do this, the 3whs completes and the 'new subflow'
is reset afterwards. There are two ways to allow MPTCP to send the
reset.
1. override 'send_synack' callback and emit the rst from there.
The drawback is that the request socket gets inserted into the
listeners queue just to get removed again right away.
2. Send the reset from the 'route_req' function instead.
This avoids the 'add&remove request socket', but route_req lacks the
skb that is required to send the TCP reset.
Instead of just adding the skb to that function for MPTCP sake alone,
Paolo suggested to merge init_req and route_req functions.
This saves one indirection from syn processing path and provides the skb
to the merged function at the same time.
'send reset on unknown mptcp join token' is added in next patch.
Suggested-by: Paolo Abeni <pabeni@redhat.com>
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
A followup change to tcp_request_sock_op would have to drop the 'const'
qualifier from the 'route_req' function as the
'security_inet_conn_request' call is moved there - and that function
expects a 'struct sock *'.
However, it turns out its also possible to add a const qualifier to
security_inet_conn_request instead.
Signed-off-by: Florian Westphal <fw@strlen.de>
Acked-by: James Morris <jamorris@linux.microsoft.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Set up all the parameters required for SMU fan control if supported.
Bug: https://bugzilla.kernel.org/show_bug.cgi?id=201539
Acked-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
The function name at kernel-doc markup doesn't match the name
of the function:
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c:1534: warning: expecting prototype for amdgpu_debugfs_print_bo_info(). Prototype was for amdgpu_bo_print_info() instead
Fix it.
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
CAN0 and CAN1 instances share the same message ram configured
at 0x210000 on sama5d2 Linux systems.
According to current configuration of CAN0, we need 0x1c00 bytes
so that the CAN1 don't overlap its message ram:
64 x RX FIFO0 elements => 64 x 72 bytes
32 x TXE (TX Event FIFO) elements => 32 x 8 bytes
32 x TXB (TX Buffer) elements => 32 x 72 bytes
So a total of 7168 bytes (0x1C00).
Fix offset to match this needed size.
Make the CAN0 message ram ioremap match exactly this size so that is
easily understandable. Adapt CAN1 size accordingly.
Fixes: bc6d5d7666 ("ARM: dts: at91: sama5d2: add m_can nodes")
Reported-by: Dan Sneddon <dan.sneddon@microchip.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Tested-by: Cristian Birsan <cristian.birsan@microchip.com>
Cc: stable@vger.kernel.org # v4.13+
Link: https://lore.kernel.org/r/20201203091949.9015-1-nicolas.ferre@microchip.com
Due to strobe signal not being propagated from CPU to securam
the securam needs to be mapped as device or strongly ordered memory
to work properly. Otherwise, updating to one offset may affect
the adjacent locations in securam.
Fixes: d4ce5f44d4 ("ARM: dts: at91: sama5d2: Add securam node")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/1606903025-14197-3-git-send-email-claudiu.beznea@microchip.com
atmel,osc-bypass property sets the bit 1 at main oscillator register.
On SAM9X60 this bit is not valid according to datasheet (chapter
28.16.9 PMC Clock Generator Main Oscillator Register).
Fixes: 1e5f532c27 ("ARM: dts: at91: sam9x60: add device tree for soc and board")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Cc: Marco Cardellini <marco.cardellini@microchip.com>
Link: https://lore.kernel.org/r/1606903025-14197-2-git-send-email-claudiu.beznea@microchip.com
Commit 2024b130b0 ("ARM: dts: exynos: Add Ethernet to Artik 5 board")
added ethernet chip on SPI0 bus and the whole bunch of assigned clock
entries to ensure proper clock rates and topology. Limit the assigned
clock parents only to the direct clocks of the SPI0 device and assume
that MPLL clock is already properly configured.
The applied clock topology was incorrect as some clocks between were
missing, what resulted in the following warning:
clk: failed to reparent div_mpll_pre to mout_mpll: -22
Fixes: 2024b130b0 ("ARM: dts: exynos: Add Ethernet to Artik 5 board")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20201202122029.22198-1-m.szyprowski@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
My patch caused kernel Oopses and delays in boot. Revert it.
The problem was that I moved the "mem->dma = paddr;" before the call to
be_fill_queue(). But the first thing that the be_fill_queue() function
does is memset the whole struct to zero which overwrites the assignment.
Link: https://lore.kernel.org/r/X8jXkt6eThjyVP1v@mwanda
Fixes: 38b2db564d ("scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs()")
Cc: stable <stable@vger.kernel.org>
Reported-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Expand the driver to support I2C_SMBUS_BLOCK_PROC_CALL since
HW supports it already.
Co-developed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mario Alejandro Posso Escobar <mario.posso.escobar@intel.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Since commit 7723f4c5ec ("driver core: platform: Add an error message to
platform_get_irq*()"), platform_get_irq() will call dev_err() on an error.
In case of i2c ocores this leads to a false-positive error being logged:
[ 4.173989] 007: ocores-i2c ocores-i2c: IRQ index 0 not found
i2c ocores already handles the case when the IRQ cannot be found and
therefore there is no benefit in having this error message being logged.
This commit switches to platform_get_irq_optional(), which does not log
in case the IRQ cannot be found.
Signed-off-by: Stefan Lässer <stefan.laesser@omicronenergy.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
A combination of recent bug fixes by Doug Anderson and the proper
definition of iommu streams means that this hack is no longer needed.
Let's clean up the code by reverting '127068abe85b ("i2c: qcom-geni:
Disable DMA processing on the Lenovo Yoga C630")'.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Caleb Connolly <caleb@connolly.tech>
Tested-by: Steev Klimaszewski <steev@kali.org>
Reviewed-by: Akash Asthana <akashast@codeaurora.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
This object lives inside the trunner output dir,
i.e. tools/testing/selftests/bpf/no_alu32/btf_data.o
At some point it gets copied into the parent directory during another
part of the build, but that doesn't happen when building
test_progs-no_alu32 from clean.
Signed-off-by: Brendan Jackman <jackmanb@google.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Link: https://lore.kernel.org/bpf/20201203120850.859170-1-jackmanb@google.com
I've seen a situation, where a process that's under pprof constantly
generates SIGPROF which prevents program loading indefinitely.
The right thing to do probably is to disable signals in the upper
layers while loading, but it still would be nice to get some error from
libbpf instead of an endless loop.
Let's add some small retry limit to the program loading:
try loading the program 5 (arbitrary) times and give up.
v2:
* 10 -> 5 retires (Andrii Nakryiko)
Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20201202231332.3923644-1-sdf@google.com
- fix logical vs physical CPU address confusion in PCI code
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEECMNfWEw3SLnmiLkZIg7DeRspbsIFAl/JNlgACgkQIg7DeRsp
bsKdgA//TQrq8oN33N/kCGcqLqXito9c5hLVUDapGYvBF9eJmjDoWPYJln6y8yRa
PUmzH2ONKyJNXbbPrj8/YP2qYwUZ/gL5ehussdxNU57ZQ7+uX20GrXjTsjIJFO/T
X2EXhk79iBfO0rbayZvxEJZVRrEXiDGrRWouZwUDiR08BLrFCugTP7u+kc4W4BJu
nxPkPi8TrGAD6hMVUv8In2w5rnHzjnHyrCRZPvCFSf2d3zxn+vlb0ZT5sgmqoZKb
xqfJhvJPZNcl4D58diHGWNWOZDw2su9CQG9OcZrv6PSexzDCPU4+GdZpr0Jc5HQ5
TE3u3CFpQEORNCFjPP4ailptqpIN1/7Y6ZA5xOwgdAeU0kFvpRhkd3Nftpl1gqkl
VI4eEAIJ3+2ob2WKWlX6ecIS82YyH03avskWyfj6MoAtRkICJKVWYdTEHGZwswcY
JYmL8tg0nq/UuAepdGReh61LjSatQDY9Z4DSU0U9Y02231mpSxZ8sYuv/YlMQp49
pJX3G6Yi4G3Mz+w9mt6Ly5Iq7mzwRLoHgzkPQvbhnnXgCOnWI6PyzqWhlqztZ/At
/3qdxn8NpD2POJbdSSWPlqCVXLQHEtQN1QRi6f/awsJ5vT8bTqTEvQj8y79IeBJO
5Wx2wbXAuvzCNEoQOKRFJV1Ddtono+idAMVRTwTUv1jUfxE2MIE=
=NaIp
-----END PGP SIGNATURE-----
Merge tag 's390-5.10-6' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 fixes from Heiko Carstens:
"One commit is fixing lockdep irq state tracing which broke with -rc6.
The other one fixes logical vs physical CPU address mixup in our PCI
code.
Summary:
- fix lockdep irq state tracing
- fix logical vs physical CPU address confusion in PCI code"
* tag 's390-5.10-6' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
s390: fix irq state tracing
s390/pci: fix CPU address in MSI for directed IRQ