[mmotm:master 266/283] lib/lzo/lzo1x_compress.c:238:14: warning: 'm_pos' may be used uninitialized in this function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   git://git.cmpxchg.org/linux-mmotm.git master
head:   1b1ce5151f3dd9a5bc989207ac56e96dcb84bef4
commit: 26cf34ac1ec8a867ef0ed197bff4f8ce0d76777b [266/283] lib/lzo: implement run-length encoding
config: sh-allyesconfig (attached as .config)
compiler: sh4-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 26cf34ac1ec8a867ef0ed197bff4f8ce0d76777b
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=sh 

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   lib/lzo/lzo1x_compress.c: In function 'lzo1x_1_do_compress':
>> lib/lzo/lzo1x_compress.c:238:14: warning: 'm_pos' may be used uninitialized in this function [-Wmaybe-uninitialized]
      m_off = ip - m_pos;
              ~~~^~~~~~~

vim +/m_pos +238 lib/lzo/lzo1x_compress.c

64c70b1c Richard Purdie          2007-07-10   19  
64c70b1c Richard Purdie          2007-07-10   20  static noinline size_t
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   21  lzo1x_1_do_compress(const unsigned char *in, size_t in_len,
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   22  		    unsigned char *out, size_t *out_len,
26cf34ac Dave Rodgman            2018-11-29   23  		    size_t ti, void *wrkmem, signed char *state_offset)
64c70b1c Richard Purdie          2007-07-10   24  {
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   25  	const unsigned char *ip;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   26  	unsigned char *op;
64c70b1c Richard Purdie          2007-07-10   27  	const unsigned char * const in_end = in + in_len;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   28  	const unsigned char * const ip_end = in + in_len - 20;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   29  	const unsigned char *ii;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   30  	lzo_dict_t * const dict = (lzo_dict_t *) wrkmem;
64c70b1c Richard Purdie          2007-07-10   31  
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   32  	op = out;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   33  	ip = in;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   34  	ii = ip;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   35  	ip += ti < 4 ? 4 - ti : 0;
64c70b1c Richard Purdie          2007-07-10   36  
64c70b1c Richard Purdie          2007-07-10   37  	for (;;) {
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   38  		const unsigned char *m_pos;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   39  		size_t t, m_len, m_off;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   40  		u32 dv;
26cf34ac Dave Rodgman            2018-11-29   41  		u32 run_length = 0;
64c70b1c Richard Purdie          2007-07-10   42  literal:
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   43  		ip += 1 + ((ip - ii) >> 5);
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   44  next:
64c70b1c Richard Purdie          2007-07-10   45  		if (unlikely(ip >= ip_end))
64c70b1c Richard Purdie          2007-07-10   46  			break;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13   47  		dv = get_unaligned_le32(ip);
26cf34ac Dave Rodgman            2018-11-29   48  
26cf34ac Dave Rodgman            2018-11-29   49  		if (dv == 0) {
26cf34ac Dave Rodgman            2018-11-29   50  			const unsigned char *ir = ip + 4;
26cf34ac Dave Rodgman            2018-11-29   51  			const unsigned char *limit = ip_end
26cf34ac Dave Rodgman            2018-11-29   52  				< (ip + MAX_ZERO_RUN_LENGTH + 1)
26cf34ac Dave Rodgman            2018-11-29   53  				? ip_end : ip + MAX_ZERO_RUN_LENGTH + 1;
26cf34ac Dave Rodgman            2018-11-29   54  #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) && \
26cf34ac Dave Rodgman            2018-11-29   55  	defined(LZO_FAST_64BIT_MEMORY_ACCESS)
26cf34ac Dave Rodgman            2018-11-29   56  			u64 dv64;
26cf34ac Dave Rodgman            2018-11-29   57  
26cf34ac Dave Rodgman            2018-11-29   58  			for (; (ir + 32) <= limit; ir += 32) {
26cf34ac Dave Rodgman            2018-11-29   59  				dv64 = get_unaligned((u64 *)ir);
26cf34ac Dave Rodgman            2018-11-29   60  				dv64 |= get_unaligned((u64 *)ir + 1);
26cf34ac Dave Rodgman            2018-11-29   61  				dv64 |= get_unaligned((u64 *)ir + 2);
26cf34ac Dave Rodgman            2018-11-29   62  				dv64 |= get_unaligned((u64 *)ir + 3);
26cf34ac Dave Rodgman            2018-11-29   63  				if (dv64)
26cf34ac Dave Rodgman            2018-11-29   64  					break;
26cf34ac Dave Rodgman            2018-11-29   65  			}
26cf34ac Dave Rodgman            2018-11-29   66  			for (; (ir + 8) <= limit; ir += 8) {
26cf34ac Dave Rodgman            2018-11-29   67  				dv64 = get_unaligned((u64 *)ir);
26cf34ac Dave Rodgman            2018-11-29   68  				if (dv64) {
26cf34ac Dave Rodgman            2018-11-29   69  #  if defined(__LITTLE_ENDIAN)
26cf34ac Dave Rodgman            2018-11-29   70  					ir += __builtin_ctzll(dv64) >> 3;
26cf34ac Dave Rodgman            2018-11-29   71  #  elif defined(__BIG_ENDIAN)
26cf34ac Dave Rodgman            2018-11-29   72  					ir += __builtin_clzll(dv64) >> 3;
26cf34ac Dave Rodgman            2018-11-29   73  #  else
26cf34ac Dave Rodgman            2018-11-29   74  #    error "missing endian definition"
26cf34ac Dave Rodgman            2018-11-29   75  #  endif
26cf34ac Dave Rodgman            2018-11-29   76  					break;
26cf34ac Dave Rodgman            2018-11-29   77  				}
26cf34ac Dave Rodgman            2018-11-29   78  			}
26cf34ac Dave Rodgman            2018-11-29   79  #else
26cf34ac Dave Rodgman            2018-11-29   80  			while ((ir < (const unsigned char *)
26cf34ac Dave Rodgman            2018-11-29   81  					ALIGN((uintptr_t)ir, 4)) &&
26cf34ac Dave Rodgman            2018-11-29   82  					(ir < limit) && (*ir == 0))
26cf34ac Dave Rodgman            2018-11-29   83  				ir++;
26cf34ac Dave Rodgman            2018-11-29   84  			for (; (ir + 4) <= limit; ir += 4) {
26cf34ac Dave Rodgman            2018-11-29   85  				dv = *((u32 *)ir);
26cf34ac Dave Rodgman            2018-11-29   86  				if (dv) {
26cf34ac Dave Rodgman            2018-11-29   87  #  if defined(__LITTLE_ENDIAN)
26cf34ac Dave Rodgman            2018-11-29   88  					ir += __builtin_ctz(dv) >> 3;
26cf34ac Dave Rodgman            2018-11-29   89  #  elif defined(__BIG_ENDIAN)
26cf34ac Dave Rodgman            2018-11-29   90  					ir += __builtin_clz(dv) >> 3;
26cf34ac Dave Rodgman            2018-11-29   91  #  else
26cf34ac Dave Rodgman            2018-11-29   92  #    error "missing endian definition"
26cf34ac Dave Rodgman            2018-11-29   93  #  endif
26cf34ac Dave Rodgman            2018-11-29   94  					break;
26cf34ac Dave Rodgman            2018-11-29   95  				}
26cf34ac Dave Rodgman            2018-11-29   96  			}
26cf34ac Dave Rodgman            2018-11-29   97  #endif
26cf34ac Dave Rodgman            2018-11-29   98  			while (likely(ir < limit) && unlikely(*ir == 0))
26cf34ac Dave Rodgman            2018-11-29   99  				ir++;
26cf34ac Dave Rodgman            2018-11-29  100  			run_length = ir - ip;
26cf34ac Dave Rodgman            2018-11-29  101  			if (run_length > MAX_ZERO_RUN_LENGTH)
26cf34ac Dave Rodgman            2018-11-29  102  				run_length = MAX_ZERO_RUN_LENGTH;
26cf34ac Dave Rodgman            2018-11-29  103  		} else {
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  104  			t = ((dv * 0x1824429d) >> (32 - D_BITS)) & D_MASK;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  105  			m_pos = in + dict[t];
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  106  			dict[t] = (lzo_dict_t) (ip - in);
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  107  			if (unlikely(dv != get_unaligned_le32(m_pos)))
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  108  				goto literal;
26cf34ac Dave Rodgman            2018-11-29  109  		}
64c70b1c Richard Purdie          2007-07-10  110  
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  111  		ii -= ti;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  112  		ti = 0;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  113  		t = ip - ii;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  114  		if (t != 0) {
64c70b1c Richard Purdie          2007-07-10  115  			if (t <= 3) {
26cf34ac Dave Rodgman            2018-11-29  116  				op[*state_offset] |= t;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  117  				COPY4(op, ii);
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  118  				op += t;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  119  			} else if (t <= 16) {
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  120  				*op++ = (t - 3);
302e2c0e Matt Sealey             2018-11-29  121  				COPY16(op, ii);
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  122  				op += t;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  123  			} else {
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  124  				if (t <= 18) {
64c70b1c Richard Purdie          2007-07-10  125  					*op++ = (t - 3);
64c70b1c Richard Purdie          2007-07-10  126  				} else {
64c70b1c Richard Purdie          2007-07-10  127  					size_t tt = t - 18;
64c70b1c Richard Purdie          2007-07-10  128  					*op++ = 0;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  129  					while (unlikely(tt > 255)) {
64c70b1c Richard Purdie          2007-07-10  130  						tt -= 255;
64c70b1c Richard Purdie          2007-07-10  131  						*op++ = 0;
64c70b1c Richard Purdie          2007-07-10  132  					}
64c70b1c Richard Purdie          2007-07-10  133  					*op++ = tt;
64c70b1c Richard Purdie          2007-07-10  134  				}
64c70b1c Richard Purdie          2007-07-10  135  				do {
302e2c0e Matt Sealey             2018-11-29  136  					COPY16(op, ii);
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  137  					op += 16;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  138  					ii += 16;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  139  					t -= 16;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  140  				} while (t >= 16);
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  141  				if (t > 0) do {
64c70b1c Richard Purdie          2007-07-10  142  					*op++ = *ii++;
64c70b1c Richard Purdie          2007-07-10  143  				} while (--t > 0);
64c70b1c Richard Purdie          2007-07-10  144  			}
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  145  		}
64c70b1c Richard Purdie          2007-07-10  146  
26cf34ac Dave Rodgman            2018-11-29  147  		if (unlikely(run_length)) {
26cf34ac Dave Rodgman            2018-11-29  148  			ip += run_length;
26cf34ac Dave Rodgman            2018-11-29  149  			run_length -= MIN_ZERO_RUN_LENGTH;
26cf34ac Dave Rodgman            2018-11-29  150  			put_unaligned_le32((run_length << 21) | 0xfffc18
26cf34ac Dave Rodgman            2018-11-29  151  					   | (run_length & 0x7), op);
26cf34ac Dave Rodgman            2018-11-29  152  			op += 4;
26cf34ac Dave Rodgman            2018-11-29  153  			run_length = 0;
26cf34ac Dave Rodgman            2018-11-29  154  			*state_offset = -3;
26cf34ac Dave Rodgman            2018-11-29  155  			goto finished_writing_instruction;
26cf34ac Dave Rodgman            2018-11-29  156  		}
26cf34ac Dave Rodgman            2018-11-29  157  
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  158  		m_len = 4;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  159  		{
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  160  #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) && defined(LZO_USE_CTZ64)
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  161  		u64 v;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  162  		v = get_unaligned((const u64 *) (ip + m_len)) ^
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  163  		    get_unaligned((const u64 *) (m_pos + m_len));
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  164  		if (unlikely(v == 0)) {
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  165  			do {
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  166  				m_len += 8;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  167  				v = get_unaligned((const u64 *) (ip + m_len)) ^
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  168  				    get_unaligned((const u64 *) (m_pos + m_len));
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  169  				if (unlikely(ip + m_len >= ip_end))
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  170  					goto m_len_done;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  171  			} while (v == 0);
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  172  		}
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  173  #  if defined(__LITTLE_ENDIAN)
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  174  		m_len += (unsigned) __builtin_ctzll(v) / 8;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  175  #  elif defined(__BIG_ENDIAN)
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  176  		m_len += (unsigned) __builtin_clzll(v) / 8;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  177  #  else
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  178  #    error "missing endian definition"
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  179  #  endif
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  180  #elif defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) && defined(LZO_USE_CTZ32)
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  181  		u32 v;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  182  		v = get_unaligned((const u32 *) (ip + m_len)) ^
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  183  		    get_unaligned((const u32 *) (m_pos + m_len));
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  184  		if (unlikely(v == 0)) {
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  185  			do {
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  186  				m_len += 4;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  187  				v = get_unaligned((const u32 *) (ip + m_len)) ^
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  188  				    get_unaligned((const u32 *) (m_pos + m_len));
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  189  				if (v != 0)
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  190  					break;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  191  				m_len += 4;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  192  				v = get_unaligned((const u32 *) (ip + m_len)) ^
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  193  				    get_unaligned((const u32 *) (m_pos + m_len));
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  194  				if (unlikely(ip + m_len >= ip_end))
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  195  					goto m_len_done;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  196  			} while (v == 0);
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  197  		}
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  198  #  if defined(__LITTLE_ENDIAN)
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  199  		m_len += (unsigned) __builtin_ctz(v) / 8;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  200  #  elif defined(__BIG_ENDIAN)
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  201  		m_len += (unsigned) __builtin_clz(v) / 8;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  202  #  else
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  203  #    error "missing endian definition"
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  204  #  endif
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  205  #else
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  206  		if (unlikely(ip[m_len] == m_pos[m_len])) {
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  207  			do {
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  208  				m_len += 1;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  209  				if (ip[m_len] != m_pos[m_len])
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  210  					break;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  211  				m_len += 1;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  212  				if (ip[m_len] != m_pos[m_len])
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  213  					break;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  214  				m_len += 1;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  215  				if (ip[m_len] != m_pos[m_len])
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  216  					break;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  217  				m_len += 1;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  218  				if (ip[m_len] != m_pos[m_len])
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  219  					break;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  220  				m_len += 1;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  221  				if (ip[m_len] != m_pos[m_len])
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  222  					break;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  223  				m_len += 1;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  224  				if (ip[m_len] != m_pos[m_len])
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  225  					break;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  226  				m_len += 1;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  227  				if (ip[m_len] != m_pos[m_len])
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  228  					break;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  229  				m_len += 1;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  230  				if (unlikely(ip + m_len >= ip_end))
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  231  					goto m_len_done;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  232  			} while (ip[m_len] == m_pos[m_len]);
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  233  		}
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  234  #endif
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  235  		}
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  236  m_len_done:
64c70b1c Richard Purdie          2007-07-10  237  
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13 @238  		m_off = ip - m_pos;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  239  		ip += m_len;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  240  		if (m_len <= M2_MAX_LEN && m_off <= M2_MAX_OFFSET) {
64c70b1c Richard Purdie          2007-07-10  241  			m_off -= 1;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  242  			*op++ = (((m_len - 1) << 5) | ((m_off & 7) << 2));
64c70b1c Richard Purdie          2007-07-10  243  			*op++ = (m_off >> 3);
64c70b1c Richard Purdie          2007-07-10  244  		} else if (m_off <= M3_MAX_OFFSET) {
64c70b1c Richard Purdie          2007-07-10  245  			m_off -= 1;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  246  			if (m_len <= M3_MAX_LEN)
64c70b1c Richard Purdie          2007-07-10  247  				*op++ = (M3_MARKER | (m_len - 2));
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  248  			else {
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  249  				m_len -= M3_MAX_LEN;
64c70b1c Richard Purdie          2007-07-10  250  				*op++ = M3_MARKER | 0;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  251  				while (unlikely(m_len > 255)) {
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  252  					m_len -= 255;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  253  					*op++ = 0;
64c70b1c Richard Purdie          2007-07-10  254  				}
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  255  				*op++ = (m_len);
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  256  			}
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  257  			*op++ = (m_off << 2);
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  258  			*op++ = (m_off >> 6);
64c70b1c Richard Purdie          2007-07-10  259  		} else {
64c70b1c Richard Purdie          2007-07-10  260  			m_off -= 0x4000;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  261  			if (m_len <= M4_MAX_LEN)
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  262  				*op++ = (M4_MARKER | ((m_off >> 11) & 8)
64c70b1c Richard Purdie          2007-07-10  263  						| (m_len - 2));
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  264  			else {
64c70b1c Richard Purdie          2007-07-10  265  				m_len -= M4_MAX_LEN;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  266  				*op++ = (M4_MARKER | ((m_off >> 11) & 8));
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  267  				while (unlikely(m_len > 255)) {
64c70b1c Richard Purdie          2007-07-10  268  					m_len -= 255;
64c70b1c Richard Purdie          2007-07-10  269  					*op++ = 0;
64c70b1c Richard Purdie          2007-07-10  270  				}
64c70b1c Richard Purdie          2007-07-10  271  				*op++ = (m_len);
64c70b1c Richard Purdie          2007-07-10  272  			}
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  273  			*op++ = (m_off << 2);
64c70b1c Richard Purdie          2007-07-10  274  			*op++ = (m_off >> 6);
64c70b1c Richard Purdie          2007-07-10  275  		}
26cf34ac Dave Rodgman            2018-11-29  276  		*state_offset = -2;
26cf34ac Dave Rodgman            2018-11-29  277  finished_writing_instruction:
26cf34ac Dave Rodgman            2018-11-29  278  		ii = ip;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  279  		goto next;
64c70b1c Richard Purdie          2007-07-10  280  	}
64c70b1c Richard Purdie          2007-07-10  281  	*out_len = op - out;
8b975bd3 Markus F.X.J. Oberhumer 2012-08-13  282  	return in_end - (ii - ti);
64c70b1c Richard Purdie          2007-07-10  283  }
64c70b1c Richard Purdie          2007-07-10  284  

:::::: The code at line 238 was first introduced by commit
:::::: 8b975bd3f9089f8ee5d7bbfd798537b992bbc7e7 lib/lzo: Update LZO compression to current upstream version

:::::: TO: Markus F.X.J. Oberhumer <markus@xxxxxxxxxxxxx>
:::::: CC: Markus F.X.J. Oberhumer <markus@xxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux