<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-next.git/drivers/staging, branch master</title>
<subtitle>Linux kernel latest source</subtitle>
<id>http://mirrors.hust.edu.cn/git/linux-next.git/atom?h=master</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/linux-next.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/'/>
<updated>2026-09-03T15:49:27+00:00</updated>
<entry>
<title>Merge branch 'staging-next' of https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git</title>
<updated>2026-09-03T15:49:27+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2026-09-03T15:49:27+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=3dbd6fd81ef60b5e6300e7f969614c89f5ef6c78'/>
<id>urn:sha1:3dbd6fd81ef60b5e6300e7f969614c89f5ef6c78</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'togreg' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git</title>
<updated>2026-09-03T15:49:22+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2026-09-03T15:49:22+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=0ce15836e3afa3027b36bcf3702a926301cccea6'/>
<id>urn:sha1:0ce15836e3afa3027b36bcf3702a926301cccea6</id>
<content type='text'>
# Conflicts:
#	drivers/iio/adc/ade9000.c
</content>
</entry>
<entry>
<title>Merge branch 'next' of git://linuxtv.org/media-ci/media-pending.git</title>
<updated>2026-09-03T12:55:26+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2026-09-03T12:55:26+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=8d5f4b55f8aac87ca17f200ebdb59132e7e2df4e'/>
<id>urn:sha1:8d5f4b55f8aac87ca17f200ebdb59132e7e2df4e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>staging: rtl8723bs: avoid CamelCase in rtw_efuse</title>
<updated>2026-09-01T13:52:44+00:00</updated>
<author>
<name>Philip Nielsen</name>
<email>philipnielsen64@gmail.com</email>
</author>
<published>2026-09-01T10:39:19+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=758be99c46265b74476d5e1173d781abe325533e'/>
<id>urn:sha1:758be99c46265b74476d5e1173d781abe325533e</id>
<content type='text'>
Avoid CamelCase naming for local variables, function parameters,
and static helper functions in rtw_efuse.c as well as associated
prototypes in rtw_efuse.h to adhere to the Linux
kernel coding style and clear checkpatch.pl checks.

Signed-off-by: Philip Nielsen &lt;philipnielsen64@gmail.com&gt;
Link: https://patch.msgid.link/20260901103919.20245-1-philipnielsen64@gmail.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>staging: sm750fb: fix mono image source stride mismatch in lynxfb_ops_imageblit()</title>
<updated>2026-09-01T13:51:53+00:00</updated>
<author>
<name>Muhammad Bilal</name>
<email>meatuni001@gmail.com</email>
</author>
<published>2026-09-01T11:30:31+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=cc7cd2a9228175c975f62ad56ed7c767701cb4fa'/>
<id>urn:sha1:cc7cd2a9228175c975f62ad56ed7c767701cb4fa</id>
<content type='text'>
sm750_hw_imageblit() advances its monochrome source pointer by
src_delta per scanline, and computes the correct rounded-up stride
internally as:

        bytes_per_scan = (width + start_bit + 7) / 8;

Its only caller, lynxfb_ops_imageblit(), instead passed src_delta as
image-&gt;width &gt;&gt; 3. For widths not a multiple of 8 this under-counted
the stride, so the source pointer fell further behind the real
per-scanline layout on every line, corrupting the rendered image.

Rather than just fixing the caller's calculation, remove src_delta
as a parameter entirely and have sm750_hw_imageblit() advance by the
bytes_per_scan it already computes for itself. There has only ever
been one caller, and that caller was passing an out-of-sync
derivative of the same width/start_bit values sm750_hw_imageblit()
already has, so keeping stride as a separate parameter served no
purpose beyond letting the two calculations drift apart, which is
exactly what happened here.

Rounding up, rather than down, is the direction consistent with the
rest of the fbdev core: struct fb_image mono bitmap data (the same
image-&gt;data this driver receives) is walked elsewhere with byte
strides derived from a ceiling division of width by 8. The generic
mono bit iterator in drivers/video/fbdev/core/fb_imageblit.h advances
scanlines with "iter-&gt;data += BITS_TO_BYTES(iter-&gt;width)", and
BITS_TO_BYTES() (include/linux/bitops.h) is a ceiling division.
sm750_hw_imageblit()'s own "(width + start_bit + 7) / 8" is that same
ceiling division with an added start_bit offset, so the caller's
"&gt;&gt; 3" (floor) was the one calculation out of step with how this data
layout is handled everywhere else.

Found by code review of sm750_hw_imageblit()'s internal stride
calculation against what its only caller was passing in, and
confirmed with a clean -Werror build. I do not have this hardware,
so this has not been exercised at runtime on real sm750 silicon.

