<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in alauda.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>734b0a7a - usb: storage: alauda: Use const for card ID array</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#734b0a7a</link>
        <description>usb: storage: alauda: Use const for card ID arrayThe alauda_card_ids array is only read, and not modified.Declaring data as const makes it easier to see what&apos;s going on, and canprevent unintended writes through placement in a read-only section.Signed-off-by: Jonathan Neusch&#228;fer &lt;j.ne@posteo.net&gt;Reviewed-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Link: https://lore.kernel.org/r/20250228-misc-const-v3-3-09b417ded9c4@posteo.netSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Fri, 28 Feb 2025 15:11:18 +0000</pubDate>
        <dc:creator>Jonathan Neusch&#228;fer &lt;j.ne@posteo.net&gt;</dc:creator>
    </item>
<item>
        <title>cdd30ebb - module: Convert symbol namespace to string literal</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#cdd30ebb</link>
        <description>module: Convert symbol namespace to string literalClean up the existing export namespace code along the same lines ofcommit 33def8498fdd (&quot;treewide: Convert macro and uses of __section(foo)to __section(&quot;foo&quot;)&quot;) and for the same reason, it is not desired for thenamespace argument to be a macro expansion itself.Scripted using  git grep -l -e MODULE_IMPORT_NS -e EXPORT_SYMBOL_NS | while read file;  do    awk -i inplace &apos;      /^#define EXPORT_SYMBOL_NS/ {        gsub(/__stringify\(ns\)/, &quot;ns&quot;);        print;        next;      }      /^#define MODULE_IMPORT_NS/ {        gsub(/__stringify\(ns\)/, &quot;ns&quot;);        print;        next;      }      /MODULE_IMPORT_NS/ {        $0 = gensub(/MODULE_IMPORT_NS\(([^)]*)\)/, &quot;MODULE_IMPORT_NS(\&quot;\\1\&quot;)&quot;, &quot;g&quot;);      }      /EXPORT_SYMBOL_NS/ {        if ($0 ~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+),/) {  	if ($0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/ &amp;&amp;  	    $0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(\)/ &amp;&amp;  	    $0 !~ /^my/) {  	  getline line;  	  gsub(/[[:space:]]*\\$/, &quot;&quot;);  	  gsub(/[[:space:]]/, &quot;&quot;, line);  	  $0 = $0 &quot; &quot; line;  	}  	$0 = gensub(/(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/,  		    &quot;\\1(\\2, \&quot;\\3\&quot;)&quot;, &quot;g&quot;);        }      }      { print }&apos; $file;  doneRequested-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Link: https://mail.google.com/mail/u/2/#inbox/FMfcgzQXKWgMmjdFwwdsfgxzKpVHWPlcAcked-by: Greg KH &lt;gregkh@linuxfoundation.org&gt;Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Mon, 02 Dec 2024 14:59:47 +0000</pubDate>
        <dc:creator>Peter Zijlstra &lt;peterz@infradead.org&gt;</dc:creator>
    </item>
<item>
        <title>dbf0fa1c - usb-storage: Constify struct usb_device_id and us_unusual_dev</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#dbf0fa1c</link>
        <description>usb-storage: Constify struct usb_device_id and us_unusual_dev&apos;struct usb_device_id&apos; and &apos;struct us_unusual_dev&apos; are not modified inthese drivers.Constifying these structures moves some data to a read-only section, soincrease overall security, especially when the structure holds somefunction pointers (which is the case for struct us_unusual_dev).On a x86_64, with allmodconfig, as an example:Before:======   text	   data	    bss	    dec	    hex	filename  25249	   4261	    896	  30406	   76c6	drivers/usb/storage/alauda.o   3969	    672	    360	   5001	   1389	drivers/usb/storage/cypress_atacb.oAfter:=====   text	   data	    bss	    dec	    hex	filename  25461	   4041	    896	  30398	   76be	drivers/usb/storage/alauda.o   4225	    400	    360	   4985	   1379	drivers/usb/storage/cypress_atacb.oSigned-off-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Link: https://lore.kernel.org/r/b1b75a2a64b1f6cfad2a611f71393f281178fd3f.1724507157.git.christophe.jaillet@wanadoo.frSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Sat, 24 Aug 2024 13:47:07 +0000</pubDate>
        <dc:creator>Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;</dc:creator>
    </item>
<item>
        <title>16637fea - usb-storage: alauda: Check whether the media is initialized</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#16637fea</link>
        <description>usb-storage: alauda: Check whether the media is initializedThe member &quot;uzonesize&quot; of struct alauda_info will remain 0if alauda_init_media() fails, potentially causing divide errorsin alauda_read_data() and alauda_write_lba().- Add a member &quot;media_initialized&quot; to struct alauda_info.- Change a condition in alauda_check_media() to ensure the  first initialization.- Add an error check for the return value of alauda_init_media().Fixes: e80b0fade09e (&quot;[PATCH] USB Storage: add alauda support&quot;)Reported-by: xingwei lee &lt;xrivendell7@gmail.com&gt;Reported-by: yue sun &lt;samsun1006219@gmail.com&gt;Reviewed-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Shichao Lai &lt;shichaorai@gmail.com&gt;Link: https://lore.kernel.org/r/20240526012745.2852061-1-shichaorai@gmail.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Sun, 26 May 2024 01:27:45 +0000</pubDate>
        <dc:creator>Shichao Lai &lt;shichaorai@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a6ff6e7a - usb-storage: alauda: Fix uninit-value in alauda_check_media()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#a6ff6e7a</link>
        <description>usb-storage: alauda: Fix uninit-value in alauda_check_media()Syzbot got KMSAN to complain about access to an uninitialized value inthe alauda subdriver of usb-storage:BUG: KMSAN: uninit-value in alauda_transport+0x462/0x57f0drivers/usb/storage/alauda.c:1137CPU: 0 PID: 12279 Comm: usb-storage Not tainted 5.3.0-rc7+ #0Hardware name: Google Google Compute Engine/Google Compute Engine, BIOSGoogle 01/01/2011Call Trace:  __dump_stack lib/dump_stack.c:77 [inline]  dump_stack+0x191/0x1f0 lib/dump_stack.c:113  kmsan_report+0x13a/0x2b0 mm/kmsan/kmsan_report.c:108  __msan_warning+0x73/0xe0 mm/kmsan/kmsan_instr.c:250  alauda_check_media+0x344/0x3310 drivers/usb/storage/alauda.c:460The problem is that alauda_check_media() doesn&apos;t verify that its USBtransfer succeeded before trying to use the received data.  Whatshould happen if the transfer fails isn&apos;t entirely clear, but areasonably conservative approach is to pretend that no media ispresent.A similar problem exists in a usb_stor_dbg() call inalauda_get_media_status().  In this case, when an error occurs thecall is redundant, because usb_stor_ctrl_transfer() already will printa debugging message.Finally, unrelated to the uninitialized memory access, is the factthat alauda_check_media() performs DMA to a buffer on the stack.Fortunately usb-storage provides a general purpose DMA-able buffer foruses like this.  We&apos;ll use it instead.Reported-and-tested-by: syzbot+e7d46eb426883fb97efd@syzkaller.appspotmail.comCloses: https://lore.kernel.org/all/0000000000007d25ff059457342d@google.com/T/Suggested-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Fixes: e80b0fade09e (&quot;[PATCH] USB Storage: add alauda support&quot;)Cc: &lt;stable@vger.kernel.org&gt;Link: https://lore.kernel.org/r/693d5d5e-f09b-42d0-8ed9-1f96cd30bcce@rowland.harvard.eduSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Wed, 02 Aug 2023 17:49:02 +0000</pubDate>
        <dc:creator>Alan Stern &lt;stern@rowland.harvard.edu&gt;</dc:creator>
    </item>
