From: ChiYuan Huang <cy_huang(a)richtek.com>
To make sure LED enter off state after file handle is closed, initiatively
configure LED_MODE to NONE. This can guarantee whatever the previous state
is torch or strobe mode, the final state will be off.
Cc: stable(a)vger.kernel.org
Fixes: 42bd6f59ae90 ("media: Add registration helpers for V4L2 flash sub-devices")
Signed-off-by: ChiYuan Huang <cy_huang(a)richtek.com>
---
Still cannot pass patch integration check, send v3 patch to fix all.
v3
- Remove 'Reported-by' tag
- Fix identation check for patch integration
v2
- Fix commit message redudant space cause patch robot parsing error
Hi,
We encounter an issue. When the upper layer camera process is crashed,
if the new process did not reinit the LED, it will keeps the previous
state whatever it's in torch or strobe mode
OS will handle the resource management. So when the process is crashed
or terminated, the 'close' API will be called to release resources.
That's why we add the initiative action to trigger LED off in file
handle close is called.
---
drivers/media/v4l2-core/v4l2-flash-led-class.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/media/v4l2-core/v4l2-flash-led-class.c b/drivers/media/v4l2-core/v4l2-flash-led-class.c
index 355595a0fefa..46606f5cc192 100644
--- a/drivers/media/v4l2-core/v4l2-flash-led-class.c
+++ b/drivers/media/v4l2-core/v4l2-flash-led-class.c
@@ -623,6 +623,12 @@ static int v4l2_flash_close(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
return 0;
if (led_cdev) {
+ /* If file handle is released, make sure LED enter off state */
+ ret = v4l2_ctrl_s_ctrl(v4l2_flash->ctrls[LED_MODE],
+ V4L2_FLASH_LED_MODE_NONE);
+ if (ret)
+ return ret;
+
mutex_lock(&led_cdev->led_access);
if (v4l2_flash->ctrls[STROBE_SOURCE])
base-commit: 8ac28a6642d1cc8bac0632222e66add800b027fa
--
2.34.1
by مجلة زكا للع لوم المالية والاقتصادي ة والإدارية
[ View in browser](https://7m8ue.r.ag.d.sendibm3.com/mk/mr/sh/7nVTPdZCTJDXOxg5wYo2dj3…
مجلة زكا للعلوم المالية والاقتصادية والإدارية
=============================================
مجلة علمية ، محكمة، فصلية ، مفتوحة الوصول ، تصدر عن مركز فكر للدراسات والتطوير
**زكا** اسمٌ مستلهم من **الزكاء**، ليجسّد جوهر المجلة في **التحليل المالي الرصين، والفكر الاقتصادي المتوازن، والقرار الإداري القائم على البحث العلمي**.
#### السادة أعضاء الهيئات التدريسية، الباحثون الكرام
السادة أعضاء الهيئات التدريسية،
الباحثون والباحثات الأفاضل،
تحية طيبة وبعد،
يسرّ **مجلة زكا للعلوم المالية والاقتصادية والإدارية**
*(Zaca Journal of Financial Sciences, Economics & Business Administration)*
— وهي مجلة علمية محكّمة، ربع سنوية، تصدر عن **مركز فكر للدراسات والتطوير** — أن تُعلن عن فتح باب استقبال الأبحاث العلمية الأصيلة للنشر في **العدد الخامس**.
###عن مجلة زكا
تهدف مجلة زكا إلى دعم البحث العلمي الرصين في مجالات **الاقتصاد، العلوم المالية، والإدارة**، وتوفير منصة أكاديمية موثوقة تواكب المستجدات العلمية والعملية، وفق معايير تحكيم دقيقة وجودة عالية في النشر، بما يعزّز حضور الباحثين في الأوساط الأكاديمية العربية والدولية.
###مزايا النشر في مجلة زكا
🔹 **تحكيم يصنع الفارق**
تحكيم علمي مهني وشفاف، يركّز على الأصالة، المتانة المنهجية، والقيمة العلمية والتطبيقية للأبحاث في مجالات الاقتصاد والعلوم المالية والإدارية.
🔹 **سرعة تحكيم تُقدّر وقت الباحث**
تلتزم المجلة بتسليم **نتائج التحكيم والملاحظات خلال 7 أيام فقط**، بما يتيح للباحثين التخطيط الأكاديمي السليم دون تأخير.
🔹 **انتشار بلا حدود (Open Access)**
نمط وصول مفتوح يضمن إتاحة الأبحاث للباحثين وصنّاع القرار دون قيود، ما يعزّز فرص الاقتباس والتأثير العلمي والعملي.
🔹 **فهرسة دولية واسعة وانتشار عالمي**
مجلة زكا مفهرسة دوليًا في أكثر من **40 قاعدة بيانات**، ضمن شبكات فهرسة أكاديمية متعدّدة تدعم ظهور الأبحاث في محركات البحث والمنصّات العلمية العالمية.
🔹 **معامل تأثير قوي وحضور أكاديمي متنامٍ**
تعتمد المجلة سياسة جودة صارمة ومعايير تقييم دقيقة، بما يعزّز **معامل التأثير** ويرفع من القيمة الأكاديمية للنشر ضمن ملفات الباحثين العلمية والترقيات الأكاديمية.
🔹 **توثيق علمي عالمي (DOI)**
تخصيص **DOI دولي مستقل لكل مقال** يضمن حماية الملكية الفكرية، وسهولة التتبع والاستشهاد، وزيادة الحضور العلمي عالميًا.
🔹 **تعدّد لغوي = جمهور أوسع**
النشر بثلاث لغات (**العربية – الإنجليزية – التركية**) يوسّع دائرة الاستفادة، ويمنح الأبحاث حضورًا إقليميًا ودوليًا أوسع.
🔹 **موثوقية أكاديمية موثّقة**
رقم معياري دولي **ISSN: 3104-7289**، وهوية تحريرية واضحة، وانتظام في الإصدار يعزّزان مصداقية السجل البحثي للباحث.
🔹 **تجربة نشر احترافية متكاملة**
بوابة إلكترونية حديثة لتقديم الأبحاث ومتابعتها، مع إخراج فني ولغوي احترافي يواكب المعايير الدولية للنشر العلمي.
🔹 **رسوم نشر عادلة وتنافسية**
رسوم نشر **50 دولارًا أمريكيًا فقط** تشمل التحكيم العلمي والإخراج الفني، في إطار سياسة داعمة للباحثين دون المساس بالجودة.
🔹 **رؤية تتجاوز النشر**
مجلة زكا ليست مجرد منصة نشر، بل **منصة معرفية تطبيقية** تربط البحث الأكاديمي بالواقع الاقتصادي والمالي والإداري، وتسهم في دعم صُنّاع القرار وتعزيز التنمية المبنية على المعرفة.
###مجالات النشر
تستقبل المجلة الأبحاث العلمية الأصيلة في المجالات التالية:
• إدارة الأعمال
• الاقتصاد
• التجارة
• التسويق
• العلوم المالية والمصرفية
• المحاسبة
• الإدارة العامة
• الاقتصاد الإسلامي
###المواعيد
المجلة مفتوحة لاستقبال الأبحاث **طوال العام**، وتُنشر الأعداد بشكل دوري ومنتظم.
###آلية التقديم والتواصل
📄 **تقديم المخطوطات عبر الرابط التالي:**
[https://7m8ue.r.ag.d.sendibm3.com/mk/cl/f/sh/7nVU1aA2nfsTSeWOzmWNvJm5IIiZEZ…
🌐 **موقع المجلة:**
[https://7m8ue.r.ag.d.sendibm3.com/mk/cl/f/sh/7nVU1aA2nfuMSB1hyLkpxg5tSfDLyV…
📧 **البريد الإلكتروني:**
[info@zaca-journal.org](mailto:info@zaca-journal.org)
📲 **التواصل عبر واتساب:**
[https://7m8ue.r.ag.d.sendibm3.com/mk/cl/f/sh/7nVU1aA2nfwFRhX0wuzI02Phd1i8iS…
**هيئة تحرير مجلة زكا للعلوم المالية والاقتصادية والإدارية**
*مجلة زكا… حيث تتحوّل الأبحاث إلى أثر علمي حقيقي.*
[ Read the whole story](https://7m8ue.r.ag.d.sendibm3.com/mk/cl/f/sh/7nVU1aA2nfy8RE2JvUDk2Oj…
**fiker for research and development**
يمكن متابعة المجلة من خلال الاتصال الموضحة.
الموقع: [https://7m8ue.r.ag.d.sendibm3.com/mk/cl/f/sh/7nVU1aA2ng01QkXcu3SC4l3JxkhiCL… || البريد الإلكتروني: info(a)zaca-journal.org
هاتف: 00905306601496
You've received it because you've subscribed to our newsletter.
[Unsubscribe](https://7m8ue.r.ag.d.sendibm3.com/mk/un/v2/sh/7nVTPdbLJ2bPbEmD…
When both KASAN and SLAB_STORE_USER are enabled, accesses to
struct kasan_alloc_meta fields can be misaligned on 64-bit architectures.
This occurs because orig_size is currently defined as unsigned int,
which only guarantees 4-byte alignment. When struct kasan_alloc_meta is
placed after orig_size, it may end up at a 4-byte boundary rather than
the required 8-byte boundary on 64-bit systems.
Note that 64-bit architectures without HAVE_EFFICIENT_UNALIGNED_ACCESS
are assumed to require 64-bit accesses to be 64-bit aligned.
See HAVE_64BIT_ALIGNED_ACCESS and commit adab66b71abf ("Revert:
"ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS"") for more details.
Change orig_size from unsigned int to unsigned long to ensure proper
alignment for any subsequent metadata. This should not waste additional
memory because kmalloc objects are already aligned to at least
ARCH_KMALLOC_MINALIGN.
Suggested-by: Andrey Ryabinin <ryabinin.a.a(a)gmail.com>
Cc: stable(a)vger.kernel.org
Fixes: 6edf2576a6cc ("mm/slub: enable debugging memory wasting of kmalloc")
Signed-off-by: Harry Yoo <harry.yoo(a)oracle.com>
---
mm/slub.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/mm/slub.c b/mm/slub.c
index ad71f01571f0..1c747435a6ab 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -857,7 +857,7 @@ static inline bool slab_update_freelist(struct kmem_cache *s, struct slab *slab,
* request size in the meta data area, for better debug and sanity check.
*/
static inline void set_orig_size(struct kmem_cache *s,
- void *object, unsigned int orig_size)
+ void *object, unsigned long orig_size)
{
void *p = kasan_reset_tag(object);
@@ -867,10 +867,10 @@ static inline void set_orig_size(struct kmem_cache *s,
p += get_info_end(s);
p += sizeof(struct track) * 2;
- *(unsigned int *)p = orig_size;
+ *(unsigned long *)p = orig_size;
}
-static inline unsigned int get_orig_size(struct kmem_cache *s, void *object)
+static inline unsigned long get_orig_size(struct kmem_cache *s, void *object)
{
void *p = kasan_reset_tag(object);
@@ -883,7 +883,7 @@ static inline unsigned int get_orig_size(struct kmem_cache *s, void *object)
p += get_info_end(s);
p += sizeof(struct track) * 2;
- return *(unsigned int *)p;
+ return *(unsigned long *)p;
}
#ifdef CONFIG_SLUB_DEBUG
@@ -1198,7 +1198,7 @@ static void print_trailer(struct kmem_cache *s, struct slab *slab, u8 *p)
off += 2 * sizeof(struct track);
if (slub_debug_orig_size(s))
- off += sizeof(unsigned int);
+ off += sizeof(unsigned long);
off += kasan_metadata_size(s, false);
@@ -1394,7 +1394,7 @@ static int check_pad_bytes(struct kmem_cache *s, struct slab *slab, u8 *p)
off += 2 * sizeof(struct track);
if (s->flags & SLAB_KMALLOC)
- off += sizeof(unsigned int);
+ off += sizeof(unsigned long);
}
off += kasan_metadata_size(s, false);
@@ -7949,7 +7949,7 @@ static int calculate_sizes(struct kmem_cache_args *args, struct kmem_cache *s)
/* Save the original kmalloc request size */
if (flags & SLAB_KMALLOC)
- size += sizeof(unsigned int);
+ size += sizeof(unsigned long);
}
#endif
--
2.43.0