Fixes: 81dee67e215b2 ("staging: sm750fb: add sm750 to staging")
Cc: stable@vger.kernel.org
Reviewed-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Muhammad Bilal &lt;meatuni001@gmail.com&gt;
Link: https://patch.msgid.link/20260901113031.161610-1-meatuni001@gmail.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>staging: rtl8723bs: fix OOB read in rtw_restruct_wmm_ie()</title>
<updated>2026-09-01T10:15:16+00:00</updated>
<author>
<name>Muhammad Bilal</name>
<email>meatuni001@gmail.com</email>
</author>
<published>2026-07-28T12:54:56+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=28a289beaf226b30b1e6e7d7b1a2946fe2d6e852'/>
<id>urn:sha1:28a289beaf226b30b1e6e7d7b1a2946fe2d6e852</id>
<content type='text'>
rtw_restruct_wmm_ie() scans in_ie for a WMM IE with:

	while (i &lt; in_len) {
		...
		if (i + 5 &lt; in_len &amp;&amp; in_ie[i] == 0xDD &amp;&amp; ...) {
			...
			break;
		}
		i += (in_ie[i + 1] + 2); /* to the next IE element */
	}

When the "i + 5 &lt; in_len" match check fails simply because i is
within 5 bytes of the end of the buffer (i.e. no WMM IE was found
near the tail of in_ie), execution falls through to
"i += (in_ie[i + 1] + 2)", which reads in_ie[i + 1]. If i == in_len
- 1 at that point, this is a 1-byte out-of-bounds read of an
attacker-influenced IE buffer built from association/scan data.

Commit a75281626fc8f ("staging: rtl8723bs: fix potential
out-of-bounds read in rtw_restruct_wmm_ie") added the "i + 5 &lt;
in_len" guard to the match condition itself, but did not add an
equivalent guard before the fallthrough advance, so the same class
of OOB read remained reachable through the non-matching path.

Add an explicit bounds check before advancing to the next IE.

Fixes: 554c0a3abf216 ("staging: Add rtl8723bs sdio wifi driver")
Cc: stable@vger.kernel.org
Signed-off-by: Muhammad Bilal &lt;meatuni001@gmail.com&gt;
Link: https://patch.msgid.link/20260728125456.32359-4-meatuni001@gmail.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>staging: rtl8723bs: fix OOB read in rtw_action_frame_parse()</title>
<updated>2026-09-01T10:15:16+00:00</updated>
<author>
<name>Muhammad Bilal</name>
<email>meatuni001@gmail.com</email>
</author>
<published>2026-07-28T12:54:55+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=ff917923f4fb9c83717ba135ee47d7e4c1567bb7'/>
<id>urn:sha1:ff917923f4fb9c83717ba135ee47d7e4c1567bb7</id>
<content type='text'>
rtw_action_frame_parse() takes a frame_len parameter but never
actually checks it before indexing into the frame body:

	const u8 *frame_body = frame + sizeof(struct ieee80211_hdr_3addr);
	...
	c = frame_body[0];
	...
	a = frame_body[1];

frame_body already points 24 bytes (sizeof(struct
ieee80211_hdr_3addr)) into frame, so reading frame_body[0] and
frame_body[1] requires frame_len &gt;= 26. A management action frame
shorter than that (e.g. exactly 24 bytes, the minimum a malicious
peer can send) causes a 1-2 byte out-of-bounds read.

This is reachable from rtw_cfg80211_monitor_if_xmit_entry() and
cfg80211_rtw_mgmt_tx() in ioctl_cfg80211.c, both of which pass
attacker/user-influenced frame buffers and lengths straight through.

Add the missing length check before frame_body is dereferenced.

Fixes: 554c0a3abf216 ("staging: Add rtl8723bs sdio wifi driver")
Cc: stable@vger.kernel.org
Signed-off-by: Muhammad Bilal &lt;meatuni001@gmail.com&gt;
Link: https://patch.msgid.link/20260728125456.32359-3-meatuni001@gmail.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>staging: rtl8723bs: fix OOB read / stack overflow in rtw_get_wps_attr()</title>
<updated>2026-09-01T10:15:16+00:00</updated>
<author>
<name>Muhammad Bilal</name>
<email>meatuni001@gmail.com</email>
</author>
<published>2026-07-28T12:54:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=99aa998dec83ba180822f70e6d48a514fc81c20d'/>
<id>urn:sha1:99aa998dec83ba180822f70e6d48a514fc81c20d</id>
<content type='text'>
rtw_get_wps_attr() walks WPS attributes inside a WPS IE taken from
a wireless management frame. For each candidate attribute it only
checks that the fixed 4-byte attribute header (2-byte ID + 2-byte
length) fits inside the IE:

	if (attr_ptr + 4 &gt; wps_ie + wps_ielen)
		break;
	u16 attr_id = get_unaligned_be16(attr_ptr);
	u16 attr_data_len = get_unaligned_be16(attr_ptr + 2);
	u16 attr_len = attr_data_len + 4;

attr_data_len (and therefore attr_len) is read directly from the
wire and is never checked against the remaining bytes in the IE
before being used as the size of:

	memcpy(buf_attr, attr_ptr, attr_len);

Since attr_len is fully attacker controlled (0 to 65535+4), this is
both a heap OOB read of wps_ie, and, more seriously, a stack buffer
overflow at several call sites where buf_attr is a single-byte
stack variable, e.g. rtw_get_wps_attr_content()'s callers passing
WPS_ATTR_SELECTED_REGISTRAR into a stack "u8 sr"/"u8
selected_registrar" (drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c,
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c). A crafted WPS IE in a
beacon or probe response processed during scanning can therefore
smash the stack of the parsing thread.