<item>
        <title>c35ca10f - usb: storage: Add check for kcalloc</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#c35ca10f</link>
        <description>usb: storage: Add check for kcallocAs kcalloc may return NULL pointer, the return value shouldbe checked and return error if fails as same as the ones inalauda_read_map.Fixes: e80b0fade09e (&quot;[PATCH] USB Storage: add alauda support&quot;)Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Jiasheng Jiang &lt;jiasheng@iscas.ac.cn&gt;Link: https://lore.kernel.org/r/20221208110058.12983-1-jiasheng@iscas.ac.cnSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Thu, 08 Dec 2022 11:00:58 +0000</pubDate>
        <dc:creator>Jiasheng Jiang &lt;jiasheng@iscas.ac.cn&gt;</dc:creator>
    </item>
<item>
        <title>17b2fb9c - usb-storage: alauda: fix initFunction error return</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#17b2fb9c</link>
        <description>usb-storage: alauda: fix initFunction error returnThe initFunction is called when probing a new device, its call relationis like:USB core: probe() -&gt; usb_stor_probe2() -&gt; usb_stor_acquire_resources()-&gt; init_alauda()That is, the error return of the initFunction should tell USB core whathappened instead of using error code like USB_STOR_TRANSPORT_ERROR.Signed-off-by: Lin Ma &lt;linma@zju.edu.cn&gt;Link: https://lore.kernel.org/r/20220407022058.3741-1-linma@zju.edu.cnSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Thu, 07 Apr 2022 02:20:58 +0000</pubDate>
        <dc:creator>Lin Ma &lt;linma@zju.edu.cn&gt;</dc:creator>
    </item>
<item>
        <title>7565fce1 - usb: storage: alauda: Remove set but unchecked variable</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#7565fce1</link>
        <description>usb: storage: alauda: Remove set but unchecked variableThe return value of alauda_get_media_status() hasn&apos;t been checkedsince the driver&apos;s inception back in 2005.  If nothing have gonewrong/been detected until this point, it&apos;s probably safe to justremove the variable.Fixes the following W=1 kernel build warning(s): drivers/usb/storage/alauda.c: In function &#8216;alauda_check_media&#8217;: drivers/usb/storage/alauda.c:456:6: warning: variable &#8216;rc&#8217; set but not used [-Wunused-but-set-variable] 456 | int rc; | ^~Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;Cc: Daniel Drake &lt;dsd@gentoo.org&gt;Cc: usb-storage@lists.one-eyed-alien.netSigned-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;Link: https://lore.kernel.org/r/20200703174148.2749969-20-lee.jones@linaro.orgSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Fri, 03 Jul 2020 17:41:37 +0000</pubDate>
        <dc:creator>Lee Jones &lt;lee.jones@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>32bca2df - usb-storage: export symbols in USB_STORAGE namespace</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#32bca2df</link>
        <description>usb-storage: export symbols in USB_STORAGE namespaceModules using these symbols are required to explicitly import thenamespace. This patch was generated with the following steps and servesas a reference to use the symbol namespace feature: 1) Define DEFAULT_SYMBOL_NAMESPACE in the corresponding Makefile 2) make  (see warnings during modpost about missing imports) 3) make nsdepsInstead of a DEFAULT_SYMBOL_NAMESPACE definition, the EXPORT_SYMBOL_NSvariants can be used to explicitly specify the namespace. The advantageof the method used here is that newly added symbols are automaticallyexported and existing ones are exported without touching theirrespective EXPORT_SYMBOL macro expansion.Reviewed-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;Signed-off-by: Matthias Maennich &lt;maennich@google.com&gt;Signed-off-by: Jessica Yu &lt;jeyu@kernel.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Fri, 06 Sep 2019 10:32:35 +0000</pubDate>
        <dc:creator>Matthias Maennich &lt;maennich@google.com&gt;</dc:creator>
    </item>
<item>
        <title>6da2ec56 - treewide: kmalloc() -&gt; kmalloc_array()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#6da2ec56</link>
        <description>treewide: kmalloc() -&gt; kmalloc_array()The kmalloc() function has a 2-factor argument form, kmalloc_array(). Thispatch replaces cases of:        kmalloc(a * b, gfp)with:        kmalloc_array(a * b, gfp)as well as handling cases of:        kmalloc(a * b * c, gfp)with:        kmalloc(array3_size(a, b, c), gfp)as it&apos;s slightly less ugly than:        kmalloc_array(array_size(a, b), c, gfp)This does, however, attempt to ignore constant size factors like:        kmalloc(4 * 1024, gfp)though any constants defined via macros get caught up in the conversion.Any factors with a sizeof() of &quot;unsigned char&quot;, &quot;char&quot;, and &quot;u8&quot; weredropped, since they&apos;re redundant.The tools/ directory was manually excluded, since it has its ownimplementation of kmalloc().The Coccinelle script used for this was:// Fix redundant parens around sizeof().@@type TYPE;expression THING, E;@@(  kmalloc(-	(sizeof(TYPE)) * E+	sizeof(TYPE) * E  , ...)|  kmalloc(-	(sizeof(THING)) * E+	sizeof(THING) * E  , ...))// Drop single-byte sizes and redundant parens.@@expression COUNT;typedef u8;typedef __u8;@@(  kmalloc(-	sizeof(u8) * (COUNT)+	COUNT  , ...)|  kmalloc(-	sizeof(__u8) * (COUNT)+	COUNT  , ...)|  kmalloc(-	sizeof(char) * (COUNT)+	COUNT  , ...)|  kmalloc(-	sizeof(unsigned char) * (COUNT)+	COUNT  , ...)|  kmalloc(-	sizeof(u8) * COUNT+	COUNT  , ...)|  kmalloc(-	sizeof(__u8) * COUNT+	COUNT  , ...)|  kmalloc(-	sizeof(char) * COUNT+	COUNT  , ...)|  kmalloc(-	sizeof(unsigned char) * COUNT+	COUNT  , ...))// 2-factor product with sizeof(type/expression) and identifier or constant.@@type TYPE;expression THING;identifier COUNT_ID;constant COUNT_CONST;@@(- kmalloc+ kmalloc_array  (-	sizeof(TYPE) * (COUNT_ID)+	COUNT_ID, sizeof(TYPE)  , ...)|- kmalloc+ kmalloc_array  (-	sizeof(TYPE) * COUNT_ID+	COUNT_ID, sizeof(TYPE)  , ...)|- kmalloc+ kmalloc_array  (-	sizeof(TYPE) * (COUNT_CONST)+	COUNT_CONST, sizeof(TYPE)  , ...)|- kmalloc+ kmalloc_array  (-	sizeof(TYPE) * COUNT_CONST+	COUNT_CONST, sizeof(TYPE)  , ...)|- kmalloc+ kmalloc_array  (-	sizeof(THING) * (COUNT_ID)+	COUNT_ID, sizeof(THING)  , ...)|- kmalloc+ kmalloc_array  (-	sizeof(THING) * COUNT_ID+	COUNT_ID, sizeof(THING)  , ...)|- kmalloc+ kmalloc_array  (-	sizeof(THING) * (COUNT_CONST)+	COUNT_CONST, sizeof(THING)  , ...)|- kmalloc+ kmalloc_array  (-	sizeof(THING) * COUNT_CONST+	COUNT_CONST, sizeof(THING)  , ...))// 2-factor product, only identifiers.@@identifier SIZE, COUNT;@@- kmalloc+ kmalloc_array  (-	SIZE * COUNT+	COUNT, SIZE  , ...)// 3-factor product with 1 sizeof(type) or sizeof(expression), with// redundant parens removed.@@expression THING;identifier STRIDE, COUNT;type TYPE;@@(  kmalloc(-	sizeof(TYPE) * (COUNT) * (STRIDE)+	array3_size(COUNT, STRIDE, sizeof(TYPE))  , ...)|  kmalloc(-	sizeof(TYPE) * (COUNT) * STRIDE+	array3_size(COUNT, STRIDE, sizeof(TYPE))  , ...)|  kmalloc(-	sizeof(TYPE) * COUNT * (STRIDE)+	array3_size(COUNT, STRIDE, sizeof(TYPE))  , ...)|  kmalloc(-	sizeof(TYPE) * COUNT * STRIDE+	array3_size(COUNT, STRIDE, sizeof(TYPE))  , ...)|  kmalloc(-	sizeof(THING) * (COUNT) * (STRIDE)+	array3_size(COUNT, STRIDE, sizeof(THING))  , ...)|  kmalloc(-	sizeof(THING) * (COUNT) * STRIDE+	array3_size(COUNT, STRIDE, sizeof(THING))  , ...)|  kmalloc(-	sizeof(THING) * COUNT * (STRIDE)+	array3_size(COUNT, STRIDE, sizeof(THING))  , ...)|  kmalloc(-	sizeof(THING) * COUNT * STRIDE+	array3_size(COUNT, STRIDE, sizeof(THING))  , ...))// 3-factor product with 2 sizeof(variable), with redundant parens removed.@@expression THING1, THING2;identifier COUNT;type TYPE1, TYPE2;@@(  kmalloc(-	sizeof(TYPE1) * sizeof(TYPE2) * COUNT+	array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))  , ...)|  kmalloc(-	sizeof(TYPE1) * sizeof(THING2) * (COUNT)+	array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))  , ...)|  kmalloc(-	sizeof(THING1) * sizeof(THING2) * COUNT+	array3_size(COUNT, sizeof(THING1), sizeof(THING2))  , ...)|  kmalloc(-	sizeof(THING1) * sizeof(THING2) * (COUNT)+	array3_size(COUNT, sizeof(THING1), sizeof(THING2))  , ...)|  kmalloc(-	sizeof(TYPE1) * sizeof(THING2) * COUNT+	array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))  , ...)|  kmalloc(-	sizeof(TYPE1) * sizeof(THING2) * (COUNT)+	array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))  , ...))// 3-factor product, only identifiers, with redundant parens removed.@@identifier STRIDE, SIZE, COUNT;@@(  kmalloc(-	(COUNT) * STRIDE * SIZE+	array3_size(COUNT, STRIDE, SIZE)  , ...)|  kmalloc(-	COUNT * (STRIDE) * SIZE+	array3_size(COUNT, STRIDE, SIZE)  , ...)|  kmalloc(-	COUNT * STRIDE * (SIZE)+	array3_size(COUNT, STRIDE, SIZE)  , ...)|  kmalloc(-	(COUNT) * (STRIDE) * SIZE+	array3_size(COUNT, STRIDE, SIZE)  , ...)|  kmalloc(-	COUNT * (STRIDE) * (SIZE)+	array3_size(COUNT, STRIDE, SIZE)  , ...)|  kmalloc(-	(COUNT) * STRIDE * (SIZE)+	array3_size(COUNT, STRIDE, SIZE)  , ...)|  kmalloc(-	(COUNT) * (STRIDE) * (SIZE)+	array3_size(COUNT, STRIDE, SIZE)  , ...)|  kmalloc(-	COUNT * STRIDE * SIZE+	array3_size(COUNT, STRIDE, SIZE)  , ...))// Any remaining multi-factor products, first at least 3-factor products,// when they&apos;re not all constants...@@expression E1, E2, E3;constant C1, C2, C3;@@(  kmalloc(C1 * C2 * C3, ...)|  kmalloc(-	(E1) * E2 * E3+	array3_size(E1, E2, E3)  , ...)|  kmalloc(-	(E1) * (E2) * E3+	array3_size(E1, E2, E3)  , ...)|  kmalloc(-	(E1) * (E2) * (E3)+	array3_size(E1, E2, E3)  , ...)|  kmalloc(-	E1 * E2 * E3+	array3_size(E1, E2, E3)  , ...))// And then all remaining 2 factors products when they&apos;re not all constants,// keeping sizeof() as the second factor argument.@@expression THING, E1, E2;type TYPE;constant C1, C2, C3;@@(  kmalloc(sizeof(THING) * C2, ...)|  kmalloc(sizeof(TYPE) * C2, ...)|  kmalloc(C1 * C2 * C3, ...)|  kmalloc(C1 * C2, ...)|- kmalloc+ kmalloc_array  (-	sizeof(TYPE) * (E2)+	E2, sizeof(TYPE)  , ...)|- kmalloc+ kmalloc_array  (-	sizeof(TYPE) * E2+	E2, sizeof(TYPE)  , ...)|- kmalloc+ kmalloc_array  (-	sizeof(THING) * (E2)+	E2, sizeof(THING)  , ...)|- kmalloc+ kmalloc_array  (-	sizeof(THING) * E2+	E2, sizeof(THING)  , ...)|- kmalloc+ kmalloc_array  (-	(E1) * E2+	E1, E2  , ...)|- kmalloc+ kmalloc_array  (-	(E1) * (E2)+	E1, E2  , ...)|- kmalloc+ kmalloc_array  (-	E1 * E2+	E1, E2  , ...))Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Tue, 12 Jun 2018 20:55:00 +0000</pubDate>
        <dc:creator>Kees Cook &lt;keescook@chromium.org&gt;</dc:creator>
    </item>