rtw_get_wps_attr_content() itself has no independent length check
and simply trusts the attr_len it gets back from rtw_get_wps_attr(),
so fixing the bound here also fixes that caller.

The "attr_ptr + 4 &gt; wps_ie + wps_ielen" header check above was added
by commit 1463ca3ec6601 ("staging: rtl8723bs: fix OOB reads in
rtw_get_sec_ie(), rtw_get_wapi_ie(), and rtw_get_wps_attr()"), which
bounded the fixed header but never extended the check to cover the
variable-length attribute data that follows it. Add that missing
check before attr_len is used as a memcpy() length or accepted as a
match.

Fixes: 554c0a3abf216 ("staging: Add rtl8723bs sdio wifi driver")
Cc: stable@vger.kernel.org
Signed-off-by: Muhammad Bilal &lt;meatuni001@gmail.com&gt;
Link: https://patch.msgid.link/20260728125456.32359-2-meatuni001@gmail.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>staging: fbtft: make dirty_lock IRQ-safe</title>
<updated>2026-09-01T10:14:29+00:00</updated>
<author>
<name>Hui Su</name>
<email>sh_def@163.com</email>
</author>
<published>2026-08-07T15:09:55+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=f576944a59f31bcffff121117ebf452c5dd162b7'/>
<id>urn:sha1:f576944a59f31bcffff121117ebf452c5dd162b7</id>
<content type='text'>
fbtft_mkdirty() can be reached from the fbcon rendering path while
processing printk() in hardirq context. Meanwhile, dirty_lock is also
taken by fbtft_deferred_io() in workqueue context with local interrupts
enabled.

Lockdep reports a possible IRQ lock inversion involving dirty_lock and
console_owner. A hardirq can interrupt a CPU holding dirty_lock and
enter the console rendering path, which can attempt to acquire
dirty_lock again.

The following lockdep report was observed on an RK3566 system with
CONFIG_PROVE_LOCKING enabled:

  WARNING: possible irq lock inversion dependency detected
  swapper/2/0 just changed the state of lock:
  (console_owner){-...}-{0:0}
  but this lock took another, HARDIRQ-unsafe lock in the past:
  (&amp;par-&gt;dirty_lock){+.+.}-{2:2}

  CPU0                    CPU1
  ----                    ----
  lock(&amp;par-&gt;dirty_lock);
                         local_irq_disable();
                         lock(console_owner);
                         lock(&amp;par-&gt;dirty_lock);
  &lt;Interrupt&gt;
    lock(console_owner);

  *** DEADLOCK ***

Use spin_lock_irqsave() for fbtft_mkdirty() and spin_lock_irq() for
fbtft_deferred_io(). They only access the dirty line range, so the
IRQ-off regions remain short.

Fixes: c296d5f9957c ("staging: fbtft: core support")
Signed-off-by: Hui Su &lt;sh_def@163.com&gt;
Link: https://lore.kernel.org/lkml/20260804173712.176017-1-sh_def@163.com/
Reviewed-by: Nam Cao &lt;namcao@linutronix.de&gt;
Link: https://patch.msgid.link/20260807150953.2811933-3-sh_def@163.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>staging: rtl8723bs: remove unused chip-type enums and defines</title>
<updated>2026-09-01T10:14:07+00:00</updated>
<author>
<name>Adriano Cordova</name>
<email>adrianox@gmail.com</email>
</author>
<published>2026-08-31T02:05:57+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=17aead0e02891270c6c45cab9fbb7bded274c16a'/>
<id>urn:sha1:17aead0e02891270c6c45cab9fbb7bded274c16a</id>
<content type='text'>
Remove enums and defines left over from other Realtek chips:

  - the RF_8225, RF_8256, RF_8258, RF_6052 and RF_PSEUDO_11N RF-type
    enum
  - TX_2S, TX_3S and TX_4S
  - RF_PATH_MAX_92C_88E and RF_PATH_MAX_90_8812
  - TX_POWER_NEAR_FIELD_THRESH_8812
  - ODM_ITRF_ALL

None of them is referenced anywhere in the driver.

Signed-off-by: Adriano Cordova &lt;adrianox@gmail.com&gt;
Link: https://patch.msgid.link/20260831020557.1235504-3-adrianox@gmail.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