<item>
        <title>7cb2d993 - USB: storage: Remove redundant license text</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#7cb2d993</link>
        <description>USB: storage: Remove redundant license textNow that the SPDX tag is in all USB files, that identifies the licensein a specific and legally-defined manner.  So the extra GPL text wordingcan be removed as it is no longer needed at all.This is done on a quest to remove the 700+ different ways that files inthe kernel describe the GPL license text.  And there&apos;s unneeded stufflike the address (sometimes incorrect) for the FSF which is neverneeded.No copyright headers or other non-license-description text was removed.Cc: Oliver Neukum &lt;oneukum@suse.com&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Fri, 03 Nov 2017 11:40:57 +0000</pubDate>
        <dc:creator>Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;</dc:creator>
    </item>
<item>
        <title>5fd54ace - USB: add SPDX identifiers to all remaining files in drivers/usb/</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#5fd54ace</link>
        <description>USB: add SPDX identifiers to all remaining files in drivers/usb/It&apos;s good to have SPDX identifiers in all files to make it easier toaudit the kernel tree for correct licenses.Update the drivers/usb/ and include/linux/usb* files with the correctSPDX license identifier based on the license text in the file itself.The SPDX identifier is a legally binding shorthand, which can be usedinstead of the full boiler plate text.This work is based on a script and data from Thomas Gleixner, PhilippeOmbredanne, and Kate Stewart.Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Kate Stewart &lt;kstewart@linuxfoundation.org&gt;Cc: Philippe Ombredanne &lt;pombredanne@nexb.com&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;Acked-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;Acked-by: Johan Hovold &lt;johan@kernel.org&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Fri, 03 Nov 2017 10:28:30 +0000</pubDate>
        <dc:creator>Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;</dc:creator>
    </item>
<item>
        <title>e5cdac92 - usb: storage: alauda: don&apos;t print on ENOMEM</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#e5cdac92</link>
        <description>usb: storage: alauda: don&apos;t print on ENOMEMAll kmalloc-based functions print enough information on failures.Signed-off-by: Wolfram Sang &lt;wsa-dev@sang-engineering.com&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Thu, 25 Aug 2016 17:39:31 +0000</pubDate>
        <dc:creator>Wolfram Sang &lt;wsa-dev@sang-engineering.com&gt;</dc:creator>
    </item>
<item>
        <title>f0183a33 - usb: storage: fix multi-line comment style</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#f0183a33</link>
        <description>usb: storage: fix multi-line comment styleNo functional changes here, just making sure ourstorage driver uses a consistent multi-line commentstyle.Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Mon, 18 Apr 2016 10:09:11 +0000</pubDate>
        <dc:creator>Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>aa519be3 - usb: storage: fix module reference for scsi host</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#aa519be3</link>
        <description>usb: storage: fix module reference for scsi hostWhile accessing a unusual usb storage (ums-alauda, ums-cypress, ...),the module reference count is not incremented.  Because these driversallocate scsi hosts with usb_stor_host_template defined in usb-storagemodule.  So these drivers always can be unloaded.This fixes it by preparing scsi host template which is initializedat module_init() for each ums-* driver.  In order to minimize thedifference in ums-* drivers, introduce module_usb_stor_driver() helpermacro which is same as module_usb_driver() except that it alsoinitializes scsi host template.Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;Cc: Vinayak Holikatti &lt;vinholikatti@gmail.com&gt;Cc: Dolev Raviv &lt;draviv@codeaurora.org&gt;Cc: Sujit Reddy Thumma &lt;sthumma@codeaurora.org&gt;Cc: Subhash Jadavani &lt;subhashj@codeaurora.org&gt;Cc: Christoph Hellwig &lt;hch@lst.de&gt;Cc: &quot;James E.J. Bottomley&quot; &lt;JBottomley@parallels.com&gt;Cc: Matthew Dharm &lt;mdharm-usb@one-eyed-alien.net&gt;Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;Cc: &quot;David S. Miller&quot; &lt;davem@davemloft.net&gt;Cc: Hannes Reinecke &lt;hare@suse.de&gt;Cc: linux-usb@vger.kernel.orgCc: usb-storage@lists.one-eyed-alien.netCc: linux-scsi@vger.kernel.orgAcked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Wed, 06 May 2015 09:24:21 +0000</pubDate>
        <dc:creator>Akinobu Mita &lt;akinobu.mita@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>0de84696 - drivers: usb: storage: alauda.c: properly place braces after function declarations</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#0de84696</link>
        <description>drivers: usb: storage: alauda.c: properly place braces after function declarationsThis patch places braces on a new line following function declarations.Signed-off-by: Bas Peters &lt;baspeters93@gmail.com&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Sat, 07 Feb 2015 22:42:42 +0000</pubDate>
        <dc:creator>Bas Peters &lt;baspeters93@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>7adce467 - USB: storage: use %*ph specifier to dump small buffers</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#7adce467</link>
        <description>USB: storage: use %*ph specifier to dump small buffersInstead of dereference each byte let&apos;s use %*ph specifier in the printk()calls.Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Fri, 05 Sep 2014 14:56:25 +0000</pubDate>
        <dc:creator>Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>6523f6d2 - usb: storage: alauda: initialize variables directly</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#6523f6d2</link>
        <description>usb: storage: alauda: initialize variables directlyClean up the code a bit to initialize the variables directly whendefining them.Signed-off-by: Emilio L&#243;pez &lt;emilio@elopez.com.ar&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Sun, 12 May 2013 14:43:23 +0000</pubDate>
        <dc:creator>Emilio L&#243;pez &lt;emilio@elopez.com.ar&gt;</dc:creator>
    </item>
<item>
        <title>191648d0 - usb: storage: Convert US_DEBUGP to usb_stor_dbg</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#191648d0</link>
        <description>usb: storage: Convert US_DEBUGP to usb_stor_dbgUse a more current logging style with dev_printkwhere possible.o Convert uses of US_DEBUGP to usb_stor_dbgo Add &quot;struct us_data *&quot; to usb_stor_dbg useso usb_stor_dbg now uses struct device */dev_vprint_emito Removed embedded function nameso Coalesce formatso Remove trailing whitespaceo Remove useless OOM messageso Remove useless function entry/exit loggingo Convert some US_DEBUGP uses to dev_info and dev_dbgObject size is slightly reduced when debuggingis enabled, slightly increased with no debuggingbecause some initialization and removal messagesare now always emitted.Signed-off-by: Joe Perches &lt;joe@perches.com&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Fri, 19 Apr 2013 18:44:00 +0000</pubDate>
        <dc:creator>Joe Perches &lt;joe@perches.com&gt;</dc:creator>
    </item>
<item>
        <title>f61870ee - usb: remove libusual</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/storage/alauda.c#f61870ee</link>
        <description>usb: remove libusualThe &quot;Low Performance USB Block driver&quot; has been removed which a user oflibusual. Now we have only the usb-storage driver as the only driver intree. This makes libusual needless.This patch removes libusal, fixes up all users. The usual-table is nowlinked into usb-storage.usb_usual.h remains in public include directory because some stagingusers seem to need it.Signed-off-by: Sebastian Andrzej Siewior &lt;sebastian@breakpoint.cc&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/storage/alauda.c</description>
        <pubDate>Tue, 28 Aug 2012 20:37:13 +0000</pubDate>
        <dc:creator>Sebastian Andrzej Siewior &lt;sebastian@breakpoint.cc&gt;</dc:creator>
    </item>
</channel>
</rss>
